org.semanticweb.HermiT
Class EntailmentChecker.AnonymousIndividualForestBuilder
java.lang.Object
org.semanticweb.HermiT.EntailmentChecker.AnonymousIndividualForestBuilder
- All Implemented Interfaces:
- org.semanticweb.owlapi.model.OWLAnnotationAxiomVisitor, org.semanticweb.owlapi.model.OWLAxiomVisitor
- Enclosing class:
- EntailmentChecker
protected class EntailmentChecker.AnonymousIndividualForestBuilder
- extends java.lang.Object
- implements org.semanticweb.owlapi.model.OWLAxiomVisitor
Field Summary |
protected java.util.Set<org.semanticweb.owlapi.model.OWLAxiom> |
anonIndAxioms
|
protected java.util.Set<org.semanticweb.owlapi.model.OWLAxiom> |
anonNoNamedIndAxioms
|
protected java.util.Map<EntailmentChecker.Edge,org.semanticweb.owlapi.model.OWLObjectProperty> |
edgeOPLabels
|
protected java.util.Map<org.semanticweb.owlapi.model.OWLAnonymousIndividual,java.util.Set<org.semanticweb.owlapi.model.OWLAnonymousIndividual>> |
edges
|
protected java.util.Set<org.semanticweb.owlapi.model.OWLNamedIndividual> |
namedNodes
|
protected java.util.Map<org.semanticweb.owlapi.model.OWLAnonymousIndividual,java.util.Set<org.semanticweb.owlapi.model.OWLClassExpression>> |
nodelLabels
|
protected java.util.Set<org.semanticweb.owlapi.model.OWLAnonymousIndividual> |
nodes
|
protected java.util.Map<org.semanticweb.owlapi.model.OWLAnonymousIndividual,java.util.Map<org.semanticweb.owlapi.model.OWLNamedIndividual,java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression>>> |
specialOPEdges
|
Method Summary |
void |
constructConceptsForAnonymousIndividuals(org.semanticweb.owlapi.model.OWLDataFactory factory,
java.util.Set<org.semanticweb.owlapi.model.OWLAxiom> axioms)
|
protected java.util.Map<java.util.Set<org.semanticweb.owlapi.model.OWLAnonymousIndividual>,org.semanticweb.owlapi.model.OWLAnonymousIndividual> |
findSuitableRoots(java.util.Set<java.util.Set<org.semanticweb.owlapi.model.OWLAnonymousIndividual>> components)
|
java.util.Set<org.semanticweb.owlapi.model.OWLAxiom> |
getAnonIndAxioms()
After calling constructConceptsForAnonymousIndividuals(), the method return a set of assertions that have to be entailed in order to satisfy the axioms that contain anonymous individuals. |
java.util.Set<org.semanticweb.owlapi.model.OWLAxiom> |
getAnonNoNamedIndAxioms()
After calling constructConceptsForAnonymousIndividuals(), the method return a set of subclass axioms that, when added to the premise ontology should result in an inconsistency for the entailment to hold. |
protected org.semanticweb.owlapi.model.OWLClassExpression |
getClassExpressionFor(org.semanticweb.owlapi.model.OWLDataFactory factory,
org.semanticweb.owlapi.model.OWLAnonymousIndividual node,
org.semanticweb.owlapi.model.OWLAnonymousIndividual predecessor)
|
protected java.util.Set<java.util.Set<org.semanticweb.owlapi.model.OWLAnonymousIndividual>> |
getComponents()
|
void |
visit(org.semanticweb.owlapi.model.OWLAnnotationAssertionAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLAnnotationPropertyDomainAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLAnnotationPropertyRangeAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLAsymmetricObjectPropertyAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLClassAssertionAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLDataPropertyAssertionAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLDataPropertyDomainAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLDataPropertyRangeAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLDatatypeDefinitionAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLDeclarationAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLDifferentIndividualsAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLDisjointClassesAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLDisjointDataPropertiesAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLDisjointObjectPropertiesAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLDisjointUnionAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLEquivalentClassesAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLEquivalentDataPropertiesAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLEquivalentObjectPropertiesAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLFunctionalDataPropertyAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLFunctionalObjectPropertyAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLHasKeyAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLInverseFunctionalObjectPropertyAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLInverseObjectPropertiesAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLIrreflexiveObjectPropertyAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLNegativeDataPropertyAssertionAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLNegativeObjectPropertyAssertionAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLObjectPropertyAssertionAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLObjectPropertyDomainAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLObjectPropertyRangeAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLReflexiveObjectPropertyAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLSameIndividualAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLSubAnnotationPropertyOfAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLSubClassOfAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLSubDataPropertyOfAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLSubObjectPropertyOfAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLSubPropertyChainOfAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLSymmetricObjectPropertyAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.OWLTransitiveObjectPropertyAxiom axiom)
|
void |
visit(org.semanticweb.owlapi.model.SWRLRule rule)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
namedNodes
protected final java.util.Set<org.semanticweb.owlapi.model.OWLNamedIndividual> namedNodes
nodes
protected final java.util.Set<org.semanticweb.owlapi.model.OWLAnonymousIndividual> nodes
edges
protected final java.util.Map<org.semanticweb.owlapi.model.OWLAnonymousIndividual,java.util.Set<org.semanticweb.owlapi.model.OWLAnonymousIndividual>> edges
specialOPEdges
protected final java.util.Map<org.semanticweb.owlapi.model.OWLAnonymousIndividual,java.util.Map<org.semanticweb.owlapi.model.OWLNamedIndividual,java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression>>> specialOPEdges
nodelLabels
protected final java.util.Map<org.semanticweb.owlapi.model.OWLAnonymousIndividual,java.util.Set<org.semanticweb.owlapi.model.OWLClassExpression>> nodelLabels
edgeOPLabels
protected final java.util.Map<EntailmentChecker.Edge,org.semanticweb.owlapi.model.OWLObjectProperty> edgeOPLabels
anonIndAxioms
protected final java.util.Set<org.semanticweb.owlapi.model.OWLAxiom> anonIndAxioms
anonNoNamedIndAxioms
protected final java.util.Set<org.semanticweb.owlapi.model.OWLAxiom> anonNoNamedIndAxioms
EntailmentChecker.AnonymousIndividualForestBuilder
protected EntailmentChecker.AnonymousIndividualForestBuilder()
constructConceptsForAnonymousIndividuals
public void constructConceptsForAnonymousIndividuals(org.semanticweb.owlapi.model.OWLDataFactory factory,
java.util.Set<org.semanticweb.owlapi.model.OWLAxiom> axioms)
- Parameters:
factory
- The data factory to be used when creating new concepts in the elimination of anonymous individuals.axioms
- The axioms from the conclusion ontology. After executing this method, the axioms that contain anonymous individuals can be discarded. Instead the methods getAssertions() and getConcepts() can be used to check entailment of the conclusion ontology.
getAnonIndAxioms
public java.util.Set<org.semanticweb.owlapi.model.OWLAxiom> getAnonIndAxioms()
- After calling constructConceptsForAnonymousIndividuals(), the method return a set of assertions that have to be entailed in order to satisfy the axioms that contain anonymous individuals. E.g., if the conclusion ontology contains axioms ObjectPropertyAssertion(:r :fred _:x), ObjectPropertyAssertion(:r _:x _:y), we get the assertion ClassAssertion(:fred ObjectSomeValuesFrom(:r ObjectSomeValuesFrom(:r owl:Thing))).
- Returns:
- a set of assertions without anonymous individuals that have to be entailed by the premise ontology
getAnonNoNamedIndAxioms
public java.util.Set<org.semanticweb.owlapi.model.OWLAxiom> getAnonNoNamedIndAxioms()
- After calling constructConceptsForAnonymousIndividuals(), the method return a set of subclass axioms that, when added to the premise ontology should result in an inconsistency for the entailment to hold. E.g., if the conclusion ontology contains axiom ObjectPropertyAssertion(:r _:x _:y), we get the axiom SubClassOf(owl:Thing ObjectAllValuesFrom(:r owl:Nothing)) and if the premise ontology plus this axioms is inconsistent, then the entailment holds since each model of the premise contains some element that is an r-successor of something.
- Returns:
- a set of axioms without anonymous individuals that have make the premise ontology inconsistent for the entailment to hold
getClassExpressionFor
protected org.semanticweb.owlapi.model.OWLClassExpression getClassExpressionFor(org.semanticweb.owlapi.model.OWLDataFactory factory,
org.semanticweb.owlapi.model.OWLAnonymousIndividual node,
org.semanticweb.owlapi.model.OWLAnonymousIndividual predecessor)
findSuitableRoots
protected java.util.Map<java.util.Set<org.semanticweb.owlapi.model.OWLAnonymousIndividual>,org.semanticweb.owlapi.model.OWLAnonymousIndividual> findSuitableRoots(java.util.Set<java.util.Set<org.semanticweb.owlapi.model.OWLAnonymousIndividual>> components)
getComponents
protected java.util.Set<java.util.Set<org.semanticweb.owlapi.model.OWLAnonymousIndividual>> getComponents()
visit
public void visit(org.semanticweb.owlapi.model.OWLClassAssertionAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLObjectPropertyAssertionAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLDataPropertyAssertionAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLDeclarationAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLSubClassOfAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLNegativeObjectPropertyAssertionAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLAsymmetricObjectPropertyAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLReflexiveObjectPropertyAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLDisjointClassesAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLDataPropertyDomainAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLObjectPropertyDomainAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLEquivalentObjectPropertiesAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLNegativeDataPropertyAssertionAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLDifferentIndividualsAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLDisjointDataPropertiesAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLDisjointObjectPropertiesAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLObjectPropertyRangeAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLFunctionalObjectPropertyAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLSubObjectPropertyOfAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLDisjointUnionAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLSymmetricObjectPropertyAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLDataPropertyRangeAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLFunctionalDataPropertyAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLEquivalentDataPropertiesAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLEquivalentClassesAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLTransitiveObjectPropertyAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLIrreflexiveObjectPropertyAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLSubDataPropertyOfAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLInverseFunctionalObjectPropertyAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLSameIndividualAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLSubPropertyChainOfAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLInverseObjectPropertiesAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLHasKeyAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLDatatypeDefinitionAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.SWRLRule rule)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLAnnotationAssertionAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAnnotationAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLSubAnnotationPropertyOfAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAnnotationAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLAnnotationPropertyDomainAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAnnotationAxiomVisitor
visit
public void visit(org.semanticweb.owlapi.model.OWLAnnotationPropertyRangeAxiom axiom)
- Specified by:
visit
in interface org.semanticweb.owlapi.model.OWLAnnotationAxiomVisitor