org.semanticweb.HermiT
Class Reasoner

java.lang.Object
  extended by org.semanticweb.HermiT.Reasoner
All Implemented Interfaces:
org.semanticweb.owlapi.reasoner.OWLReasoner

public class Reasoner
extends java.lang.Object
implements org.semanticweb.owlapi.reasoner.OWLReasoner

Answers queries about the logical implications of a particular knowledge base. A Reasoner is associated with a single knowledge base, which is "loaded" when the reasoner is constructed. By default a full classification of all atomic terms in the knowledge base is also performed at this time (which can take quite a while for large or complex ontologies), but this behavior can be disabled as a part of the Reasoner configuration. Internal details of the loading and reasoning algorithms can be configured in the Reasoner constructor and do not change over the lifetime of the Reasoner object---internal data structures and caches are optimized for a particular configuration. By default, HermiT will use the set of options which provide optimal performance.


Nested Class Summary
protected  class Reasoner.OntologyChangeListener
           
static class Reasoner.ProtegeReasonerFactory
           
static class Reasoner.ReasonerFactory
           
 
Field Summary
protected  Hierarchy<AtomicConcept> m_atomicConceptHierarchy
           
protected  Configuration m_configuration
           
protected  Hierarchy<AtomicRole> m_dataRoleHierarchy
           
protected  java.util.Collection<DescriptionGraph> m_descriptionGraphs
           
protected  java.util.Map<AtomicRole,java.util.Set<HierarchyNode<AtomicConcept>>> m_directDataRoleDomains
           
protected  java.util.Map<HierarchyNode<AtomicConcept>,java.util.Set<HierarchyNode<AtomicConcept>>> m_directDisjointClasses
           
protected  java.util.Map<Role,java.util.Set<HierarchyNode<AtomicConcept>>> m_directObjectRoleDomains
           
protected  java.util.Map<Role,java.util.Set<HierarchyNode<AtomicConcept>>> m_directObjectRoleRanges
           
protected  DLOntology m_dlOntology
           
protected  InstanceManager m_instanceManager
           
protected  InterruptFlag m_interruptFlag
           
protected  java.lang.Boolean m_isConsistent
           
protected  ObjectPropertyInclusionManager m_objectPropertyInclusionManager
           
protected  Hierarchy<Role> m_objectRoleHierarchy
           
protected  Reasoner.OntologyChangeListener m_ontologyChangeListener
           
protected  java.util.List<org.semanticweb.owlapi.model.OWLOntologyChange> m_pendingChanges
           
protected  Prefixes m_prefixes
           
protected  org.semanticweb.owlapi.model.OWLOntology m_rootOntology
           
protected  Tableau m_tableau
           
 
Constructor Summary
Reasoner(Configuration configuration, org.semanticweb.owlapi.model.OWLOntology rootOntology)
          Creates a new reasoner object with the parameters for blocking, expansion strategy etc as specified in the given configuration object.
Reasoner(Configuration configuration, org.semanticweb.owlapi.model.OWLOntology rootOntology, java.util.Collection<DescriptionGraph> descriptionGraphs)
          Creates a new reasoner object loaded with the given ontology and the given description graphs.
Reasoner(org.semanticweb.owlapi.model.OWLOntology rootOntology)
          Creates a new reasoner object with standard parameters for blocking, expansion strategy etc.
 
Method Summary
protected  void addIRI(java.lang.String uri, java.util.Set<java.lang.String> prefixIRIs)
           
protected  org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLClass> atomicConceptHierarchyNodesToNodeSet(java.util.Collection<HierarchyNode<AtomicConcept>> hierarchyNodes)
           
protected  org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLClass> atomicConceptHierarchyNodeToNode(HierarchyNode<AtomicConcept> hierarchyNode)
           
protected  void checkPreConditions(org.semanticweb.owlapi.model.OWLObject... objects)
           
 void classify()
          Deprecated. As of release 1.3, replaced by precomputeInferences(InferenceType... inferenceTypes) with inference type CLASS_HIERARCHY
protected static Hierarchy<AtomicConcept> classifyAtomicConcepts(Tableau tableau, ClassificationProgressMonitor progressMonitor, AtomicConcept topElement, AtomicConcept bottomElement, java.util.Set<AtomicConcept> elements, boolean forceQuasiOrder)
           
protected static Hierarchy<AtomicConcept> classifyAtomicConceptsForRoles(Tableau tableau, ClassificationProgressMonitor progressMonitor, AtomicConcept topElement, AtomicConcept bottomElement, java.util.Set<AtomicConcept> elements, boolean hasInverses, java.util.Map<Role,AtomicConcept> conceptsForRoles, java.util.Map<AtomicConcept,Role> rolesForConcepts, boolean forceQuasiOrder)
           
 void classifyClasses()
           
 void classifyDataProperties()
           
 void classifyObjectProperties()
           
protected  void clearState()
           
protected  boolean containsFreshEntities(org.semanticweb.owlapi.model.OWLObject... objects)
           
protected  DLOntology createDeltaDLOntology(Configuration configuration, DLOntology originalDLOntology, org.semanticweb.owlapi.model.OWLAxiom... additionalAxioms)
           
protected  void createPrefixes()
           
protected static Tableau createTableau(InterruptFlag interruptFlag, Configuration config, DLOntology permanentDLOntology, DLOntology additionalDLOntology, Prefixes prefixes)
           
protected  org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLDataProperty> dataPropertyHierarchyNodesToNodeSet(java.util.Collection<HierarchyNode<AtomicRole>> hierarchyNodes)
           
protected  org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLDataProperty> dataPropertyHierarchyNodeToNode(HierarchyNode<AtomicRole> hierarchyNode)
           
 void dispose()
           
 void dumpHierarchies(java.io.PrintWriter out, boolean classes, boolean objectProperties, boolean dataProperties)
          Writes out the hierarchies quickly
protected  void finalize()
           
 void flush()
           
protected  void flushChangesIfRequired()
           
protected  java.util.Set<org.semanticweb.owlapi.model.OWLNamedIndividual> getAllNamedIndividuals()
           
 org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLClass> getBottomClassNode()
           
 org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLDataProperty> getBottomDataPropertyNode()
           
 org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> getBottomObjectPropertyNode()
           
 org.semanticweb.owlapi.reasoner.BufferingMode getBufferingMode()
           
 int getClassHierarchyDepth()
           
 Configuration getConfiguration()
           
 org.semanticweb.owlapi.model.OWLDataFactory getDataFactory()
           
 org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLClass> getDataPropertyDomains(org.semanticweb.owlapi.model.OWLDataProperty property, boolean direct)
           
 int getDataPropertyHierarchyDepth()
           
 java.util.Set<org.semanticweb.owlapi.model.OWLLiteral> getDataPropertyValues(org.semanticweb.owlapi.model.OWLNamedIndividual namedIndividual, org.semanticweb.owlapi.model.OWLDataProperty property)
           
 org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLNamedIndividual> getDifferentIndividuals(org.semanticweb.owlapi.model.OWLNamedIndividual namedIndividual)
           
protected  java.util.Set<HierarchyNode<AtomicConcept>> getDirectSuperConceptNodes(Individual individual)
           
 org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLClass> getDisjointClasses(org.semanticweb.owlapi.model.OWLClassExpression classExpression)
           
protected  java.util.Set<HierarchyNode<AtomicConcept>> getDisjointConceptNodes(HierarchyNode<AtomicConcept> node)
           
 org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLDataProperty> getDisjointDataProperties(org.semanticweb.owlapi.model.OWLDataPropertyExpression propertyExpression)
           
 org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> getDisjointObjectProperties(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression)
           
 DLOntology getDLOntology()
           
 org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLClass> getEquivalentClasses(org.semanticweb.owlapi.model.OWLClassExpression classExpression)
           
 org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLDataProperty> getEquivalentDataProperties(org.semanticweb.owlapi.model.OWLDataProperty property)
           
 org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> getEquivalentObjectProperties(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression)
           
 org.semanticweb.owlapi.reasoner.FreshEntityPolicy getFreshEntityPolicy()
           
protected  HierarchyNode<AtomicConcept> getHierarchyNode(org.semanticweb.owlapi.model.OWLClassExpression classExpression)
           
protected  HierarchyNode<AtomicRole> getHierarchyNode(org.semanticweb.owlapi.model.OWLDataProperty property)
           
protected  HierarchyNode<Role> getHierarchyNode(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression)
           
 org.semanticweb.owlapi.reasoner.IndividualNodeSetPolicy getIndividualNodeSetPolicy()
           
 org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLNamedIndividual> getInstances(org.semanticweb.owlapi.model.OWLClassExpression classExpression, boolean direct)
           
 org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> getInverseObjectProperties(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression)
           
 int[] getNumberOfInstances(org.semanticweb.owlapi.model.OWLClass owlClass)
           
 int[] getNumberOfInstances(org.semanticweb.owlapi.model.OWLObjectProperty property)
           
 int[] getNumberOfPredecessors(org.semanticweb.owlapi.model.OWLObjectProperty property, org.semanticweb.owlapi.model.OWLIndividual individual)
           
 int[] getNumberOfPropertyInstances(org.semanticweb.owlapi.model.OWLObjectProperty property)
           
 int[] getNumberOfSameIndividuals(org.semanticweb.owlapi.model.OWLIndividual individual)
           
 int[] getNumberOfSuccessors(org.semanticweb.owlapi.model.OWLObjectProperty property, org.semanticweb.owlapi.model.OWLIndividual individual)
           
 int[] getNumberOfTypes(org.semanticweb.owlapi.model.OWLIndividual individual)
           
 org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLClass> getObjectPropertyDomains(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression, boolean direct)
           
 int getObjectPropertyHierarchyDepth()
           
 java.util.Map<org.semanticweb.owlapi.model.OWLNamedIndividual,java.util.Set<org.semanticweb.owlapi.model.OWLNamedIndividual>> getObjectPropertyInstances(org.semanticweb.owlapi.model.OWLObjectProperty property)
           
 org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLClass> getObjectPropertyRanges(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression, boolean direct)
           
 org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLNamedIndividual> getObjectPropertyValues(org.semanticweb.owlapi.model.OWLNamedIndividual namedIndividual, org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression)
           
 java.util.Set<org.semanticweb.owlapi.model.OWLAxiom> getPendingAxiomAdditions()
           
 java.util.Set<org.semanticweb.owlapi.model.OWLAxiom> getPendingAxiomRemovals()
           
 java.util.List<org.semanticweb.owlapi.model.OWLOntologyChange> getPendingChanges()
           
 java.util.Set<org.semanticweb.owlapi.reasoner.InferenceType> getPrecomputableInferenceTypes()
           
 Prefixes getPrefixes()
           
 java.lang.String getReasonerName()
           
 org.semanticweb.owlapi.util.Version getReasonerVersion()
           
 org.semanticweb.owlapi.model.OWLOntology getRootOntology()
           
 org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLNamedIndividual> getSameIndividuals(org.semanticweb.owlapi.model.OWLNamedIndividual namedIndividual)
           
 org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLClass> getSubClasses(org.semanticweb.owlapi.model.OWLClassExpression classExpression, boolean direct)
           
 org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLDataProperty> getSubDataProperties(org.semanticweb.owlapi.model.OWLDataProperty property, boolean direct)
           
 org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> getSubObjectProperties(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression, boolean direct)
           
 org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLClass> getSuperClasses(org.semanticweb.owlapi.model.OWLClassExpression classExpression, boolean direct)
           
 org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLDataProperty> getSuperDataProperties(org.semanticweb.owlapi.model.OWLDataProperty property, boolean direct)
           
 org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> getSuperObjectProperties(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression, boolean direct)
           
protected  Tableau getTableau()
           
 Tableau getTableau(org.semanticweb.owlapi.model.OWLAxiom... additionalAxioms)
          A mostly internal method.
 long getTimeOut()
           
 org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLClass> getTopClassNode()
           
 org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLDataProperty> getTopDataPropertyNode()
           
 org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> getTopObjectPropertyNode()
           
 org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLClass> getTypes(org.semanticweb.owlapi.model.OWLNamedIndividual namedIndividual, boolean direct)
           
 org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLClass> getUnsatisfiableClasses()
           
protected static Individual H(org.semanticweb.owlapi.model.OWLAnonymousIndividual anonymousIndividual)
           
protected static AtomicConcept H(org.semanticweb.owlapi.model.OWLClass owlClass)
           
protected static AtomicRole H(org.semanticweb.owlapi.model.OWLDataProperty dataProperty)
           
protected static Role H(org.semanticweb.owlapi.model.OWLDataPropertyExpression dataPropertyExpression)
           
protected static Individual H(org.semanticweb.owlapi.model.OWLIndividual individual)
           
protected static Individual H(org.semanticweb.owlapi.model.OWLNamedIndividual namedIndividual)
           
protected static AtomicRole H(org.semanticweb.owlapi.model.OWLObjectProperty objectProperty)
           
protected static Role H(org.semanticweb.owlapi.model.OWLObjectPropertyExpression objectPropertyExpression)
           
 boolean hasDataPropertyRelationship(org.semanticweb.owlapi.model.OWLNamedIndividual subject, org.semanticweb.owlapi.model.OWLDataProperty property, org.semanticweb.owlapi.model.OWLLiteral object)
           
 boolean hasObjectPropertyRelationship(org.semanticweb.owlapi.model.OWLNamedIndividual subject, org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression, org.semanticweb.owlapi.model.OWLNamedIndividual object)
           
 boolean hasType(org.semanticweb.owlapi.model.OWLNamedIndividual namedIndividual, org.semanticweb.owlapi.model.OWLClassExpression type, boolean direct)
           
protected  void initialiseClassInstanceManager()
           
protected  void initialisePropertiesInstanceManager()
           
 void interrupt()
           
protected  boolean isAsymmetric(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression)
           
 boolean isConsistent()
           
 boolean isDefined(org.semanticweb.owlapi.model.OWLClass owlClass)
           
 boolean isDefined(org.semanticweb.owlapi.model.OWLDataProperty owlDataProperty)
           
 boolean isDefined(org.semanticweb.owlapi.model.OWLIndividual owlIndividual)
           
 boolean isDefined(org.semanticweb.owlapi.model.OWLObjectProperty owlObjectProperty)
           
protected  boolean isDisjointObjectProperty(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression1, org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression2)
           
 boolean isEntailed(org.semanticweb.owlapi.model.OWLAxiom axiom)
           
 boolean isEntailed(java.util.Set<? extends org.semanticweb.owlapi.model.OWLAxiom> axioms)
           
 boolean isEntailmentCheckingSupported(org.semanticweb.owlapi.model.AxiomType<?> axiomType)
           
protected  boolean isFunctional(org.semanticweb.owlapi.model.OWLDataProperty property)
           
protected  boolean isFunctional(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression)
           
protected  boolean isInverseFunctional(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression)
           
protected  boolean isIrreflexive(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression)
           
 boolean isPrecomputed(org.semanticweb.owlapi.reasoner.InferenceType inferenceType)
           
protected  boolean isReflexive(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression)
           
protected static boolean isResultRelevantIndividual(Individual individual)
           
 boolean isSameIndividual(org.semanticweb.owlapi.model.OWLNamedIndividual namedIndividual1, org.semanticweb.owlapi.model.OWLNamedIndividual namedIndividual2)
           
 boolean isSatisfiable(org.semanticweb.owlapi.model.OWLClassExpression classExpression)
           
protected  boolean isSubClassOf(org.semanticweb.owlapi.model.OWLClassExpression subClassExpression, org.semanticweb.owlapi.model.OWLClassExpression superClassExpression)
           
protected  boolean isSubDataPropertyOf(org.semanticweb.owlapi.model.OWLDataProperty subDataProperty, org.semanticweb.owlapi.model.OWLDataProperty superDataProperty)
           
protected  boolean isSubObjectPropertyExpressionOf(java.util.List<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> subPropertyChain, org.semanticweb.owlapi.model.OWLObjectPropertyExpression superObjectPropertyExpression)
           
protected  boolean isSubObjectPropertyExpressionOf(org.semanticweb.owlapi.model.OWLObjectPropertyExpression subObjectPropertyExpression, org.semanticweb.owlapi.model.OWLObjectPropertyExpression superObjectPropertyExpression)
           
protected  boolean isSymmetric(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression)
           
protected  boolean isTransitive(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression)
           
protected static boolean isUnsupportedExtensionAxiom(org.semanticweb.owlapi.model.OWLAxiom axiom)
           
protected  void loadOntology()
           
protected  org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> objectPropertyHierarchyNodesToNodeSet(java.util.Collection<HierarchyNode<Role>> hierarchyNodes)
           
protected  org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> objectPropertyHierarchyNodeToNode(HierarchyNode<Role> hierarchyNode)
           
 void precomputeDisjointClasses()
           
 void precomputeInferences(org.semanticweb.owlapi.reasoner.InferenceType... inferenceTypes)
           
 void precomputeSameAsEquivalenceClasses()
           
 void printHierarchies(java.io.PrintWriter out, boolean classes, boolean objectProperties, boolean dataProperties)
          Prints the hierarchies into a functional style syntax ontology all nicely sorted alphabetically.
protected  void realise()
           
 void realiseObjectProperties()
           
protected  org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLNamedIndividual> sortBySameAsIfNecessary(java.util.Set<Individual> individuals)
           
protected  void throwFreshEntityExceptionIfNecessary(org.semanticweb.owlapi.model.OWLObject... objects)
           
protected  void throwInconsistentOntologyExceptionIfNecessary()
           
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_ontologyChangeListener

protected final Reasoner.OntologyChangeListener m_ontologyChangeListener

m_configuration

protected final Configuration m_configuration

m_rootOntology

protected final org.semanticweb.owlapi.model.OWLOntology m_rootOntology

m_pendingChanges

protected final java.util.List<org.semanticweb.owlapi.model.OWLOntologyChange> m_pendingChanges

m_descriptionGraphs

protected final java.util.Collection<DescriptionGraph> m_descriptionGraphs

m_interruptFlag

protected final InterruptFlag m_interruptFlag

m_objectPropertyInclusionManager

protected ObjectPropertyInclusionManager m_objectPropertyInclusionManager

m_dlOntology

protected DLOntology m_dlOntology

m_prefixes

protected Prefixes m_prefixes

m_tableau

protected Tableau m_tableau

m_isConsistent

protected java.lang.Boolean m_isConsistent

m_atomicConceptHierarchy

protected Hierarchy<AtomicConcept> m_atomicConceptHierarchy

m_objectRoleHierarchy

protected Hierarchy<Role> m_objectRoleHierarchy

m_dataRoleHierarchy

protected Hierarchy<AtomicRole> m_dataRoleHierarchy

m_directObjectRoleDomains

protected java.util.Map<Role,java.util.Set<HierarchyNode<AtomicConcept>>> m_directObjectRoleDomains

m_directObjectRoleRanges

protected java.util.Map<Role,java.util.Set<HierarchyNode<AtomicConcept>>> m_directObjectRoleRanges

m_directDataRoleDomains

protected java.util.Map<AtomicRole,java.util.Set<HierarchyNode<AtomicConcept>>> m_directDataRoleDomains

m_directDisjointClasses

protected java.util.Map<HierarchyNode<AtomicConcept>,java.util.Set<HierarchyNode<AtomicConcept>>> m_directDisjointClasses

m_instanceManager

protected InstanceManager m_instanceManager
Constructor Detail

Reasoner

public Reasoner(org.semanticweb.owlapi.model.OWLOntology rootOntology)
Creates a new reasoner object with standard parameters for blocking, expansion strategy etc. Then the given manager is used to find all required imports for the given ontology and the ontology with the imports is loaded into the reasoner and the data factory of the manager is used to create fresh concepts during the preprocessing phase if necessary.

Parameters:
rootOntology - - the ontology that should be loaded by the reasoner

Reasoner

public Reasoner(Configuration configuration,
                org.semanticweb.owlapi.model.OWLOntology rootOntology)
Creates a new reasoner object with the parameters for blocking, expansion strategy etc as specified in the given configuration object. A default configuration can be obtained by just passing new Configuration(). Then the given manager is used to find all required imports for the given ontology and the ontology with the imports is loaded into the reasoner and the data factory of the manager is used to create fresh concepts during the preprocessing phase if necessary.

Parameters:
configuration - - a configuration in which parameters can be defined such as the blocking strategy to be used etc
rootOntology - - the ontology that should be loaded by the reasoner

Reasoner

public Reasoner(Configuration configuration,
                org.semanticweb.owlapi.model.OWLOntology rootOntology,
                java.util.Collection<DescriptionGraph> descriptionGraphs)
Creates a new reasoner object loaded with the given ontology and the given description graphs. When creating the reasoner, the given configuration determines the parameters for blocking, expansion strategy etc. A default configuration can be obtained by just passing new Configuration(). Then the given manager is used to find all required imports for the given ontology and the ontology with the imports and the description graphs are loaded into the reasoner. The data factory of the manager is used to create fresh concepts during the preprocessing phase if necessary.

Parameters:
configuration - - a configuration in which parameters can be defined such as the blocking strategy to be used etc
rootOntology - - the ontology that should be loaded by the reasoner
descriptionGraphs - - a set of description graphs
Method Detail

loadOntology

protected void loadOntology()

createPrefixes

protected void createPrefixes()

addIRI

protected void addIRI(java.lang.String uri,
                      java.util.Set<java.lang.String> prefixIRIs)

finalize

protected void finalize()
Overrides:
finalize in class java.lang.Object

dispose

public void dispose()
Specified by:
dispose in interface org.semanticweb.owlapi.reasoner.OWLReasoner

clearState

protected void clearState()

interrupt

public void interrupt()
Specified by:
interrupt in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getDataFactory

public org.semanticweb.owlapi.model.OWLDataFactory getDataFactory()

getReasonerName

public java.lang.String getReasonerName()
Specified by:
getReasonerName in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getReasonerVersion

public org.semanticweb.owlapi.util.Version getReasonerVersion()
Specified by:
getReasonerVersion in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getRootOntology

public org.semanticweb.owlapi.model.OWLOntology getRootOntology()
Specified by:
getRootOntology in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getTimeOut

public long getTimeOut()
Specified by:
getTimeOut in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getIndividualNodeSetPolicy

public org.semanticweb.owlapi.reasoner.IndividualNodeSetPolicy getIndividualNodeSetPolicy()
Specified by:
getIndividualNodeSetPolicy in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getFreshEntityPolicy

public org.semanticweb.owlapi.reasoner.FreshEntityPolicy getFreshEntityPolicy()
Specified by:
getFreshEntityPolicy in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getPrefixes

public Prefixes getPrefixes()

getDLOntology

public DLOntology getDLOntology()

getConfiguration

public Configuration getConfiguration()

getBufferingMode

public org.semanticweb.owlapi.reasoner.BufferingMode getBufferingMode()
Specified by:
getBufferingMode in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getPendingAxiomAdditions

public java.util.Set<org.semanticweb.owlapi.model.OWLAxiom> getPendingAxiomAdditions()
Specified by:
getPendingAxiomAdditions in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getPendingAxiomRemovals

public java.util.Set<org.semanticweb.owlapi.model.OWLAxiom> getPendingAxiomRemovals()
Specified by:
getPendingAxiomRemovals in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getPendingChanges

public java.util.List<org.semanticweb.owlapi.model.OWLOntologyChange> getPendingChanges()
Specified by:
getPendingChanges in interface org.semanticweb.owlapi.reasoner.OWLReasoner

flush

public void flush()
Specified by:
flush in interface org.semanticweb.owlapi.reasoner.OWLReasoner

isDefined

public boolean isDefined(org.semanticweb.owlapi.model.OWLClass owlClass)

isDefined

public boolean isDefined(org.semanticweb.owlapi.model.OWLIndividual owlIndividual)

isDefined

public boolean isDefined(org.semanticweb.owlapi.model.OWLObjectProperty owlObjectProperty)

isDefined

public boolean isDefined(org.semanticweb.owlapi.model.OWLDataProperty owlDataProperty)

getPrecomputableInferenceTypes

public java.util.Set<org.semanticweb.owlapi.reasoner.InferenceType> getPrecomputableInferenceTypes()
Specified by:
getPrecomputableInferenceTypes in interface org.semanticweb.owlapi.reasoner.OWLReasoner

isPrecomputed

public boolean isPrecomputed(org.semanticweb.owlapi.reasoner.InferenceType inferenceType)
Specified by:
isPrecomputed in interface org.semanticweb.owlapi.reasoner.OWLReasoner

precomputeInferences

public void precomputeInferences(org.semanticweb.owlapi.reasoner.InferenceType... inferenceTypes)
                          throws org.semanticweb.owlapi.reasoner.ReasonerInterruptedException,
                                 org.semanticweb.owlapi.reasoner.TimeOutException,
                                 org.semanticweb.owlapi.reasoner.InconsistentOntologyException
Specified by:
precomputeInferences in interface org.semanticweb.owlapi.reasoner.OWLReasoner
Throws:
org.semanticweb.owlapi.reasoner.ReasonerInterruptedException
org.semanticweb.owlapi.reasoner.TimeOutException
org.semanticweb.owlapi.reasoner.InconsistentOntologyException

initialisePropertiesInstanceManager

protected void initialisePropertiesInstanceManager()

initialiseClassInstanceManager

protected void initialiseClassInstanceManager()

isConsistent

public boolean isConsistent()
Specified by:
isConsistent in interface org.semanticweb.owlapi.reasoner.OWLReasoner

isEntailmentCheckingSupported

public boolean isEntailmentCheckingSupported(org.semanticweb.owlapi.model.AxiomType<?> axiomType)
Specified by:
isEntailmentCheckingSupported in interface org.semanticweb.owlapi.reasoner.OWLReasoner

isEntailed

public boolean isEntailed(org.semanticweb.owlapi.model.OWLAxiom axiom)
Specified by:
isEntailed in interface org.semanticweb.owlapi.reasoner.OWLReasoner

isEntailed

public boolean isEntailed(java.util.Set<? extends org.semanticweb.owlapi.model.OWLAxiom> axioms)
Specified by:
isEntailed in interface org.semanticweb.owlapi.reasoner.OWLReasoner

classify

@Deprecated
public void classify()
Deprecated. As of release 1.3, replaced by precomputeInferences(InferenceType... inferenceTypes) with inference type CLASS_HIERARCHY


classifyClasses

public void classifyClasses()

getTopClassNode

public org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLClass> getTopClassNode()
Specified by:
getTopClassNode in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getBottomClassNode

public org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLClass> getBottomClassNode()
Specified by:
getBottomClassNode in interface org.semanticweb.owlapi.reasoner.OWLReasoner

isSatisfiable

public boolean isSatisfiable(org.semanticweb.owlapi.model.OWLClassExpression classExpression)
Specified by:
isSatisfiable in interface org.semanticweb.owlapi.reasoner.OWLReasoner

isSubClassOf

protected boolean isSubClassOf(org.semanticweb.owlapi.model.OWLClassExpression subClassExpression,
                               org.semanticweb.owlapi.model.OWLClassExpression superClassExpression)

getEquivalentClasses

public org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLClass> getEquivalentClasses(org.semanticweb.owlapi.model.OWLClassExpression classExpression)
Specified by:
getEquivalentClasses in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getSuperClasses

public org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLClass> getSuperClasses(org.semanticweb.owlapi.model.OWLClassExpression classExpression,
                                                                                                      boolean direct)
Specified by:
getSuperClasses in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getSubClasses

public org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLClass> getSubClasses(org.semanticweb.owlapi.model.OWLClassExpression classExpression,
                                                                                                    boolean direct)
Specified by:
getSubClasses in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getUnsatisfiableClasses

public org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLClass> getUnsatisfiableClasses()
Specified by:
getUnsatisfiableClasses in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getDisjointClasses

public org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLClass> getDisjointClasses(org.semanticweb.owlapi.model.OWLClassExpression classExpression)
Specified by:
getDisjointClasses in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getDisjointConceptNodes

protected java.util.Set<HierarchyNode<AtomicConcept>> getDisjointConceptNodes(HierarchyNode<AtomicConcept> node)

precomputeDisjointClasses

public void precomputeDisjointClasses()

getHierarchyNode

protected HierarchyNode<AtomicConcept> getHierarchyNode(org.semanticweb.owlapi.model.OWLClassExpression classExpression)

classifyObjectProperties

public void classifyObjectProperties()

getTopObjectPropertyNode

public org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> getTopObjectPropertyNode()
Specified by:
getTopObjectPropertyNode in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getBottomObjectPropertyNode

public org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> getBottomObjectPropertyNode()
Specified by:
getBottomObjectPropertyNode in interface org.semanticweb.owlapi.reasoner.OWLReasoner

isSubObjectPropertyExpressionOf

protected boolean isSubObjectPropertyExpressionOf(org.semanticweb.owlapi.model.OWLObjectPropertyExpression subObjectPropertyExpression,
                                                  org.semanticweb.owlapi.model.OWLObjectPropertyExpression superObjectPropertyExpression)

isSubObjectPropertyExpressionOf

protected boolean isSubObjectPropertyExpressionOf(java.util.List<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> subPropertyChain,
                                                  org.semanticweb.owlapi.model.OWLObjectPropertyExpression superObjectPropertyExpression)

getSuperObjectProperties

public org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> getSuperObjectProperties(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression,
                                                                                                                                  boolean direct)
Specified by:
getSuperObjectProperties in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getSubObjectProperties

public org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> getSubObjectProperties(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression,
                                                                                                                                boolean direct)
Specified by:
getSubObjectProperties in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getEquivalentObjectProperties

public org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> getEquivalentObjectProperties(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression)
Specified by:
getEquivalentObjectProperties in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getObjectPropertyDomains

public org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLClass> getObjectPropertyDomains(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression,
                                                                                                               boolean direct)
Specified by:
getObjectPropertyDomains in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getObjectPropertyRanges

public org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLClass> getObjectPropertyRanges(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression,
                                                                                                              boolean direct)
Specified by:
getObjectPropertyRanges in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getInverseObjectProperties

public org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> getInverseObjectProperties(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression)
Specified by:
getInverseObjectProperties in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getDisjointObjectProperties

public org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> getDisjointObjectProperties(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression)
Specified by:
getDisjointObjectProperties in interface org.semanticweb.owlapi.reasoner.OWLReasoner

isDisjointObjectProperty

protected boolean isDisjointObjectProperty(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression1,
                                           org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression2)

isFunctional

protected boolean isFunctional(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression)

isInverseFunctional

protected boolean isInverseFunctional(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression)

isIrreflexive

protected boolean isIrreflexive(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression)

isReflexive

protected boolean isReflexive(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression)

isAsymmetric

protected boolean isAsymmetric(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression)

isSymmetric

protected boolean isSymmetric(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression)

isTransitive

protected boolean isTransitive(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression)

getHierarchyNode

protected HierarchyNode<Role> getHierarchyNode(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression)

classifyDataProperties

public void classifyDataProperties()

getTopDataPropertyNode

public org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLDataProperty> getTopDataPropertyNode()
Specified by:
getTopDataPropertyNode in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getBottomDataPropertyNode

public org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLDataProperty> getBottomDataPropertyNode()
Specified by:
getBottomDataPropertyNode in interface org.semanticweb.owlapi.reasoner.OWLReasoner

isSubDataPropertyOf

protected boolean isSubDataPropertyOf(org.semanticweb.owlapi.model.OWLDataProperty subDataProperty,
                                      org.semanticweb.owlapi.model.OWLDataProperty superDataProperty)

getSuperDataProperties

public org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLDataProperty> getSuperDataProperties(org.semanticweb.owlapi.model.OWLDataProperty property,
                                                                                                                    boolean direct)
Specified by:
getSuperDataProperties in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getSubDataProperties

public org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLDataProperty> getSubDataProperties(org.semanticweb.owlapi.model.OWLDataProperty property,
                                                                                                                  boolean direct)
Specified by:
getSubDataProperties in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getEquivalentDataProperties

public org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLDataProperty> getEquivalentDataProperties(org.semanticweb.owlapi.model.OWLDataProperty property)
Specified by:
getEquivalentDataProperties in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getDataPropertyDomains

public org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLClass> getDataPropertyDomains(org.semanticweb.owlapi.model.OWLDataProperty property,
                                                                                                             boolean direct)
Specified by:
getDataPropertyDomains in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getDisjointDataProperties

public org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLDataProperty> getDisjointDataProperties(org.semanticweb.owlapi.model.OWLDataPropertyExpression propertyExpression)
Specified by:
getDisjointDataProperties in interface org.semanticweb.owlapi.reasoner.OWLReasoner

isFunctional

protected boolean isFunctional(org.semanticweb.owlapi.model.OWLDataProperty property)

getHierarchyNode

protected HierarchyNode<AtomicRole> getHierarchyNode(org.semanticweb.owlapi.model.OWLDataProperty property)

realise

protected void realise()

realiseObjectProperties

public void realiseObjectProperties()

precomputeSameAsEquivalenceClasses

public void precomputeSameAsEquivalenceClasses()

getTypes

public org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLClass> getTypes(org.semanticweb.owlapi.model.OWLNamedIndividual namedIndividual,
                                                                                               boolean direct)
Specified by:
getTypes in interface org.semanticweb.owlapi.reasoner.OWLReasoner

hasType

public boolean hasType(org.semanticweb.owlapi.model.OWLNamedIndividual namedIndividual,
                       org.semanticweb.owlapi.model.OWLClassExpression type,
                       boolean direct)

getInstances

public org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLNamedIndividual> getInstances(org.semanticweb.owlapi.model.OWLClassExpression classExpression,
                                                                                                             boolean direct)
Specified by:
getInstances in interface org.semanticweb.owlapi.reasoner.OWLReasoner

isSameIndividual

public boolean isSameIndividual(org.semanticweb.owlapi.model.OWLNamedIndividual namedIndividual1,
                                org.semanticweb.owlapi.model.OWLNamedIndividual namedIndividual2)

getSameIndividuals

public org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLNamedIndividual> getSameIndividuals(org.semanticweb.owlapi.model.OWLNamedIndividual namedIndividual)
Specified by:
getSameIndividuals in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getDifferentIndividuals

public org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLNamedIndividual> getDifferentIndividuals(org.semanticweb.owlapi.model.OWLNamedIndividual namedIndividual)
Specified by:
getDifferentIndividuals in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getObjectPropertyValues

public org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLNamedIndividual> getObjectPropertyValues(org.semanticweb.owlapi.model.OWLNamedIndividual namedIndividual,
                                                                                                                        org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression)
Specified by:
getObjectPropertyValues in interface org.semanticweb.owlapi.reasoner.OWLReasoner

getObjectPropertyInstances

public java.util.Map<org.semanticweb.owlapi.model.OWLNamedIndividual,java.util.Set<org.semanticweb.owlapi.model.OWLNamedIndividual>> getObjectPropertyInstances(org.semanticweb.owlapi.model.OWLObjectProperty property)

hasObjectPropertyRelationship

public boolean hasObjectPropertyRelationship(org.semanticweb.owlapi.model.OWLNamedIndividual subject,
                                             org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyExpression,
                                             org.semanticweb.owlapi.model.OWLNamedIndividual object)

getDataPropertyValues

public java.util.Set<org.semanticweb.owlapi.model.OWLLiteral> getDataPropertyValues(org.semanticweb.owlapi.model.OWLNamedIndividual namedIndividual,
                                                                                    org.semanticweb.owlapi.model.OWLDataProperty property)
Specified by:
getDataPropertyValues in interface org.semanticweb.owlapi.reasoner.OWLReasoner

hasDataPropertyRelationship

public boolean hasDataPropertyRelationship(org.semanticweb.owlapi.model.OWLNamedIndividual subject,
                                           org.semanticweb.owlapi.model.OWLDataProperty property,
                                           org.semanticweb.owlapi.model.OWLLiteral object)

getDirectSuperConceptNodes

protected java.util.Set<HierarchyNode<AtomicConcept>> getDirectSuperConceptNodes(Individual individual)

sortBySameAsIfNecessary

protected org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLNamedIndividual> sortBySameAsIfNecessary(java.util.Set<Individual> individuals)

getAllNamedIndividuals

protected java.util.Set<org.semanticweb.owlapi.model.OWLNamedIndividual> getAllNamedIndividuals()

isResultRelevantIndividual

protected static boolean isResultRelevantIndividual(Individual individual)

getTableau

protected Tableau getTableau()

getTableau

public Tableau getTableau(org.semanticweb.owlapi.model.OWLAxiom... additionalAxioms)
                   throws java.lang.IllegalArgumentException
A mostly internal method. Can be used to retrieve a tableau for axioms in the given ontology manager plus an additional set of axioms.

Parameters:
additionalAxioms - - a list of additional axioms that should be included in the tableau
Returns:
a tableau containing rules for the normalised axioms, this tableau is not permanent in the reasoner, i.e., it does not overwrite the originally created tableau
Throws:
java.lang.IllegalArgumentException - - if the axioms lead to non-admissible clauses, some configuration parameters are incompatible or other such errors

createTableau

protected static Tableau createTableau(InterruptFlag interruptFlag,
                                       Configuration config,
                                       DLOntology permanentDLOntology,
                                       DLOntology additionalDLOntology,
                                       Prefixes prefixes)
                                throws java.lang.IllegalArgumentException
Throws:
java.lang.IllegalArgumentException

classifyAtomicConcepts

protected static Hierarchy<AtomicConcept> classifyAtomicConcepts(Tableau tableau,
                                                                 ClassificationProgressMonitor progressMonitor,
                                                                 AtomicConcept topElement,
                                                                 AtomicConcept bottomElement,
                                                                 java.util.Set<AtomicConcept> elements,
                                                                 boolean forceQuasiOrder)

classifyAtomicConceptsForRoles

protected static Hierarchy<AtomicConcept> classifyAtomicConceptsForRoles(Tableau tableau,
                                                                         ClassificationProgressMonitor progressMonitor,
                                                                         AtomicConcept topElement,
                                                                         AtomicConcept bottomElement,
                                                                         java.util.Set<AtomicConcept> elements,
                                                                         boolean hasInverses,
                                                                         java.util.Map<Role,AtomicConcept> conceptsForRoles,
                                                                         java.util.Map<AtomicConcept,Role> rolesForConcepts,
                                                                         boolean forceQuasiOrder)

createDeltaDLOntology

protected DLOntology createDeltaDLOntology(Configuration configuration,
                                           DLOntology originalDLOntology,
                                           org.semanticweb.owlapi.model.OWLAxiom... additionalAxioms)
                                    throws java.lang.IllegalArgumentException
Throws:
java.lang.IllegalArgumentException

isUnsupportedExtensionAxiom

protected static boolean isUnsupportedExtensionAxiom(org.semanticweb.owlapi.model.OWLAxiom axiom)

dumpHierarchies

public void dumpHierarchies(java.io.PrintWriter out,
                            boolean classes,
                            boolean objectProperties,
                            boolean dataProperties)
Writes out the hierarchies quickly

Parameters:
out - - the printwriter that is used to output the hierarchies
classes - - if true, the class hierarchy is printed
objectProperties - - if true, the object property hierarchy is printed
dataProperties - - if true, the data property hierarchy is printed

printHierarchies

public void printHierarchies(java.io.PrintWriter out,
                             boolean classes,
                             boolean objectProperties,
                             boolean dataProperties)
Prints the hierarchies into a functional style syntax ontology all nicely sorted alphabetically.

Parameters:
out - - the printwriter that is used to output the hierarchies
classes - - if true, the class hierarchy is printed
objectProperties - - if true, the object property hierarchy is printed
dataProperties - - if true, the data property hierarchy is printed

checkPreConditions

protected void checkPreConditions(org.semanticweb.owlapi.model.OWLObject... objects)

flushChangesIfRequired

protected void flushChangesIfRequired()

throwInconsistentOntologyExceptionIfNecessary

protected void throwInconsistentOntologyExceptionIfNecessary()

throwFreshEntityExceptionIfNecessary

protected void throwFreshEntityExceptionIfNecessary(org.semanticweb.owlapi.model.OWLObject... objects)

containsFreshEntities

protected boolean containsFreshEntities(org.semanticweb.owlapi.model.OWLObject... objects)

H

protected static AtomicConcept H(org.semanticweb.owlapi.model.OWLClass owlClass)

H

protected static AtomicRole H(org.semanticweb.owlapi.model.OWLObjectProperty objectProperty)

H

protected static Role H(org.semanticweb.owlapi.model.OWLObjectPropertyExpression objectPropertyExpression)

H

protected static AtomicRole H(org.semanticweb.owlapi.model.OWLDataProperty dataProperty)

H

protected static Role H(org.semanticweb.owlapi.model.OWLDataPropertyExpression dataPropertyExpression)

H

protected static Individual H(org.semanticweb.owlapi.model.OWLNamedIndividual namedIndividual)

H

protected static Individual H(org.semanticweb.owlapi.model.OWLAnonymousIndividual anonymousIndividual)

H

protected static Individual H(org.semanticweb.owlapi.model.OWLIndividual individual)

atomicConceptHierarchyNodeToNode

protected org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLClass> atomicConceptHierarchyNodeToNode(HierarchyNode<AtomicConcept> hierarchyNode)

atomicConceptHierarchyNodesToNodeSet

protected org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLClass> atomicConceptHierarchyNodesToNodeSet(java.util.Collection<HierarchyNode<AtomicConcept>> hierarchyNodes)

objectPropertyHierarchyNodeToNode

protected org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> objectPropertyHierarchyNodeToNode(HierarchyNode<Role> hierarchyNode)

objectPropertyHierarchyNodesToNodeSet

protected org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> objectPropertyHierarchyNodesToNodeSet(java.util.Collection<HierarchyNode<Role>> hierarchyNodes)

dataPropertyHierarchyNodeToNode

protected org.semanticweb.owlapi.reasoner.Node<org.semanticweb.owlapi.model.OWLDataProperty> dataPropertyHierarchyNodeToNode(HierarchyNode<AtomicRole> hierarchyNode)

dataPropertyHierarchyNodesToNodeSet

protected org.semanticweb.owlapi.reasoner.NodeSet<org.semanticweb.owlapi.model.OWLDataProperty> dataPropertyHierarchyNodesToNodeSet(java.util.Collection<HierarchyNode<AtomicRole>> hierarchyNodes)

getNumberOfSameIndividuals

public int[] getNumberOfSameIndividuals(org.semanticweb.owlapi.model.OWLIndividual individual)

getNumberOfInstances

public int[] getNumberOfInstances(org.semanticweb.owlapi.model.OWLClass owlClass)

getNumberOfInstances

public int[] getNumberOfInstances(org.semanticweb.owlapi.model.OWLObjectProperty property)

getNumberOfSuccessors

public int[] getNumberOfSuccessors(org.semanticweb.owlapi.model.OWLObjectProperty property,
                                   org.semanticweb.owlapi.model.OWLIndividual individual)

getNumberOfPredecessors

public int[] getNumberOfPredecessors(org.semanticweb.owlapi.model.OWLObjectProperty property,
                                     org.semanticweb.owlapi.model.OWLIndividual individual)

getNumberOfPropertyInstances

public int[] getNumberOfPropertyInstances(org.semanticweb.owlapi.model.OWLObjectProperty property)
Parameters:
property -
Returns:
0: number of known instances 1: number of possible instances 2: number of individuals with at least one known or possible successor

getClassHierarchyDepth

public int getClassHierarchyDepth()

getObjectPropertyHierarchyDepth

public int getObjectPropertyHierarchyDepth()

getDataPropertyHierarchyDepth

public int getDataPropertyHierarchyDepth()

getNumberOfTypes

public int[] getNumberOfTypes(org.semanticweb.owlapi.model.OWLIndividual individual)