Package openllet.core.boxes.tbox
Interface TBox
-
- All Known Implementing Classes:
TBoxExpImpl
,TBoxImpl
public interface TBox
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description boolean
addAxiom(openllet.aterm.ATermAppl axiom)
Add a TBox axiom.boolean
addClass(openllet.aterm.ATermAppl term)
Add a named class declarationdefault java.util.stream.Stream<openllet.aterm.ATermAppl>
allClasses()
default java.util.stream.Stream<openllet.aterm.ATermAppl>
axioms()
java.util.Set<openllet.aterm.ATermAppl>
getAllClasses()
java.util.Collection<openllet.aterm.ATermAppl>
getAssertedAxioms()
java.util.Set<openllet.aterm.ATermAppl>
getAxiomExplanation(openllet.aterm.ATermAppl axiom)
java.util.Set<java.util.Set<openllet.aterm.ATermAppl>>
getAxiomExplanations(openllet.aterm.ATermAppl axiom)
java.util.Collection<openllet.aterm.ATermAppl>
getAxioms()
java.util.Collection<openllet.aterm.ATermAppl>
getAxioms(openllet.aterm.ATermAppl concept)
java.util.Set<openllet.aterm.ATermAppl>
getClasses()
boolean
isPrimitive(openllet.aterm.ATermAppl c)
Returns if a concept has only primitive definitions in this TBox.void
prepare()
Make any preparation necessary before reasoning.boolean
removeAxiom(openllet.aterm.ATermAppl axiom)
Removeaxiom
from TBox and all other axioms that depend on it.boolean
removeAxiom(openllet.aterm.ATermAppl dependantAxiom, openllet.aterm.ATermAppl explanationAxiom)
Remove all explanations fordependantAxiom
that containexplanationAxiom
.java.util.Iterator<Unfolding>
unfold(openllet.aterm.ATermAppl c)
Lazy unfold the given concept
-
-
-
Method Detail
-
addClass
boolean addClass(openllet.aterm.ATermAppl term)
Add a named class declaration- Parameters:
term
-- Returns:
true
if TBox changed as a result of this call
-
getClasses
java.util.Set<openllet.aterm.ATermAppl> getClasses()
- Returns:
- all the named classes
-
getAllClasses
java.util.Set<openllet.aterm.ATermAppl> getAllClasses()
- Returns:
- all the named classes plus TOP and BOTTOM
-
allClasses
default java.util.stream.Stream<openllet.aterm.ATermAppl> allClasses()
- Returns:
- all the named classes plus TOP and BOTTOM
-
getAxioms
java.util.Collection<openllet.aterm.ATermAppl> getAxioms()
- Returns:
- all the axioms defined in this TBox (may include new axioms introduced during absorption)
-
axioms
default java.util.stream.Stream<openllet.aterm.ATermAppl> axioms()
- Returns:
- all the axioms defined in this TBox (may include new axioms introduced during absorption)
-
getAssertedAxioms
java.util.Collection<openllet.aterm.ATermAppl> getAssertedAxioms()
- Returns:
- all the asserted axioms in this TBox
-
getAxioms
java.util.Collection<openllet.aterm.ATermAppl> getAxioms(openllet.aterm.ATermAppl concept)
- Parameters:
concept
-- Returns:
- all the sub and equivalent class axioms that have the given concept on the left hand side
-
unfold
java.util.Iterator<Unfolding> unfold(openllet.aterm.ATermAppl c)
Lazy unfold the given concept- Parameters:
c
-- Returns:
- the concept the lazy way
-
isPrimitive
boolean isPrimitive(openllet.aterm.ATermAppl c)
Returns if a concept has only primitive definitions in this TBox. Only primitive definitions mean the concept did not have any equivalents defined or all equivalence axioms has been absorbed into primitive definitions. This function returnsfalse
for complex class expressions.- Parameters:
c
- a concept (named concept or a concept expression)- Returns:
true
if the concept is not complex and has only primitive definitions
-
addAxiom
boolean addAxiom(openllet.aterm.ATermAppl axiom)
Add a TBox axiom.- Parameters:
axiom
-- Returns:
- true if operation success
-
removeAxiom
boolean removeAxiom(openllet.aterm.ATermAppl axiom)
Removeaxiom
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 forremoveAxiom(ATermAppl, ATermAppl)
where both parameters areaxiom
.- Parameters:
axiom
-- Returns:
- true if operation success
-
removeAxiom
boolean removeAxiom(openllet.aterm.ATermAppl dependantAxiom, openllet.aterm.ATermAppl explanationAxiom)
Remove all explanations fordependantAxiom
that containexplanationAxiom
. 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:
- true if operation success
-
getAxiomExplanation
java.util.Set<openllet.aterm.ATermAppl> getAxiomExplanation(openllet.aterm.ATermAppl axiom)
- Parameters:
axiom
-- Returns:
- a single clashExplanation for the given TBox axiom.
-
getAxiomExplanations
java.util.Set<java.util.Set<openllet.aterm.ATermAppl>> getAxiomExplanations(openllet.aterm.ATermAppl axiom)
- Parameters:
axiom
-- Returns:
- multiple explanations for the given TBox axiom.
-
prepare
void prepare()
Make any preparation necessary before reasoning.
-
-