org.semanticweb.HermiT.structural
Class ObjectPropertyInclusionManager

java.lang.Object
  extended by org.semanticweb.HermiT.structural.ObjectPropertyInclusionManager

public class ObjectPropertyInclusionManager
extends java.lang.Object


Field Summary
protected  java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,rationals.Automaton> m_automataByProperty
           
 
Constructor Summary
ObjectPropertyInclusionManager(OWLAxioms axioms)
           
 
Method Summary
protected  rationals.State addNewTransition(rationals.Automaton automaton, rationals.State fromState, org.semanticweb.owlapi.model.OWLObjectPropertyExpression objectPropertyExpression)
           
protected  void automataConnector(rationals.Automaton biggerPropertyAutomaton, rationals.Automaton smallerPropertyAutomaton, rationals.Transition transition)
           
protected  rationals.Automaton buildCompleteAutomataForProperties(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyToBuildAutomatonFor, java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression>> inversePropertiesMap, java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,rationals.Automaton> individualAutomata, java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,rationals.Automaton> completeAutomata, Graph<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> inversedPropertyDependencyGraph, java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> symmetricObjectProperties, java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> transitiveProperties)
           
protected  java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,rationals.Automaton> buildIndividualAutomata(Graph<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> complexPropertiesDependencyGraph, java.util.Collection<org.semanticweb.owlapi.model.OWLObjectPropertyExpression[]> simpleObjectPropertyInclusions, java.util.Collection<OWLAxioms.ComplexObjectPropertyInclusion> complexObjectPropertyInclusions, java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression>> equivalentPropertiesMap, java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> transitiveProperties)
           
protected  java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression>> buildInversePropertiesMap(java.util.Collection<org.semanticweb.owlapi.model.OWLObjectPropertyExpression[]> simpleObjectPropertyInclusions)
           
protected  Graph<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> buildPropertyOrdering(java.util.Collection<org.semanticweb.owlapi.model.OWLObjectPropertyExpression[]> simpleObjectPropertyInclusions, java.util.Collection<OWLAxioms.ComplexObjectPropertyInclusion> complexObjectPropertyInclusions, java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression>> equivalentPropertiesMap)
           
protected  void checkForRegularity(Graph<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> propertyDependencyGraph, java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression>> equivalentPropertiesMap)
           
protected  void connectAllAutomata(java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,rationals.Automaton> completeAutomata, Graph<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> propertyDependencyGraph, java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression>> inversePropertiesMap, java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,rationals.Automaton> individualAutomata, java.util.Collection<org.semanticweb.owlapi.model.OWLObjectPropertyExpression[]> simpleObjectPropertyInclusions, java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> symmetricObjectProperties, java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> transitiveProperties)
           
protected  void createAutomata(java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,rationals.Automaton> automataByProperty, java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> complexObjectPropertyExpressions, java.util.Collection<org.semanticweb.owlapi.model.OWLObjectPropertyExpression[]> simpleObjectPropertyInclusions, java.util.Collection<OWLAxioms.ComplexObjectPropertyInclusion> complexObjectPropertyInclusions)
           
protected  java.util.Set<rationals.Transition> deltaToState(rationals.Automaton smallerPropertyAutomaton, rationals.State state)
           
protected  java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression>> findEquivalentProperties(java.util.Collection<org.semanticweb.owlapi.model.OWLObjectPropertyExpression[]> simpleObjectPropertyInclusions)
           
protected  java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> findSimpleProperties(Graph<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> complexPropertiesDependencyGraph, java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,rationals.Automaton> individualAutomata)
           
protected  java.util.Map<rationals.State,rationals.State> getDisjointUnion(rationals.Automaton automaton1, rationals.Automaton automaton2)
           
protected  rationals.Automaton getMirroredCopy(rationals.Automaton automaton)
           
protected  void increaseAutomatonWithInversePropertyAutomaton(rationals.Automaton propertyAutomaton, rationals.Automaton inversePropertyAutomaton)
           
protected  void increaseWithDefinedInverseIfNecessary(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyToBuildAutomatonFor, rationals.Automaton leafPropertyAutomaton, java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression>> inversePropertiesMap, java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,rationals.Automaton> individualAutomata)
           
protected  rationals.Automaton minimizeAndNormalizeAutomaton(rationals.Automaton automaton)
           
 void rewriteAxioms(org.semanticweb.owlapi.model.OWLDataFactory dataFactory, OWLAxioms axioms, int firstReplacementIndex)
           
 int rewriteNegativeObjectPropertyAssertions(org.semanticweb.owlapi.model.OWLDataFactory factory, OWLAxioms axioms, int replacementIndex)
           
protected  void useStandardAutomataConnector(rationals.Automaton biggerPropertyAutomaton, rationals.Automaton smallerPropertyAutomaton, rationals.Transition transition)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_automataByProperty

protected final java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,rationals.Automaton> m_automataByProperty
Constructor Detail

ObjectPropertyInclusionManager

public ObjectPropertyInclusionManager(OWLAxioms axioms)
Method Detail

rewriteNegativeObjectPropertyAssertions

public int rewriteNegativeObjectPropertyAssertions(org.semanticweb.owlapi.model.OWLDataFactory factory,
                                                   OWLAxioms axioms,
                                                   int replacementIndex)

rewriteAxioms

public void rewriteAxioms(org.semanticweb.owlapi.model.OWLDataFactory dataFactory,
                          OWLAxioms axioms,
                          int firstReplacementIndex)

createAutomata

protected void createAutomata(java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,rationals.Automaton> automataByProperty,
                              java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> complexObjectPropertyExpressions,
                              java.util.Collection<org.semanticweb.owlapi.model.OWLObjectPropertyExpression[]> simpleObjectPropertyInclusions,
                              java.util.Collection<OWLAxioms.ComplexObjectPropertyInclusion> complexObjectPropertyInclusions)

buildInversePropertiesMap

protected java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression>> buildInversePropertiesMap(java.util.Collection<org.semanticweb.owlapi.model.OWLObjectPropertyExpression[]> simpleObjectPropertyInclusions)

findEquivalentProperties

protected java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression>> findEquivalentProperties(java.util.Collection<org.semanticweb.owlapi.model.OWLObjectPropertyExpression[]> simpleObjectPropertyInclusions)

findSimpleProperties

protected java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> findSimpleProperties(Graph<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> complexPropertiesDependencyGraph,
                                                                                                       java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,rationals.Automaton> individualAutomata)

connectAllAutomata

protected void connectAllAutomata(java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,rationals.Automaton> completeAutomata,
                                  Graph<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> propertyDependencyGraph,
                                  java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression>> inversePropertiesMap,
                                  java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,rationals.Automaton> individualAutomata,
                                  java.util.Collection<org.semanticweb.owlapi.model.OWLObjectPropertyExpression[]> simpleObjectPropertyInclusions,
                                  java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> symmetricObjectProperties,
                                  java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> transitiveProperties)

increaseAutomatonWithInversePropertyAutomaton

protected void increaseAutomatonWithInversePropertyAutomaton(rationals.Automaton propertyAutomaton,
                                                             rationals.Automaton inversePropertyAutomaton)

buildCompleteAutomataForProperties

protected rationals.Automaton buildCompleteAutomataForProperties(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyToBuildAutomatonFor,
                                                                 java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression>> inversePropertiesMap,
                                                                 java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,rationals.Automaton> individualAutomata,
                                                                 java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,rationals.Automaton> completeAutomata,
                                                                 Graph<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> inversedPropertyDependencyGraph,
                                                                 java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> symmetricObjectProperties,
                                                                 java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> transitiveProperties)

increaseWithDefinedInverseIfNecessary

protected void increaseWithDefinedInverseIfNecessary(org.semanticweb.owlapi.model.OWLObjectPropertyExpression propertyToBuildAutomatonFor,
                                                     rationals.Automaton leafPropertyAutomaton,
                                                     java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression>> inversePropertiesMap,
                                                     java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,rationals.Automaton> individualAutomata)

minimizeAndNormalizeAutomaton

protected rationals.Automaton minimizeAndNormalizeAutomaton(rationals.Automaton automaton)

useStandardAutomataConnector

protected void useStandardAutomataConnector(rationals.Automaton biggerPropertyAutomaton,
                                            rationals.Automaton smallerPropertyAutomaton,
                                            rationals.Transition transition)

automataConnector

protected void automataConnector(rationals.Automaton biggerPropertyAutomaton,
                                 rationals.Automaton smallerPropertyAutomaton,
                                 rationals.Transition transition)

deltaToState

protected java.util.Set<rationals.Transition> deltaToState(rationals.Automaton smallerPropertyAutomaton,
                                                           rationals.State state)

buildPropertyOrdering

protected Graph<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> buildPropertyOrdering(java.util.Collection<org.semanticweb.owlapi.model.OWLObjectPropertyExpression[]> simpleObjectPropertyInclusions,
                                                                                                java.util.Collection<OWLAxioms.ComplexObjectPropertyInclusion> complexObjectPropertyInclusions,
                                                                                                java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression>> equivalentPropertiesMap)

checkForRegularity

protected void checkForRegularity(Graph<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> propertyDependencyGraph,
                                  java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression>> equivalentPropertiesMap)

buildIndividualAutomata

protected java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,rationals.Automaton> buildIndividualAutomata(Graph<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> complexPropertiesDependencyGraph,
                                                                                                                              java.util.Collection<org.semanticweb.owlapi.model.OWLObjectPropertyExpression[]> simpleObjectPropertyInclusions,
                                                                                                                              java.util.Collection<OWLAxioms.ComplexObjectPropertyInclusion> complexObjectPropertyInclusions,
                                                                                                                              java.util.Map<org.semanticweb.owlapi.model.OWLObjectPropertyExpression,java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression>> equivalentPropertiesMap,
                                                                                                                              java.util.Set<org.semanticweb.owlapi.model.OWLObjectPropertyExpression> transitiveProperties)

getDisjointUnion

protected java.util.Map<rationals.State,rationals.State> getDisjointUnion(rationals.Automaton automaton1,
                                                                          rationals.Automaton automaton2)

getMirroredCopy

protected rationals.Automaton getMirroredCopy(rationals.Automaton automaton)

addNewTransition

protected rationals.State addNewTransition(rationals.Automaton automaton,
                                           rationals.State fromState,
                                           org.semanticweb.owlapi.model.OWLObjectPropertyExpression objectPropertyExpression)
                                    throws rationals.NoSuchStateException
Throws:
rationals.NoSuchStateException