org.semanticweb.HermiT
Class EntailmentChecker.AnonymousIndividualForestBuilder

java.lang.Object
  extended by 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
           
 
Constructor Summary
protected EntailmentChecker.AnonymousIndividualForestBuilder()
           
 
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
 

Field Detail

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
Constructor Detail

EntailmentChecker.AnonymousIndividualForestBuilder

protected EntailmentChecker.AnonymousIndividualForestBuilder()
Method Detail

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