org.semanticweb.HermiT
Class EntailmentChecker

java.lang.Object
  extended by org.semanticweb.HermiT.EntailmentChecker
All Implemented Interfaces:
org.semanticweb.owlapi.model.OWLAnnotationAxiomVisitorEx<java.lang.Boolean>, org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

public class EntailmentChecker
extends java.lang.Object
implements org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>


Nested Class Summary
protected  class EntailmentChecker.AnonymousIndividualForestBuilder
           
protected  class EntailmentChecker.Edge
           
 
Field Summary
protected  java.util.Set<org.semanticweb.owlapi.model.OWLAxiom> anonymousIndividualAxioms
           
 
Constructor Summary
EntailmentChecker(Reasoner reasoner, org.semanticweb.owlapi.model.OWLDataFactory factory)
           
 
Method Summary
protected  boolean checkAnonymousIndividuals()
           
 boolean entails(org.semanticweb.owlapi.model.OWLAxiom axiom)
          Use this method only if you really want to check just one axiom or if the axioms you want to check do not contain blind nodes/anonymous individuals.
 boolean entails(java.util.Set<? extends org.semanticweb.owlapi.model.OWLAxiom> axioms)
          Checks entailment of a set of axioms (an ontology) against the loaded ontology.
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLAnnotationAssertionAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLAnnotationPropertyDomainAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLAnnotationPropertyRangeAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLAsymmetricObjectPropertyAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLClassAssertionAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLDataPropertyAssertionAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLDataPropertyDomainAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLDataPropertyRangeAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLDatatypeDefinitionAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLDeclarationAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLDifferentIndividualsAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLDisjointClassesAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLDisjointDataPropertiesAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLDisjointObjectPropertiesAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLDisjointUnionAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLEquivalentClassesAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLEquivalentDataPropertiesAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLEquivalentObjectPropertiesAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLFunctionalDataPropertyAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLFunctionalObjectPropertyAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLHasKeyAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLImportsDeclaration axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLInverseFunctionalObjectPropertyAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLInverseObjectPropertiesAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLIrreflexiveObjectPropertyAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLNegativeDataPropertyAssertionAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLNegativeObjectPropertyAssertionAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLObjectPropertyAssertionAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLObjectPropertyDomainAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLObjectPropertyRangeAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLReflexiveObjectPropertyAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLSameIndividualAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLSubAnnotationPropertyOfAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLSubClassOfAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLSubDataPropertyOfAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLSubObjectPropertyOfAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLSubPropertyChainOfAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLSymmetricObjectPropertyAxiom axiom)
           
 java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLTransitiveObjectPropertyAxiom axiom)
           
 java.lang.Boolean 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
 

Field Detail

anonymousIndividualAxioms

protected java.util.Set<org.semanticweb.owlapi.model.OWLAxiom> anonymousIndividualAxioms
Constructor Detail

EntailmentChecker

public EntailmentChecker(Reasoner reasoner,
                         org.semanticweb.owlapi.model.OWLDataFactory factory)
Method Detail

entails

public boolean entails(java.util.Set<? extends org.semanticweb.owlapi.model.OWLAxiom> axioms)
Checks entailment of a set of axioms (an ontology) against the loaded ontology.

Parameters:
axioms - the axioms that should be checked for enailment
Returns:
true if all axioms follow from the loaded ontology and false otherwise.

entails

public boolean entails(org.semanticweb.owlapi.model.OWLAxiom axiom)
Use this method only if you really want to check just one axiom or if the axioms you want to check do not contain blind nodes/anonymous individuals. Otherwise use entails(Set axioms) because only then concepts for the anonymous individuals can be obtained by rolling-up as required.

Parameters:
axiom - an axiom for which entailment is to be checked
Returns:
true if the loaded ontology entails the axiom and false otherwise

checkAnonymousIndividuals

protected boolean checkAnonymousIndividuals()
Returns:
true if there are no individual axioms or if all rolled-up concepts for the anonymous individuals are entailed and false otherwise

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLAnnotationAssertionAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAnnotationAxiomVisitorEx<java.lang.Boolean>
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLSubAnnotationPropertyOfAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAnnotationAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLAnnotationPropertyDomainAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAnnotationAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLAnnotationPropertyRangeAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAnnotationAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLDeclarationAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLImportsDeclaration axiom)

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLDifferentIndividualsAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLSameIndividualAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLClassAssertionAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLObjectPropertyAssertionAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLNegativeObjectPropertyAssertionAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLDataPropertyAssertionAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLNegativeDataPropertyAssertionAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLObjectPropertyDomainAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLObjectPropertyRangeAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLInverseObjectPropertiesAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLSymmetricObjectPropertyAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLTransitiveObjectPropertyAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLReflexiveObjectPropertyAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLIrreflexiveObjectPropertyAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLAsymmetricObjectPropertyAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLEquivalentObjectPropertiesAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLSubObjectPropertyOfAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLSubPropertyChainOfAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLDisjointObjectPropertiesAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLFunctionalObjectPropertyAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLInverseFunctionalObjectPropertyAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLDataPropertyDomainAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLDataPropertyRangeAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLEquivalentDataPropertiesAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLSubDataPropertyOfAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLDisjointDataPropertiesAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLFunctionalDataPropertyAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLSubClassOfAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLEquivalentClassesAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLDisjointClassesAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLDisjointUnionAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLDatatypeDefinitionAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.SWRLRule rule)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>

visit

public java.lang.Boolean visit(org.semanticweb.owlapi.model.OWLHasKeyAxiom axiom)
Specified by:
visit in interface org.semanticweb.owlapi.model.OWLAxiomVisitorEx<java.lang.Boolean>