@Override public void run(Reasoner hermit,StatusOutput status,PrintWriter output,boolean ignoreOntologyPrefixes) { status.log(2,"Finding equivalents of '"+conceptName+"'"); Prefixes prefixes=hermit.getPrefixes(); String conceptUri=prefixes.canBeExpanded(conceptName) ? prefixes.expandAbbreviatedIRI(conceptName) : conceptName; if (conceptUri.startsWith("<") && conceptUri.endsWith(">")) conceptUri=conceptUri.substring(1,conceptUri.length()-1); OWLClass owlClass=OWLManager.createOWLOntologyManager().getOWLDataFactory().getOWLClass(IRI.create(conceptUri)); if (!hermit.isDefined(owlClass)) { status.log(0,"Warning: class '"+conceptName+"' was not declared in the ontology."); } Node<OWLClass> classes=hermit.getEquivalentClasses(owlClass); if (ignoreOntologyPrefixes) output.println("Classes equivalent to '"+conceptName+"':"); else output.println("Classes equivalent to '"+prefixes.abbreviateIRI(conceptName)+"':"); for (OWLClass classInSet : classes) if (ignoreOntologyPrefixes) { String iri=classInSet.getIRI().toString(); if (prefixes.canBeExpanded(iri)) output.println("\t"+prefixes.expandAbbreviatedIRI(iri)); else output.println("\t"+iri); } else output.println("\t"+prefixes.abbreviateIRI(classInSet.getIRI().toString())); output.flush(); } }
Node<OWLClass> equivalentToComplement=getEquivalentClasses(classExpression.getObjectComplementOf()); NodeSet<OWLClass> subsDisjoint=getSubClasses(classExpression.getObjectComplementOf(),false); Set<Node<OWLClass>> result=new HashSet<Node<OWLClass>>();
Node<OWLClass> equivalentToComplement=getEquivalentClasses(classExpression.getObjectComplementOf()); NodeSet<OWLClass> subsDisjoint=getSubClasses(classExpression.getObjectComplementOf(),false); Set<Node<OWLClass>> result=new HashSet<>();
return true; if (!isDefined(namedIndividual)) return getEquivalentClasses(type).contains(df.getOWLThing()); else { if (type instanceof OWLClass) {
public boolean hasType(OWLNamedIndividual namedIndividual,OWLClassExpression type,boolean direct) { checkPreConditions(namedIndividual,type); if (!m_isConsistent) return true; if (!isDefined(namedIndividual)) return getEquivalentClasses(type).contains(m_rootOntology.getOWLOntologyManager().getOWLDataFactory().getOWLThing()); else { if (type instanceof OWLClass) { if (direct) classifyClasses(); initialiseClassInstanceManager(); if (direct) m_instanceManager.setToClassifiedConceptHierarchy(m_atomicConceptHierarchy); return m_instanceManager.hasType(H(namedIndividual),H((OWLClass)type),direct); } else { OWLDataFactory factory=getDataFactory(); OWLAxiom negatedAssertionAxiom=factory.getOWLClassAssertionAxiom(type.getObjectComplementOf(),namedIndividual); Tableau tableau=getTableau(negatedAssertionAxiom); boolean result=tableau.isSatisfiable(true,true,null,null,null,null,null,ReasoningTaskDescription.isInstanceOf(namedIndividual,type)); tableau.clearAdditionalDLOntology(); return !result; } } } public NodeSet<OWLNamedIndividual> getInstances(OWLClassExpression classExpression,boolean direct) {