private List<String> getMatchingAnnotations(String name, CSVEntry csvEntry) { for (String annotation : csvEntry.getAnnotations()) { if (annotation.equals(name)) { return Collections.singletonList(name); } } return csvEntry.getAnnotations(); }
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 Thing getParentFromPreposition(CSVEntry csvEntry) { if ("text".equals(csvEntry.getNature())) { return new Entity("text"); } else { return new Entity(classesEntity, "ideograph", Collections.emptyList()); } }
private List<Thing> processCompoundWords(CSVEntry csvEntry) { String description = csvEntry.getDescription(); if (hasPreposition(description)) { return handlePrepositions(csvEntry); } else { return processIndividualWords(description, csvEntry); } }
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> 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); }
private boolean descriptionNeedsSpecialHandling(CSVEntry nature) { return "text".equals(nature.getNature()) || nature.getDescription().contains("ideograph"); }
private Thing getParent(CSVEntry csvEntry) { if (hasPreposition(csvEntry.getDescription())) { return getParentFromPreposition(getLeftHandSideOfPreposition()); } return getParentUsingFullDescription(csvEntry.getDescription()); }