private List<Thing> processDescription(CSVEntry csvEntry) { if (alreadyExistingElements.containsKey(csvEntry.getDescription())) { return Collections.emptyList(); } Thing parent = getParent(csvEntry); Thing entity = new Entity(parent, csvEntry.getDescription(), csvEntry.getAnnotations()); alreadyExistingElements.put(csvEntry.getDescription(), entity); return Collections.singletonList(entity); }
private List<Thing> handleElementOfPreposition(String key, CSVEntry csvEntry) { if (alreadyExistingElements.containsKey(key)) { return Collections.emptyList(); } Thing possibleParent = getParentFromIndividualWords(key); Thing entity = new Entity(possibleParent, key, csvEntry.getAnnotations()); alreadyExistingElements.put(key, entity); return Collections.singletonList(entity); }
private List<Thing> processAnnotations(CSVEntry csvEntry) { List<Thing> newAnnotations = new ArrayList<>(); for (String annotation : csvEntry.getAnnotations()) { if (alreadyExistingElements.containsKey(getAnnotationName(annotation))) { continue; } Thing newAnnotation = new Annotation(annotationEntity, annotation); newAnnotations.add(newAnnotation); alreadyExistingElements.put(getAnnotationName(annotation), newAnnotation); } return newAnnotations; }
private List<Thing> processIndividualWords(String descriptions, CSVEntry csvEntry) { List<Thing> lineEntities = new ArrayList<>(); String lastWord = getLastWord(descriptions); if (!isPreposition(lastWord)) { if (!alreadyExistingElements.containsKey(lastWord)) { final Entity entity = new Entity(classesEntity, lastWord, getMatchingAnnotations(lastWord, csvEntry)); lineEntities.add(entity); alreadyExistingElements.put(lastWord, entity); } } return lineEntities; }
private List<Thing> processSpecialCases(CSVEntry csvEntry) { Thing parent = getParentFromPreposition(csvEntry); Thing subClasses = new Entity(parent, csvEntry.getDescription(), csvEntry.getAnnotations()); alreadyExistingElements.put(csvEntry.getDescription(), subClasses); return Arrays.asList(parent, subClasses); }