@Override public List<OWLClassExpression> getRenderablesForItem(OWLClass subject, OWLEquivalentClassesAxiom item, OWLOntology ontology) { return new ArrayList<>(item.getClassExpressionsMinus(subject)); } }
public static OWLClassExpression parseConcept(String string) throws ParseException { // when just parsing the string as concept, we have no guarantee // that the parser uses all symbols, e.g. a AND b returns just a // because the brackets were forgotten; // so instead we create an equivalent class axiom and return its // right hand side String eq = "tmp = " + string + "."; KBParser parser = new KBParser(new StringReader(eq)); OWLEquivalentClassesAxiom eqAxiom = parser.TBoxEquiv(); return eqAxiom.getClassExpressionsMinus(df.getOWLClass(IRI.create(internalNamespace + "tmp"))).iterator().next(); }
@Override public void visit(OWLEquivalentClassesAxiom axiom) { // tested for memory release[x] if (axiom.namedClasses().collect(Collectors.toSet()).size() != 1) { createEquivalentClass(axiom); return; } OWLClass referencedClass = axiom.namedClasses().collect(Collectors.toSet()).iterator().next(); Set<OWLClassExpression> expressionsWithoutRefClass = axiom.getClassExpressionsMinus(referencedClass); for (OWLClassExpression anonymExpressions : expressionsWithoutRefClass) { anonymExpressions.accept(new OwlClassAxiomVisitor(vowlData, referencedClass)); } } private void createEquivalentClass(OWLEquivalentClassesAxiom axiom) {
@Override public Collection<OWLClass> getParents(OWLClass child) { Collection<OWLClass> result = new HashSet<>(); for (OWLOntology ont : getRootOntology().getImportsClosure()) { Stream.concat( ont.getSubClassAxiomsForSubClass(child).stream().map(OWLSubClassOfAxiom::getSuperClass), ont.getEquivalentClassesAxioms(child).stream().flatMap(ax -> ax.getClassExpressionsMinus(child).stream()) ).forEach(ce -> { if (!ce.isAnonymous()) { result.add(ce.asOWLClass()); } else if (ce instanceof OWLObjectIntersectionOf) { OWLObjectIntersectionOf intersectionOf = (OWLObjectIntersectionOf) ce; for (OWLClassExpression conjunct : intersectionOf.asConjunctSet()) { if (!conjunct.isAnonymous()) { result.add(conjunct.asOWLClass()); } } } }); } return result; }
@Nonnull public OBOTermCrossProduct getCrossProduct(@Nonnull OWLClass term) { Optional<OWLEquivalentClassesAxiom> axiom = getCrossProductEquivalentClassesAxiom(term); if (!axiom.isPresent()) { return OBOTermCrossProduct.emptyOBOTermCrossProduct(); } Set<OWLObjectSomeValuesFrom> relationships = new HashSet<>(); Optional<OWLClass> genus = Optional.empty(); for (OWLClassExpression operand : axiom.get().getClassExpressionsMinus(term)) { Set<OWLClassExpression> conjuncts = operand.asConjunctSet(); for (OWLClassExpression conjunct : conjuncts) { if (conjunct instanceof OWLObjectSomeValuesFrom) { OWLObjectSomeValuesFrom svf = (OWLObjectSomeValuesFrom) conjunct; if (!svf.getProperty().isAnonymous() && !svf.getFiller().isAnonymous()) { relationships.add((OWLObjectSomeValuesFrom) conjunct); } } else if (conjunct instanceof OWLClass) { genus = Optional.of((OWLClass) conjunct); } } } Optional<OWLClassData> visualCls = genus.map(renderingManager::getClassData); Set<OBORelationship> discriminatingRelationships = relationships.stream() .map(relationshipConverter::toOboRelationship) .collect(toSet()); return new OBOTermCrossProduct(visualCls, new OBOTermRelationships(discriminatingRelationships)); }
Set<OWLEquivalentClassesAxiom> candidates = new TreeSet<>(); for (OWLEquivalentClassesAxiom axiom : rootOntology.getEquivalentClassesAxioms(cls)) { Set<OWLClassExpression> equivalentClasses = axiom.getClassExpressionsMinus(cls); int namedCount = 0; int someValuesFromCount = 0;
private void createEquivalentClass(OWLEquivalentClassesAxiom axiom) { AbstractClass topClass = vowlData.getClassForIri(owlClass.getIRI()); for (OWLClassExpression owlClassExpression : axiom.getClassExpressionsMinus(owlClass)) { topClass.addEquivalentElement(owlClassExpression.asOWLClass().getIRI()); } topClass.addAttribute(VowlAttribute.EQUIVALENT); topClass=null; }
OWLClass c = (OWLClass) x; for (OWLClassExpression y : ax.getClassExpressionsMinus(c)) {
for (OWLClassExpression ce : ax.getClassExpressionsMinus(child)) { if (!ce.isAnonymous()) { result.add(ce.asOWLClass());
for (OWLClassExpression ce : ax.getClassExpressionsMinus(child)) { if (!ce.isAnonymous()) { result.add(ce.asOWLClass());
for (OWLClassExpression ce : ax.getClassExpressionsMinus(child)) { if (!ce.isAnonymous()) { result.add(ce.asOWLClass());
for (OWLClassExpression ce : ax.getClassExpressionsMinus(child)) { if (!ce.isAnonymous()) { result.add(ce.asOWLClass());
for (OWLClassExpression ce : ax.getClassExpressionsMinus(child)) { if (!ce.isAnonymous()) { result.add(ce.asOWLClass());
for (OWLClassExpression ce : ax.getClassExpressionsMinus(child)) { if (!ce.isAnonymous()) { result.add(ce.asOWLClass());
for (OWLClassExpression ce : ax.getClassExpressionsMinus(child)) { if (!ce.isAnonymous()) { result.add(ce.asOWLClass());
ax -> ((OWLEquivalentClassesAxiom) ax).classExpressions() .count() == 2).forEach(ax -> { ax.getClassExpressionsMinus(cls).forEach(c -> equivalentClasses.put(c, ax)); axioms.add(ax); });
ax -> ((OWLEquivalentClassesAxiom) ax).classExpressions() .count() == 2).forEach(ax -> { ax.getClassExpressionsMinus(cls).forEach(c -> equivalentClasses.put(c, ax)); axioms.add(ax); });
ax -> ((OWLEquivalentClassesAxiom) ax).classExpressions() .count() == 2).forEach(ax -> { ax.getClassExpressionsMinus(cls).forEach(c -> equivalentClasses.put(c, ax)); axioms.add(ax); });
ax -> ((OWLEquivalentClassesAxiom) ax).classExpressions() .count() == 2).forEach(ax -> { ax.getClassExpressionsMinus(cls).forEach(c -> equivalentClasses.put(c, ax)); axioms.add(ax); });
if (isDisplayed(ax)) { for (OWLClassExpression equivCls : ax .getClassExpressionsMinus(cls)) { equivalentClasses.add(equivCls, ax);