org.semanticweb.owlapi.debugging
Class AbstractOWLDebugger

java.lang.Object
  extended by org.semanticweb.owlapi.debugging.AbstractOWLDebugger
All Implemented Interfaces:
OWLDebugger
Direct Known Subclasses:
BlackBoxOWLDebugger

public abstract class AbstractOWLDebugger
extends java.lang.Object
implements OWLDebugger

Author: Matthew Horridge
The University Of Manchester
Bio-Health Informatics Group
Date: 24-Nov-2006

An abstract debugger which provides common infrastructure for finding multiple justification. This functionality relies on a concrete implementation of a debugger that can compute a minimal set of axioms that cause the unsatisfiability.


Constructor Summary
protected AbstractOWLDebugger(OWLOntologyManager owlOntologyManager, OWLOntology ontology)
           
 
Method Summary
 void constructHittingSetTree(java.util.Set<OWLAxiom> mups, java.util.Set<java.util.Set<OWLAxiom>> allMups, java.util.Set<java.util.Set<OWLAxiom>> satPaths, java.util.Set<OWLAxiom> currentPathContents)
          This is a recursive method that builds a hitting set tree to obtain all justifications for an unsatisfiable class.
 java.util.Set<java.util.Set<OWLAxiom>> getAllSOSForIncosistentClass(OWLClassExpression cls)
          Gets all sets of supporting axioms that are responsible for the specified class being inconsistent
protected abstract  OWLClassExpression getCurrentClass()
           
 OWLOntology getOWLOntology()
          Gets the OWLOntology that is being debugged.
 OWLOntologyManager getOWLOntologyManager()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.semanticweb.owlapi.debugging.OWLDebugger
dispose, getSOSForIncosistentClass
 

Constructor Detail

AbstractOWLDebugger

protected AbstractOWLDebugger(OWLOntologyManager owlOntologyManager,
                              OWLOntology ontology)
Method Detail

getCurrentClass

protected abstract OWLClassExpression getCurrentClass()
                                               throws OWLException
Throws:
OWLException

getOWLOntology

public OWLOntology getOWLOntology()
                           throws OWLException
Description copied from interface: OWLDebugger
Gets the OWLOntology that is being debugged.

Specified by:
getOWLOntology in interface OWLDebugger
Returns:
Throws:
OWLException

getOWLOntologyManager

public OWLOntologyManager getOWLOntologyManager()
                                         throws OWLException
Throws:
OWLException

getAllSOSForIncosistentClass

public java.util.Set<java.util.Set<OWLAxiom>> getAllSOSForIncosistentClass(OWLClassExpression cls)
                                                                    throws OWLException
Description copied from interface: OWLDebugger
Gets all sets of supporting axioms that are responsible for the specified class being inconsistent

Specified by:
getAllSOSForIncosistentClass in interface OWLDebugger
Returns:
Throws:
OWLException

constructHittingSetTree

public void constructHittingSetTree(java.util.Set<OWLAxiom> mups,
                                    java.util.Set<java.util.Set<OWLAxiom>> allMups,
                                    java.util.Set<java.util.Set<OWLAxiom>> satPaths,
                                    java.util.Set<OWLAxiom> currentPathContents)
                             throws OWLException
This is a recursive method that builds a hitting set tree to obtain all justifications for an unsatisfiable class.

Parameters:
mups - The current justification for the current class. This corresponds to a node in the hitting set tree.
allMups - All of the MUPS that have been found - this set gets populated over the course of the tree building process. Initially this should just contain the first justification
satPaths - Paths that have been completed.
currentPathContents - The contents of the current path. Initially this should be an empty set.
Throws:
OWLException