org.semanticweb.HermiT.hierarchy
Class QuasiOrderClassification

java.lang.Object
  extended by org.semanticweb.HermiT.hierarchy.QuasiOrderClassification
Direct Known Subclasses:
QuasiOrderClassificationForRoles

public class QuasiOrderClassification
extends java.lang.Object


Field Summary
protected  AtomicConcept m_bottomElement
           
protected  java.util.Set<AtomicConcept> m_elements
           
protected  Graph<AtomicConcept> m_knownSubsumptions
           
protected  Graph<AtomicConcept> m_possibleSubsumptions
           
protected  ClassificationProgressMonitor m_progressMonitor
           
protected  Tableau m_tableau
           
protected  AtomicConcept m_topElement
           
 
Constructor Summary
QuasiOrderClassification(Tableau tableau, ClassificationProgressMonitor progressMonitor, AtomicConcept topElement, AtomicConcept bottomElement, java.util.Set<AtomicConcept> elements)
           
 
Method Summary
protected  void addKnownSubsumption(AtomicConcept subConcept, AtomicConcept superConcept)
           
protected  void addKnownSubsumptions(AtomicConcept subConcept, java.util.Set<AtomicConcept> superConcepts)
           
protected  void addPossibleSubsumption(AtomicConcept subConcept, AtomicConcept superConcept)
           
protected  Hierarchy<AtomicConcept> buildHierarchy(HierarchySearch.Relation<AtomicConcept> hierarchyRelation)
           
protected  Hierarchy<AtomicConcept> buildHierarchyOfUnknownPossible(java.util.Set<AtomicConcept> unknownSubsumers)
           
protected  Node buildModelForConcept(AtomicConcept concept)
           
protected  Hierarchy<AtomicConcept> buildTransitivelyReducedHierarchy(Graph<AtomicConcept> knownSubsumptions, java.util.Set<AtomicConcept> elements)
           
protected  void checkUnknownSubsumersUsingEnhancedTraversal(HierarchySearch.Relation<AtomicConcept> hierarchyRelation, HierarchyNode<AtomicConcept> startNode, AtomicConcept pickedElement)
           
 Hierarchy<AtomicConcept> classify()
           
protected  java.util.Set<AtomicConcept> getAllKnownSubsumers(AtomicConcept child)
           
protected  ReasoningTaskDescription getSatTestDescription(AtomicConcept atomicConcept)
           
protected  ReasoningTaskDescription getSubsumedByListTestDescription(AtomicConcept subConcept, java.lang.Object[] superconcepts)
           
protected  ReasoningTaskDescription getSubsumptionTestDescription(AtomicConcept subConcept, AtomicConcept superConcept)
           
protected  void initialiseKnownSubsumptionsUsingToldSubsumers()
           
protected  void initialiseKnownSubsumptionsUsingToldSubsumers(java.util.Set<DLClause> dlClauses)
           
protected  boolean isEveryPossibleSubsumerNonSubsumer(java.util.Set<AtomicConcept> unknownPossibleSubsumers, AtomicConcept pickedElement, int lowerBound, int upperBound)
           
protected  boolean isUnsatisfiable(AtomicConcept concept)
           
protected  void makeConceptUnsatisfiable(AtomicConcept concept)
           
protected  void prunePossibleSubsumers()
           
protected  void prunePossibleSubsumersOfConcept(AtomicConcept atomicConcept, Node node)
           
protected  void readKnownSubsumersFromRootNode(AtomicConcept subconcept, Node checkedNode)
           
protected  void readPossibleSubsumersFromNodeLabel(AtomicConcept atomicConcept, Node node)
           
protected  void updatePossibleSubsumers()
           
protected  double updateSubsumptionsUsingLeafNodeStrategy(double totalNumberOfTasks)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_tableau

protected final Tableau m_tableau

m_progressMonitor

protected final ClassificationProgressMonitor m_progressMonitor

m_topElement

protected final AtomicConcept m_topElement

m_bottomElement

protected final AtomicConcept m_bottomElement

m_elements

protected final java.util.Set<AtomicConcept> m_elements

m_knownSubsumptions

protected final Graph<AtomicConcept> m_knownSubsumptions

m_possibleSubsumptions

protected final Graph<AtomicConcept> m_possibleSubsumptions
Constructor Detail

QuasiOrderClassification

public QuasiOrderClassification(Tableau tableau,
                                ClassificationProgressMonitor progressMonitor,
                                AtomicConcept topElement,
                                AtomicConcept bottomElement,
                                java.util.Set<AtomicConcept> elements)
Method Detail

classify

public Hierarchy<AtomicConcept> classify()

buildHierarchy

protected Hierarchy<AtomicConcept> buildHierarchy(HierarchySearch.Relation<AtomicConcept> hierarchyRelation)

buildHierarchyOfUnknownPossible

protected Hierarchy<AtomicConcept> buildHierarchyOfUnknownPossible(java.util.Set<AtomicConcept> unknownSubsumers)

updateSubsumptionsUsingLeafNodeStrategy

protected double updateSubsumptionsUsingLeafNodeStrategy(double totalNumberOfTasks)

buildModelForConcept

protected Node buildModelForConcept(AtomicConcept concept)

makeConceptUnsatisfiable

protected void makeConceptUnsatisfiable(AtomicConcept concept)

isUnsatisfiable

protected boolean isUnsatisfiable(AtomicConcept concept)

readKnownSubsumersFromRootNode

protected void readKnownSubsumersFromRootNode(AtomicConcept subconcept,
                                              Node checkedNode)

updatePossibleSubsumers

protected void updatePossibleSubsumers()

prunePossibleSubsumers

protected void prunePossibleSubsumers()

prunePossibleSubsumersOfConcept

protected void prunePossibleSubsumersOfConcept(AtomicConcept atomicConcept,
                                               Node node)

readPossibleSubsumersFromNodeLabel

protected void readPossibleSubsumersFromNodeLabel(AtomicConcept atomicConcept,
                                                  Node node)

buildTransitivelyReducedHierarchy

protected Hierarchy<AtomicConcept> buildTransitivelyReducedHierarchy(Graph<AtomicConcept> knownSubsumptions,
                                                                     java.util.Set<AtomicConcept> elements)

initialiseKnownSubsumptionsUsingToldSubsumers

protected void initialiseKnownSubsumptionsUsingToldSubsumers()

initialiseKnownSubsumptionsUsingToldSubsumers

protected void initialiseKnownSubsumptionsUsingToldSubsumers(java.util.Set<DLClause> dlClauses)

checkUnknownSubsumersUsingEnhancedTraversal

protected void checkUnknownSubsumersUsingEnhancedTraversal(HierarchySearch.Relation<AtomicConcept> hierarchyRelation,
                                                           HierarchyNode<AtomicConcept> startNode,
                                                           AtomicConcept pickedElement)

isEveryPossibleSubsumerNonSubsumer

protected boolean isEveryPossibleSubsumerNonSubsumer(java.util.Set<AtomicConcept> unknownPossibleSubsumers,
                                                     AtomicConcept pickedElement,
                                                     int lowerBound,
                                                     int upperBound)

getAllKnownSubsumers

protected java.util.Set<AtomicConcept> getAllKnownSubsumers(AtomicConcept child)

addKnownSubsumption

protected void addKnownSubsumption(AtomicConcept subConcept,
                                   AtomicConcept superConcept)

addKnownSubsumptions

protected void addKnownSubsumptions(AtomicConcept subConcept,
                                    java.util.Set<AtomicConcept> superConcepts)

addPossibleSubsumption

protected void addPossibleSubsumption(AtomicConcept subConcept,
                                      AtomicConcept superConcept)

getSatTestDescription

protected ReasoningTaskDescription getSatTestDescription(AtomicConcept atomicConcept)

getSubsumptionTestDescription

protected ReasoningTaskDescription getSubsumptionTestDescription(AtomicConcept subConcept,
                                                                 AtomicConcept superConcept)

getSubsumedByListTestDescription

protected ReasoningTaskDescription getSubsumedByListTestDescription(AtomicConcept subConcept,
                                                                    java.lang.Object[] superconcepts)