public void addAllChildSynonyms(String[] synonyms) { for (String synonym : synonyms) { addChildSynonym(synonym); } }
public void addAllParentSynonyms(Collection<String> synonyms) { for (String synonym : synonyms) { addParentSynonym(synonym); } }
private OntologyDocument createParentChildRelationship(String id, String name, Set<String> childSynonyms, String parentId, String parentName, Set<String> parentSynonyms, String relationshipType, boolean cyclicRelationship) { final OntologyDocument ontologyDocument = new OntologyDocument(ontology, parentId, parentName, id, name, relationshipType, cyclicRelationship); ontologyDocument.addAllChildSynonyms(childSynonyms); ontologyDocument.addAllParentSynonyms(parentSynonyms); return ontologyDocument; }
private List<OntologyTerm> processChildrenHits(OntologyHits ontologyHits, String id) throws IOException { List<OntologyTerm> terms = new ArrayList<OntologyTerm>(); List<String> processedIds = new ArrayList<String>(); processedIds.add(id); for (int i=0; i<ontologyHits.length(); i++) { final OntologyDocument document = ontologyHits.doc(i); if (document.getChildId() != null && !processedIds.contains(document.getChildId())) { terms.add(newInternalOntologyTerm(searcher, document.getChildId(), document.getChildName(), document.getChildSynonyms())); processedIds.add(document.getParentId()); } } return terms; }
private List<OntologyTerm> processParentsHits(OntologyHits ontologyHits, String id) throws IOException { List<OntologyTerm> terms = new ArrayList<OntologyTerm>(); List<String> processedIds = new ArrayList<String>(); processedIds.add(id); for (int i=0; i<ontologyHits.length(); i++) { final OntologyDocument document = ontologyHits.doc(i); if (document.getParentId() != null && !processedIds.contains(document.getParentId())) { terms.add(newInternalOntologyTerm(searcher, document.getParentId(), document.getParentName(), document.getParentSynonyms())); processedIds.add(document.getParentId()); } } return terms; }
public LazyLoadedOntologyTerm(OntologyIndexSearcher searcher, String id) { this.searcher = searcher; this.id = id; try { final OntologyHits ontologyHits = searcher.searchByParentId(id); if (ontologyHits.length() > 0) { final OntologyDocument document = ontologyHits.doc(0); this.name = document.getParentName(); this.parentSynonyms = document.getParentSynonyms(); } } catch (IOException e) { throw new IllegalArgumentException("Problem loading name for term: "+id, e); } }
public OntologyHits searchByParentName(String parentName, Sort sort) throws IOException { return new OntologyHits(search(new TermQuery(new Term(FieldName.PARENT_NAME, parentName)), sort)); } }
public OntologyHits searchByChildName(String childName) throws IOException { return searchByChildName(childName, null); }
public OntologyHits searchByParentId(String parentId) throws IOException { return searchByParentId(parentId, null); }
public OntologyHits searchByParentName(String parentName) throws IOException { return searchByParentName(parentName, null); }
public OntologyHits searchByChildId(String childId) throws IOException { return searchByChildId(childId, null); }
public Object getObject() throws Exception { return new OntologyMapping(name, resource.getURL()); }
public OntologyHits searchByChildName(String childName, Sort sort) throws IOException { return new OntologyHits(search(new TermQuery(new Term(FieldName.CHILDREN_NAME, childName)), sort)); }
public void addAllChildSynonyms(Collection<String> synonyms) { for (String synonym : synonyms) { addChildSynonym(synonym); } }
public void addAllParentSynonyms(String[] synonyms) { for (String synonym : synonyms) { addParentSynonym(synonym); } }
public OntologyHits searchByParentId(String parentId, Sort sort) throws IOException { return new OntologyHits(search(new TermQuery(new Term(FieldName.PARENT_ID, parentId)), sort)); }
public OntologyHits searchByChildId(String childId, Sort sort) throws IOException { return new OntologyHits(search(new TermQuery(new Term(FieldName.CHILDREN_ID, childId)), sort)); }
private OntologyHits searchQuery(String idFieldName, boolean includeCyclic) throws IOException { BooleanQuery query = new BooleanQuery(); query.add(new TermQuery(new Term(idFieldName, id)), BooleanClause.Occur.MUST); query.add(new TermQuery(new Term(FieldName.RELATIONSHIP_CYCLIC, String.valueOf(includeCyclic))), BooleanClause.Occur.MUST); query.add(new TermQuery(new Term(FieldName.RELATIONSHIP_TYPE, "OBO_REL:is_a")), BooleanClause.Occur.MUST); if (!includeCyclic) { query.add(new TermQuery(new Term(FieldName.RELATIONSHIP_TYPE, "disjoint_from")), BooleanClause.Occur.MUST_NOT); } final Hits hits = searcher.search(query, new Sort(FieldName.CHILDREN_NAME_SORTABLE)); final OntologyHits ontologyHits = new OntologyHits(hits); return ontologyHits; }