| Modifier and Type | Field and Description |
|---|---|
protected Set<aterm.ATermAppl> |
classes |
protected KnowledgeBase |
kb |
static Logger |
log |
TgBox |
Tg |
TuBox |
Tu |
| Constructor and Description |
|---|
TBoxExpImpl(KnowledgeBase kb) |
| Modifier and Type | Method and Description |
|---|---|
void |
absorb() |
protected boolean |
absorbNominals(aterm.ATermAppl axiom,
Set<aterm.ATermAppl> explain) |
boolean |
addAxiom(aterm.ATermAppl axiom)
Add a TBox axiom.
|
protected boolean |
addAxiom(aterm.ATermAppl axiom,
Set<aterm.ATermAppl> explain,
boolean forceAddition) |
protected boolean |
addAxiomExplanation(aterm.ATermAppl axiom,
Set<aterm.ATermAppl> explain)
Add a new explanation for the given axiom.
|
boolean |
addClass(aterm.ATermAppl term)
Add a named class declaration
|
boolean |
containsAxiom(aterm.ATermAppl axiom) |
Collection<aterm.ATermAppl> |
getAbsorbedAxioms() |
Set<aterm.ATermAppl> |
getAllClasses()
Return all the named classes plus TOP and BOTTOM
|
Collection<aterm.ATermAppl> |
getAssertedAxioms()
Return all the asserted axioms in this TBox
|
Set<aterm.ATermAppl> |
getAxiomExplanation(aterm.ATermAppl axiom)
Return a single explanation for the given TBox axiom.
|
Set<Set<aterm.ATermAppl>> |
getAxiomExplanations(aterm.ATermAppl axiom)
Return multiple explanations for the given TBox axiom.
|
Collection<aterm.ATermAppl> |
getAxioms()
Return all the axioms defined in this TBox (may include new axioms introduced during absorption)
|
Collection<aterm.ATermAppl> |
getAxioms(aterm.ATermAppl term)
Return all the sub and equivalent class axioms that have
the given concept on the left hand side
|
Set<aterm.ATermAppl> |
getClasses()
Return all the named classes
|
KnowledgeBase |
getKB() |
boolean |
isPrimitive(aterm.ATermAppl c)
Returns if a concept has only primitive definitions in this TBox.
|
void |
prepare()
Make any preparation necessary before reasoning.
|
void |
print() |
void |
print(Appendable str) |
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. |
String |
toString() |
Iterator<Unfolding> |
unfold(aterm.ATermAppl c)
Lazy unfold the given concept
|
public static Logger log
protected KnowledgeBase kb
protected Set<aterm.ATermAppl> classes
public TuBox Tu
public TgBox Tg
public TBoxExpImpl(KnowledgeBase kb)
public KnowledgeBase getKB()
public Set<aterm.ATermAppl> getAllClasses()
TBoxgetAllClasses in interface TBoxpublic Set<Set<aterm.ATermAppl>> getAxiomExplanations(aterm.ATermAppl axiom)
TBoxgetAxiomExplanations in interface TBoxpublic Set<aterm.ATermAppl> getAxiomExplanation(aterm.ATermAppl axiom)
TBoxgetAxiomExplanation in interface TBoxprotected boolean addAxiomExplanation(aterm.ATermAppl axiom,
Set<aterm.ATermAppl> explain)
axiom - explain - public boolean addAxiom(aterm.ATermAppl axiom)
TBoxprotected boolean absorbNominals(aterm.ATermAppl axiom,
Set<aterm.ATermAppl> explain)
protected boolean addAxiom(aterm.ATermAppl axiom,
Set<aterm.ATermAppl> explain,
boolean forceAddition)
public boolean removeAxiom(aterm.ATermAppl axiom)
TBoxaxiom 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
TBox.removeAxiom(ATermAppl, ATermAppl) where both parameters are
axiom.removeAxiom in interface TBoxpublic boolean removeAxiom(aterm.ATermAppl dependantAxiom,
aterm.ATermAppl explanationAxiom)
TBoxdependantAxiom 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).removeAxiom in interface TBoxpublic Collection<aterm.ATermAppl> getAxioms()
TBoxpublic Collection<aterm.ATermAppl> getAssertedAxioms()
TBoxgetAssertedAxioms in interface TBoxpublic Collection<aterm.ATermAppl> getAbsorbedAxioms()
public boolean containsAxiom(aterm.ATermAppl axiom)
public void absorb()
public void print()
public void print(Appendable str)
public boolean addClass(aterm.ATermAppl term)
TBoxpublic Set<aterm.ATermAppl> getClasses()
TBoxgetClasses in interface TBoxpublic Collection<aterm.ATermAppl> getAxioms(aterm.ATermAppl term)
TBoxpublic void prepare()
TBoxpublic Iterator<Unfolding> unfold(aterm.ATermAppl c)
TBoxpublic boolean isPrimitive(aterm.ATermAppl c)
TBoxfalse for complex class
expressions.isPrimitive in interface TBoxc - a concept (named concept or a concept expression)true if the concept is not complex and has only
primitive definitionsCopyright © 2019. All rights reserved.