org.mindswap.pellet.tbox
Interface TBox

All Known Implementing Classes:
TBoxExpImpl

public interface TBox


Method Summary
 void absorb()
          Absorb GCIs into primitive definitions
 boolean addAxiom(aterm.ATermAppl axiom)
          Add a TBox axiom.
 boolean addClass(aterm.ATermAppl term)
          Add a named class declaration
 java.util.Set<aterm.ATermAppl> getAllClasses()
          Return all the named classes plus TOP and BOTTOM
 java.util.Collection<aterm.ATermAppl> getAssertedAxioms()
          Return all the asserted axioms in this TBox
 java.util.Set<aterm.ATermAppl> getAxiomExplanation(aterm.ATermAppl axiom)
          Return a single explanation for the given TBox axiom.
 java.util.Set<java.util.Set<aterm.ATermAppl>> getAxiomExplanations(aterm.ATermAppl axiom)
          Return multiple explanations for the given TBox axiom.
 java.util.Collection<aterm.ATermAppl> getAxioms()
          Return all the axioms defined in this TBox (may include new axioms introduced during absorption)
 java.util.Collection<aterm.ATermAppl> getAxioms(aterm.ATermAppl concept)
          Return all the sub and equivalent class axioms that have the given concept on the left hand side
 java.util.Set<aterm.ATermAppl> getClasses()
          Return all the named classes
 java.util.List<Pair<aterm.ATermAppl,DependencySet>> getUC()
          Return the concepts the comprise the universal concept.
 void internalize()
          Turn the non-absorbed GCIs into disjunctions that will be used in the universal concept
 void normalize()
          Normalize the primitive definitions so they can be directly used in unfolding
 boolean removeAxiom(aterm.ATermAppl axiom)
          Remove axiom from TBox and all other axioms that depend on it.
 boolean removeAxiom(aterm.ATermAppl dependantAxiom, aterm.ATermAppl explanationAxiom)
          Remove all explanations for dependantAxiom that contain explanationAxiom.
 java.util.List<Pair<aterm.ATermAppl,java.util.Set<aterm.ATermAppl>>> unfold(aterm.ATermAppl c)
          Lazy unfold the given concept
 

Method Detail

addClass

boolean addClass(aterm.ATermAppl term)
Add a named class declaration

Returns:
true if TBox changed as a result of this call

getClasses

java.util.Set<aterm.ATermAppl> getClasses()
Return all the named classes


getAllClasses

java.util.Set<aterm.ATermAppl> getAllClasses()
Return all the named classes plus TOP and BOTTOM


getAxioms

java.util.Collection<aterm.ATermAppl> getAxioms()
Return all the axioms defined in this TBox (may include new axioms introduced during absorption)


getAssertedAxioms

java.util.Collection<aterm.ATermAppl> getAssertedAxioms()
Return all the asserted axioms in this TBox


getAxioms

java.util.Collection<aterm.ATermAppl> getAxioms(aterm.ATermAppl concept)
Return all the sub and equivalent class axioms that have the given concept on the left hand side


absorb

void absorb()
Absorb GCIs into primitive definitions


normalize

void normalize()
Normalize the primitive definitions so they can be directly used in unfolding


internalize

void internalize()
Turn the non-absorbed GCIs into disjunctions that will be used in the universal concept


getUC

java.util.List<Pair<aterm.ATermAppl,DependencySet>> getUC()
Return the concepts the comprise the universal concept. Universal concept is the conjunction of concepts returned in the list and each concept in the list is added to the every individual during tableau completion. The return value is a list of pairs where the each concept is paired with the set of asserted axioms that gives the set of assertions for that concept.

Returns:
list of concepts that comprise the universal concept or empty set if no such concept exists

unfold

java.util.List<Pair<aterm.ATermAppl,java.util.Set<aterm.ATermAppl>>> unfold(aterm.ATermAppl c)
Lazy unfold the given concept

Parameters:
c -
Returns:

addAxiom

boolean addAxiom(aterm.ATermAppl axiom)
Add a TBox axiom.

Parameters:
axiom -
Returns:

removeAxiom

boolean removeAxiom(aterm.ATermAppl axiom)
Remove axiom from TBox and all other axioms that depend on it. An axiom depends on another axiom if it is a syntactic transformation (as in disjoint axiom is transformed into subclass) or it is obtained via absorption (as equivalent class axioms are absorbed into subclass axioms). This method is syntactic sugar for removeAxiom(ATermAppl, ATermAppl) where both parameters are axiom.

Parameters:
axiom -
Returns:

removeAxiom

boolean removeAxiom(aterm.ATermAppl dependantAxiom,
                    aterm.ATermAppl explanationAxiom)
Remove all explanations for dependantAxiom that contain explanationAxiom. If no explanations remain, dependantAxiom is removed and all axioms which depend on it are updated (and will be removed if they have no additional explanations).

Parameters:
dependantAxiom -
explanationAxiom -
Returns:

getAxiomExplanation

java.util.Set<aterm.ATermAppl> getAxiomExplanation(aterm.ATermAppl axiom)
Return a single explanation for the given TBox axiom.

Parameters:
axiom -
Returns:

getAxiomExplanations

java.util.Set<java.util.Set<aterm.ATermAppl>> getAxiomExplanations(aterm.ATermAppl axiom)
Return multiple explanations for the given TBox axiom.

Parameters:
axiom -
Returns:


Copyright © 2004 Evren Sirin. All Rights Reserved.