com.clarkparsia.explanation
Interface SingleExplanationGenerator

All Known Subinterfaces:
MultipleExplanationGenerator
All Known Implementing Classes:
BlackBoxExplanation, HSTExplanationGenerator, SingleExplanationGeneratorImpl

public interface SingleExplanationGenerator

Description: The explanation generator interface for returning a single explanation for an unsatisfiable class. Use SatisfiabilityConverter to convert an arbitrary axiom into a class description that can be used to generate explanations for that axiom.

Copyright: Copyright (c) 2007

Company: Clark & Parsia, LLC.

Author:
Evren Sirin

Method Summary
 java.util.Set<OWLAxiom> getExplanation(OWLDescription unsatClass)
          Get a single explanation for an arbitrary class expression, or empty set if the given expression is satisfiable.
 OWLOntology getOntology()
          Returns the ontology according to which the explanations are generated.
 OWLOntologyManager getOntologyManager()
          Get the ontology manager for this explanation generator.
 OWLClassReasoner getReasoner()
          Returns the reasoner associated with this generator.
 ReasonerFactory getReasonerFactory()
          Returns the reasoner factory used to generate reasoners.
 void setOntology(OWLOntology ont)
          Sets the ontology according to which the explanations are generated.
 void setReasoner(OWLClassReasoner reasoner)
          Sets the reasoner that will be used to generate explanations.
 void setReasonerFactory(ReasonerFactory reasonerFactory)
          Sets the reasoner factory that will be used to generate fresh reasoners.
 

Method Detail

getOntologyManager

OWLOntologyManager getOntologyManager()
Get the ontology manager for this explanation generator.


setOntology

void setOntology(OWLOntology ont)
Sets the ontology according to which the explanations are generated.


getOntology

OWLOntology getOntology()
Returns the ontology according to which the explanations are generated.


setReasoner

void setReasoner(OWLClassReasoner reasoner)
Sets the reasoner that will be used to generate explanations. This function is provided in addition to setReasonerFactory(ReasonerFactory) because the reasoning results already computed by the given reasoner can be reused. It is guaranteed that the state of this reasoner will not be invalidated by explanation generation, i.e. if the reasoner was in classified state it will stay in classified state.


getReasoner

OWLClassReasoner getReasoner()
Returns the reasoner associated with this generator.


setReasonerFactory

void setReasonerFactory(ReasonerFactory reasonerFactory)
Sets the reasoner factory that will be used to generate fresh reasoners. We create new reasoner instances to avoid invalidating the reasoning state of existing reasoners. Explanation generation process will modify the original ontology and/or reason over a subset of the original ontology. Using an alternate fresh reasoner for these tasks ensures efficient explanation generation without side effects to anything outside the explanation generatyor.


getReasonerFactory

ReasonerFactory getReasonerFactory()
Returns the reasoner factory used to generate reasoners.


getExplanation

java.util.Set<OWLAxiom> getExplanation(OWLDescription unsatClass)
Get a single explanation for an arbitrary class expression, or empty set if the given expression is satisfiable.

Parameters:
unsatClass - arbitrary class expression whose unsatisfiability will be explained
Returns:
set of axioms explaining the unsatisfiability of given class expression, or empty set if the given expression is satisfiable.