Package openllet.core.boxes.abox
Class ABoxImpl
- java.lang.Object
-
- openllet.core.boxes.abox.ABoxImpl
-
-
Field Summary
-
Fields inherited from interface openllet.core.boxes.abox.ABox
IS_CONSISTENT, IS_INC_CONSISTENT
-
-
Constructor Summary
Constructors Constructor Description ABoxImpl(KnowledgeBase kb)
ABoxImpl(KnowledgeBase kb, boolean copyCache)
ABoxImpl(KnowledgeBase kb, ABoxImpl abox, openllet.aterm.ATermAppl extraIndividual, boolean copyIndividuals)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAllDifferent(openllet.aterm.ATermList list)
Say that all the term of the list are different from each-other.void
addDifferent(openllet.aterm.ATermAppl x, openllet.aterm.ATermAppl y)
Edge
addEdge(openllet.aterm.ATermAppl p, openllet.aterm.ATermAppl s, openllet.aterm.ATermAppl o, DependencySet dsParam)
Individual
addFreshIndividual(Individual parent, DependencySet ds)
Individual
addIndividual(openllet.aterm.ATermAppl x, DependencySet ds)
Literal
addLiteral(openllet.aterm.ATermAppl dataValue)
Add a new literal to the ABox.Literal
addLiteral(openllet.aterm.ATermAppl dataValue, DependencySet ds)
Literal
addLiteral(DependencySet ds)
Add a new literal to the ABox.void
addSame(openllet.aterm.ATermAppl x, openllet.aterm.ATermAppl y)
void
addType(openllet.aterm.ATermAppl x, openllet.aterm.ATermAppl c)
void
addType(openllet.aterm.ATermAppl x, openllet.aterm.ATermAppl cParam, DependencySet dsParam)
void
clearCaches(boolean clearSatCache)
Clear the pseudo model created for the ABox and concept satisfiability.ABoxImpl
copy()
ABoxImpl
copy(openllet.aterm.ATermAppl extraIndividual, boolean copyIndividuals)
Create a copy of this ABox with one more additional individual.ABoxImpl
copy(KnowledgeBase kb)
void
copyOnWrite()
openllet.aterm.ATermAppl
createUniqueName(boolean isNominal)
boolean
doExplanation()
Checks if the clashExplanation is turned on.boolean
existType(java.util.List<openllet.aterm.ATermAppl> inds, openllet.aterm.ATermAppl cParam)
int
getAnonCount()
BranchEffectTracker
getBranchEffectTracker()
java.util.List<Branch>
getBranches()
Returns the branches.int
getBranchIndex()
Return the _current branch number.ConceptCache
getCache()
CachedNode
getCached(openllet.aterm.ATermAppl c)
Bool
getCachedSat(openllet.aterm.ATermAppl c)
Clash
getClash()
CompletionQueue
getCompletionQueue()
void
getComplexObjectPropertyValues(Individual subj, State<Role> st, TransitionGraph<Role> tg, java.util.Set<openllet.aterm.ATermAppl> knowns, java.util.Set<openllet.aterm.ATermAppl> unknowns, boolean getSames, java.util.HashMap<Individual,java.util.Set<State<Role>>> visited, boolean isIndependent)
java.util.List<openllet.aterm.ATermAppl>
getDataPropertyValues(openllet.aterm.ATermAppl s, Role role, openllet.aterm.ATermAppl datatype)
java.util.List<openllet.aterm.ATermAppl>
getDataPropertyValues(openllet.aterm.ATermAppl s, Role role, openllet.aterm.ATermAppl datatype, boolean onlyObvious)
DatatypeReasoner
getDatatypeReasoner()
java.util.Map<openllet.aterm.ATermAppl,int[]>
getDisjBranchStats()
java.lang.String
getExplanation()
java.util.Set<openllet.aterm.ATermAppl>
getExplanationSet()
IncrementalChangeTracker
getIncrementalChangeTracker()
IndividualIterator
getIndIterator()
Individual
getIndividual(openllet.aterm.ATerm x)
EdgeList
getInEdges(openllet.aterm.ATerm x)
KnowledgeBase
getKB()
Clash
getLastClash()
ABox
getLastCompletion()
Literal
getLiteral(openllet.aterm.ATerm x)
java.util.logging.Logger
getLogger()
Node
getNode(openllet.aterm.ATerm x)
java.util.List<openllet.aterm.ATermAppl>
getNodeList()
java.util.List<openllet.aterm.ATermAppl>
getNodeNames()
java.util.Map<openllet.aterm.ATermAppl,Node>
getNodes()
void
getObjectPropertyValues(openllet.aterm.ATermAppl s, Role role, java.util.Set<openllet.aterm.ATermAppl> knowns, java.util.Set<openllet.aterm.ATermAppl> unknowns, boolean getSames)
java.util.List<openllet.aterm.ATermAppl>
getObviousDataPropertyValues(openllet.aterm.ATermAppl s, Role prop, openllet.aterm.ATermAppl datatype)
CandidateSet<openllet.aterm.ATermAppl>
getObviousInstances(openllet.aterm.ATermAppl c)
CandidateSet<openllet.aterm.ATermAppl>
getObviousInstances(openllet.aterm.ATermAppl cParam, java.util.Collection<openllet.aterm.ATermAppl> individuals)
void
getObviousObjects(openllet.aterm.ATermAppl pParam, CandidateSet<openllet.aterm.ATermAppl> candidates)
CandidateSet<openllet.aterm.ATermAppl>
getObviousSubjects(openllet.aterm.ATermAppl p, openllet.aterm.ATermAppl o)
void
getObviousSubjects(openllet.aterm.ATermAppl p, openllet.aterm.ATermAppl o, CandidateSet<openllet.aterm.ATermAppl> candidates)
void
getObviousTypes(openllet.aterm.ATermAppl x, java.util.List<openllet.aterm.ATermAppl> types, java.util.List<openllet.aterm.ATermAppl> nonTypes)
EdgeList
getOutEdges(openllet.aterm.ATerm x)
RBox
getRBox()
Return the RBoxRole
getRole(openllet.aterm.ATerm r)
Convenience function to get the named role.void
getSames(Individual ind, java.util.Set<openllet.aterm.ATermAppl> knowns, java.util.Set<openllet.aterm.ATermAppl> unknowns)
void
getSimpleObjectPropertyValues(Individual subj, Role role, java.util.Set<openllet.aterm.ATermAppl> knowns, java.util.Set<openllet.aterm.ATermAppl> unknowns, boolean getSames)
ABox
getSourceABox()
ABoxStats
getStats()
void
getSubjects(openllet.aterm.ATermAppl p, openllet.aterm.ATermAppl o, CandidateSet<openllet.aterm.ATermAppl> candidates)
TBox
getTBox()
Return the TBoxjava.util.List<NodeMerge>
getToBeMerged()
void
getTransitivePropertyValues(Individual subj, Role prop, java.util.Set<openllet.aterm.ATermAppl> knowns, java.util.Set<openllet.aterm.ATermAppl> unknowns, boolean getSames, java.util.Map<Individual,java.util.Set<Role>> visited, boolean isIndependent)
Bool
hasObviousDataPropertyValue(openllet.aterm.ATermAppl s, openllet.aterm.ATermAppl p, java.lang.Object value)
Bool
hasObviousObjectPropertyValue(openllet.aterm.ATermAppl s, openllet.aterm.ATermAppl p, openllet.aterm.ATermAppl o)
Bool
hasObviousPropertyValue(openllet.aterm.ATermAppl s, openllet.aterm.ATermAppl p, openllet.aterm.ATermAppl o)
boolean
hasPropertyValue(openllet.aterm.ATermAppl s, openllet.aterm.ATermAppl p, openllet.aterm.ATermAppl o)
void
incrementBranch()
Increment the branch number (should only be called when a non-deterministic rule, e.g. disjunction or max rule, is being applied)boolean
isChanged()
boolean
isClosed()
boolean
isComplete()
boolean
isConsistent()
boolean
isEmpty()
boolean
isIncConsistent()
Check the consistency of this ABox using the incremental consistency checking approachboolean
isInitialized()
Check if the ABox is ready to be completed.boolean
isKeepLastCompletion()
Bool
isKnownSubClassOf(openllet.aterm.ATermAppl c1, openllet.aterm.ATermAppl c2)
Bool
isKnownType(openllet.aterm.ATermAppl x, openllet.aterm.ATermAppl c)
Bool
isKnownType(openllet.aterm.ATermAppl x, openllet.aterm.ATermAppl c, java.util.Collection<openllet.aterm.ATermAppl> subs)
Bool
isKnownType(Individual pNode, openllet.aterm.ATermAppl concept, java.util.Collection<openllet.aterm.ATermAppl> subs)
boolean
isNode(openllet.aterm.ATerm x)
boolean
isRulesNotApplied()
boolean
isSameAs(openllet.aterm.ATermAppl ind1, openllet.aterm.ATermAppl ind2)
boolean
isSatisfiable(openllet.aterm.ATermAppl c)
boolean
isSatisfiable(openllet.aterm.ATermAppl cParam, boolean cacheModel)
boolean
isSubClassOf(openllet.aterm.ATermAppl c1, openllet.aterm.ATermAppl c2)
boolean
isSyntacticUpdate()
Set whether changes to the update should be treated as syntactic updates, i.e., if the changes are made on explicit source axioms.boolean
isType(openllet.aterm.ATermAppl x, openllet.aterm.ATermAppl cParam)
void
printTree(java.io.PrintStream stream)
Print the ABox as a completion tree (child nodes are indented).boolean
removeNode(openllet.aterm.ATermAppl x)
Remove the given node from the node map which maps names to nodes.void
removeType(openllet.aterm.ATermAppl x, openllet.aterm.ATermAppl c)
void
reset()
Reset the ABox to contain only asserted information.void
resetQueue()
int
setAnonCount(int anonCount)
void
setBranchIndex(int branch)
Set the _branch number (should only be called when backjumping is in progress)void
setChanged(boolean changed)
void
setClash(Clash clash)
void
setComplete(boolean isComplete)
void
setDoExplanation(boolean doExplanation)
Enable/disable clashExplanation generationvoid
setExplanation(DependencySet ds)
void
setInitialized(boolean initialized)
void
setKeepLastCompletion(boolean keepLastCompletion)
void
setLastCompletion(ABox comp)
void
setRulesNotApplied(boolean rulesNotApplied)
void
setSourceABox(ABox sourceABox)
void
setSyntacticUpdate(boolean val)
Set whether changes to the update should be treated as syntactic updates, i.e., if the changes are made on explicit source axioms.int
size()
java.lang.String
toString()
void
validate()
Validate all the edges in the ABox nodes.void
validate(Individual node)
void
validateTypes(Individual node, java.util.List<openllet.aterm.ATermAppl> negatedTypes)
-
-
-
Constructor Detail
-
ABoxImpl
public ABoxImpl(KnowledgeBase kb)
-
ABoxImpl
public ABoxImpl(KnowledgeBase kb, boolean copyCache)
-
ABoxImpl
public ABoxImpl(KnowledgeBase kb, ABoxImpl abox, openllet.aterm.ATermAppl extraIndividual, boolean copyIndividuals)
-
-
Method Detail
-
getLogger
public java.util.logging.Logger getLogger()
- Specified by:
getLogger
in interfaceopenllet.shared.tools.Logging
-
getNodeList
public java.util.List<openllet.aterm.ATermAppl> getNodeList()
- Specified by:
getNodeList
in interfaceABox
-
getSourceABox
public ABox getSourceABox()
- Specified by:
getSourceABox
in interfaceABox
-
setSourceABox
public void setSourceABox(ABox sourceABox)
- Specified by:
setSourceABox
in interfaceABox
-
isRulesNotApplied
public boolean isRulesNotApplied()
- Specified by:
isRulesNotApplied
in interfaceABox
-
setRulesNotApplied
public void setRulesNotApplied(boolean rulesNotApplied)
- Specified by:
setRulesNotApplied
in interfaceABox
-
copy
public ABoxImpl copy()
-
copy
public ABoxImpl copy(KnowledgeBase kb)
-
copy
public ABoxImpl copy(openllet.aterm.ATermAppl extraIndividual, boolean copyIndividuals)
Description copied from interface:ABox
Create a copy of this ABox with one more additional individual. This is NOT equivalent to create a copy and then add the individual. The order of individuals in the ABox is important to figure out which individuals exist in the original ontology and which ones are created by the tableau algorithm. This function creates a new ABox such that the individual is supposed to exist in the original ontology. This is very important when satisfiability of a concept starts with a pesudo model rather than the initial ABox.
-
copyOnWrite
public void copyOnWrite()
- Specified by:
copyOnWrite
in interfaceABox
-
clearCaches
public void clearCaches(boolean clearSatCache)
Clear the pseudo model created for the ABox and concept satisfiability.- Specified by:
clearCaches
in interfaceABox
- Parameters:
clearSatCache
- If true clear concept satisfiability _cache, if false only clear pseudo model.
-
getCachedSat
public Bool getCachedSat(openllet.aterm.ATermAppl c)
- Specified by:
getCachedSat
in interfaceABox
-
getCache
public ConceptCache getCache()
-
getCached
public CachedNode getCached(openllet.aterm.ATermAppl c)
-
isKnownSubClassOf
public Bool isKnownSubClassOf(openllet.aterm.ATermAppl c1, openllet.aterm.ATermAppl c2)
- Specified by:
isKnownSubClassOf
in interfaceABox
-
isSubClassOf
public boolean isSubClassOf(openllet.aterm.ATermAppl c1, openllet.aterm.ATermAppl c2)
- Specified by:
isSubClassOf
in interfaceABox
-
isSatisfiable
public boolean isSatisfiable(openllet.aterm.ATermAppl c)
- Specified by:
isSatisfiable
in interfaceABox
-
isSatisfiable
public boolean isSatisfiable(openllet.aterm.ATermAppl cParam, boolean cacheModel)
- Specified by:
isSatisfiable
in interfaceABox
-
getObviousInstances
public CandidateSet<openllet.aterm.ATermAppl> getObviousInstances(openllet.aterm.ATermAppl c)
- Specified by:
getObviousInstances
in interfaceABox
-
getObviousInstances
public CandidateSet<openllet.aterm.ATermAppl> getObviousInstances(openllet.aterm.ATermAppl cParam, java.util.Collection<openllet.aterm.ATermAppl> individuals)
- Specified by:
getObviousInstances
in interfaceABox
-
getObviousTypes
public void getObviousTypes(openllet.aterm.ATermAppl x, java.util.List<openllet.aterm.ATermAppl> types, java.util.List<openllet.aterm.ATermAppl> nonTypes)
- Specified by:
getObviousTypes
in interfaceABox
-
getObviousSubjects
public CandidateSet<openllet.aterm.ATermAppl> getObviousSubjects(openllet.aterm.ATermAppl p, openllet.aterm.ATermAppl o)
- Specified by:
getObviousSubjects
in interfaceABox
-
getSubjects
public void getSubjects(openllet.aterm.ATermAppl p, openllet.aterm.ATermAppl o, CandidateSet<openllet.aterm.ATermAppl> candidates)
- Specified by:
getSubjects
in interfaceABox
-
getObviousSubjects
public void getObviousSubjects(openllet.aterm.ATermAppl p, openllet.aterm.ATermAppl o, CandidateSet<openllet.aterm.ATermAppl> candidates)
- Specified by:
getObviousSubjects
in interfaceABox
-
getObviousObjects
public void getObviousObjects(openllet.aterm.ATermAppl pParam, CandidateSet<openllet.aterm.ATermAppl> candidates)
- Specified by:
getObviousObjects
in interfaceABox
-
isKnownType
public Bool isKnownType(openllet.aterm.ATermAppl x, openllet.aterm.ATermAppl c)
- Specified by:
isKnownType
in interfaceABox
-
isKnownType
public Bool isKnownType(openllet.aterm.ATermAppl x, openllet.aterm.ATermAppl c, java.util.Collection<openllet.aterm.ATermAppl> subs)
- Specified by:
isKnownType
in interfaceABox
-
isKnownType
public Bool isKnownType(Individual pNode, openllet.aterm.ATermAppl concept, java.util.Collection<openllet.aterm.ATermAppl> subs)
- Specified by:
isKnownType
in interfaceABox
-
isSameAs
public boolean isSameAs(openllet.aterm.ATermAppl ind1, openllet.aterm.ATermAppl ind2)
-
isType
public boolean isType(openllet.aterm.ATermAppl x, openllet.aterm.ATermAppl cParam)
-
existType
public boolean existType(java.util.List<openllet.aterm.ATermAppl> inds, openllet.aterm.ATermAppl cParam)
-
hasObviousPropertyValue
public Bool hasObviousPropertyValue(openllet.aterm.ATermAppl s, openllet.aterm.ATermAppl p, openllet.aterm.ATermAppl o)
- Specified by:
hasObviousPropertyValue
in interfaceABox
-
hasObviousDataPropertyValue
public Bool hasObviousDataPropertyValue(openllet.aterm.ATermAppl s, openllet.aterm.ATermAppl p, java.lang.Object value)
- Specified by:
hasObviousDataPropertyValue
in interfaceABox
-
hasObviousObjectPropertyValue
public Bool hasObviousObjectPropertyValue(openllet.aterm.ATermAppl s, openllet.aterm.ATermAppl p, openllet.aterm.ATermAppl o)
- Specified by:
hasObviousObjectPropertyValue
in interfaceABox
-
hasPropertyValue
public boolean hasPropertyValue(openllet.aterm.ATermAppl s, openllet.aterm.ATermAppl p, openllet.aterm.ATermAppl o)
- Specified by:
hasPropertyValue
in interfaceABox
-
getDataPropertyValues
public java.util.List<openllet.aterm.ATermAppl> getDataPropertyValues(openllet.aterm.ATermAppl s, Role role, openllet.aterm.ATermAppl datatype)
- Specified by:
getDataPropertyValues
in interfaceABox
-
getDataPropertyValues
public java.util.List<openllet.aterm.ATermAppl> getDataPropertyValues(openllet.aterm.ATermAppl s, Role role, openllet.aterm.ATermAppl datatype, boolean onlyObvious)
- Specified by:
getDataPropertyValues
in interfaceABox
-
getObviousDataPropertyValues
public java.util.List<openllet.aterm.ATermAppl> getObviousDataPropertyValues(openllet.aterm.ATermAppl s, Role prop, openllet.aterm.ATermAppl datatype)
- Specified by:
getObviousDataPropertyValues
in interfaceABox
-
getObjectPropertyValues
public void getObjectPropertyValues(openllet.aterm.ATermAppl s, Role role, java.util.Set<openllet.aterm.ATermAppl> knowns, java.util.Set<openllet.aterm.ATermAppl> unknowns, boolean getSames)
- Specified by:
getObjectPropertyValues
in interfaceABox
-
getSimpleObjectPropertyValues
public void getSimpleObjectPropertyValues(Individual subj, Role role, java.util.Set<openllet.aterm.ATermAppl> knowns, java.util.Set<openllet.aterm.ATermAppl> unknowns, boolean getSames)
- Specified by:
getSimpleObjectPropertyValues
in interfaceABox
-
getTransitivePropertyValues
public void getTransitivePropertyValues(Individual subj, Role prop, java.util.Set<openllet.aterm.ATermAppl> knowns, java.util.Set<openllet.aterm.ATermAppl> unknowns, boolean getSames, java.util.Map<Individual,java.util.Set<Role>> visited, boolean isIndependent)
- Specified by:
getTransitivePropertyValues
in interfaceABox
-
getComplexObjectPropertyValues
public void getComplexObjectPropertyValues(Individual subj, State<Role> st, TransitionGraph<Role> tg, java.util.Set<openllet.aterm.ATermAppl> knowns, java.util.Set<openllet.aterm.ATermAppl> unknowns, boolean getSames, java.util.HashMap<Individual,java.util.Set<State<Role>>> visited, boolean isIndependent)
- Specified by:
getComplexObjectPropertyValues
in interfaceABox
-
getSames
public void getSames(Individual ind, java.util.Set<openllet.aterm.ATermAppl> knowns, java.util.Set<openllet.aterm.ATermAppl> unknowns)
-
isConsistent
public boolean isConsistent()
- Specified by:
isConsistent
in interfaceABox
- Returns:
- true if this ABox is consistent. Consistent ABox means after applying all the tableau completion rules at least one _branch with no clashes was found
-
isIncConsistent
public boolean isIncConsistent()
Check the consistency of this ABox using the incremental consistency checking approach- Specified by:
isIncConsistent
in interfaceABox
- Returns:
- true if this ABox is consistent, using the incremental consistency checking approach
-
getInEdges
public EdgeList getInEdges(openllet.aterm.ATerm x)
- Specified by:
getInEdges
in interfaceABox
-
getOutEdges
public EdgeList getOutEdges(openllet.aterm.ATerm x)
- Specified by:
getOutEdges
in interfaceABox
-
getIndividual
public Individual getIndividual(openllet.aterm.ATerm x)
- Specified by:
getIndividual
in interfaceABox
-
getLiteral
public Literal getLiteral(openllet.aterm.ATerm x)
- Specified by:
getLiteral
in interfaceABox
-
addType
public void addType(openllet.aterm.ATermAppl x, openllet.aterm.ATermAppl c)
-
addType
public void addType(openllet.aterm.ATermAppl x, openllet.aterm.ATermAppl cParam, DependencySet dsParam)
-
addEdge
public Edge addEdge(openllet.aterm.ATermAppl p, openllet.aterm.ATermAppl s, openllet.aterm.ATermAppl o, DependencySet dsParam)
-
removeNode
public boolean removeNode(openllet.aterm.ATermAppl x)
Remove the given node from the node map which maps names to nodes. Does not remove the node from the node list or other nodes' edge lists.- Specified by:
removeNode
in interfaceABox
- Parameters:
x
- is a node.- Returns:
- true if something have been remove. false if there was nothing to remove.
-
removeType
public void removeType(openllet.aterm.ATermAppl x, openllet.aterm.ATermAppl c)
- Specified by:
removeType
in interfaceABox
-
addLiteral
public Literal addLiteral(DependencySet ds)
Description copied from interface:ABox
Add a new literal to the ABox. This function is used only when the literal value does not have a known value, e.g. applyMinRule would create such a literal.- Specified by:
addLiteral
in interfaceABox
- Returns:
- the literal added.
-
addLiteral
public Literal addLiteral(openllet.aterm.ATermAppl dataValue)
Add a new literal to the ABox. Literal will be assigned a fresh unique name.- Specified by:
addLiteral
in interfaceABox
- Parameters:
dataValue
- A literal ATerm which should be constructed with one of ATermUtils.makeXXXLiteral functions- Returns:
- Literal object that has been created
-
addLiteral
public Literal addLiteral(openllet.aterm.ATermAppl dataValue, DependencySet ds)
- Specified by:
addLiteral
in interfaceABox
-
addIndividual
public Individual addIndividual(openllet.aterm.ATermAppl x, DependencySet ds)
- Specified by:
addIndividual
in interfaceABox
-
addFreshIndividual
public Individual addFreshIndividual(Individual parent, DependencySet ds)
- Specified by:
addFreshIndividual
in interfaceABox
-
addSame
public void addSame(openllet.aterm.ATermAppl x, openllet.aterm.ATermAppl y)
-
addDifferent
public void addDifferent(openllet.aterm.ATermAppl x, openllet.aterm.ATermAppl y)
- Specified by:
addDifferent
in interfaceABox
-
addAllDifferent
public void addAllDifferent(openllet.aterm.ATermList list)
Description copied from interface:ABox
Say that all the term of the list are different from each-other.- Specified by:
addAllDifferent
in interfaceABox
- Parameters:
list
- of different element.
-
createUniqueName
public final openllet.aterm.ATermAppl createUniqueName(boolean isNominal)
- Specified by:
createUniqueName
in interfaceABox
-
getNodes
public final java.util.Map<openllet.aterm.ATermAppl,Node> getNodes()
-
getNodeNames
public final java.util.List<openllet.aterm.ATermAppl> getNodeNames()
- Specified by:
getNodeNames
in interfaceABox
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
getDatatypeReasoner
public DatatypeReasoner getDatatypeReasoner()
- Specified by:
getDatatypeReasoner
in interfaceABox
- Returns:
- Returns the datatype reasoner.
-
isComplete
public boolean isComplete()
- Specified by:
isComplete
in interfaceABox
- Returns:
- Returns the isComplete.
-
setComplete
public void setComplete(boolean isComplete)
- Specified by:
setComplete
in interfaceABox
- Parameters:
isComplete
- The isComplete to set.
-
isClosed
public boolean isClosed()
-
getKB
public KnowledgeBase getKB()
-
getRole
public Role getRole(openllet.aterm.ATerm r)
Convenience function to get the named role.
-
getRBox
public RBox getRBox()
Return the RBox
-
getTBox
public TBox getTBox()
Return the TBox
-
getBranchIndex
public int getBranchIndex()
Return the _current branch number. Branches are created when a non-deterministic rule, e.g. disjunction or max rule, is being applied.- Specified by:
getBranchIndex
in interfaceABox
- Returns:
- Returns the branch.
-
setBranchIndex
public void setBranchIndex(int branch)
Description copied from interface:ABox
Set the _branch number (should only be called when backjumping is in progress)- Specified by:
setBranchIndex
in interfaceABox
-
incrementBranch
public void incrementBranch()
Description copied from interface:ABox
Increment the branch number (should only be called when a non-deterministic rule, e.g. disjunction or max rule, is being applied)- Specified by:
incrementBranch
in interfaceABox
-
isInitialized
public boolean isInitialized()
Check if the ABox is ready to be completed.- Specified by:
isInitialized
in interfaceABox
- Returns:
- Returns the initialized.
-
setInitialized
public void setInitialized(boolean initialized)
- Specified by:
setInitialized
in interfaceABox
-
doExplanation
public final boolean doExplanation()
Checks if the clashExplanation is turned on.- Specified by:
doExplanation
in interfaceABox
- Returns:
- Returns the doExplanation.
-
setDoExplanation
public void setDoExplanation(boolean doExplanation)
Description copied from interface:ABox
Enable/disable clashExplanation generation- Specified by:
setDoExplanation
in interfaceABox
- Parameters:
doExplanation
- The doExplanation to set.
-
setExplanation
public void setExplanation(DependencySet ds)
- Specified by:
setExplanation
in interfaceABox
-
getExplanation
public java.lang.String getExplanation()
- Specified by:
getExplanation
in interfaceABox
-
getExplanationSet
public java.util.Set<openllet.aterm.ATermAppl> getExplanationSet()
- Specified by:
getExplanationSet
in interfaceABox
-
getBranchEffectTracker
public BranchEffectTracker getBranchEffectTracker()
- Specified by:
getBranchEffectTracker
in interfaceABox
-
getBranches
public java.util.List<Branch> getBranches()
Returns the branches.- Specified by:
getBranches
in interfaceABox
- Returns:
- the branches.
-
getIncrementalChangeTracker
public IncrementalChangeTracker getIncrementalChangeTracker()
- Specified by:
getIncrementalChangeTracker
in interfaceABox
-
getIndIterator
public IndividualIterator getIndIterator()
- Specified by:
getIndIterator
in interfaceABox
- Returns:
- the individuals to which we need to apply the tableau rules
-
validate
public void validate()
Validate all the edges in the ABox nodes. Used to find bugs in the copy and detach/attach functions.
-
validateTypes
public void validateTypes(Individual node, java.util.List<openllet.aterm.ATermAppl> negatedTypes)
- Specified by:
validateTypes
in interfaceABox
-
validate
public void validate(Individual node)
-
printTree
public void printTree(java.io.PrintStream stream)
Print the ABox as a completion tree (child nodes are indented).
-
getLastClash
public Clash getLastClash()
- Specified by:
getLastClash
in interfaceABox
-
getLastCompletion
public ABox getLastCompletion()
- Specified by:
getLastCompletion
in interfaceABox
-
isKeepLastCompletion
public boolean isKeepLastCompletion()
- Specified by:
isKeepLastCompletion
in interfaceABox
-
setKeepLastCompletion
public void setKeepLastCompletion(boolean keepLastCompletion)
- Specified by:
setKeepLastCompletion
in interfaceABox
-
size
public int size()
-
isEmpty
public boolean isEmpty()
-
setLastCompletion
public void setLastCompletion(ABox comp)
- Specified by:
setLastCompletion
in interfaceABox
-
setSyntacticUpdate
public void setSyntacticUpdate(boolean val)
Description copied from interface:ABox
Set whether changes to the update should be treated as syntactic updates, i.e., if the changes are made on explicit source axioms. This is used for the completion queue for incremental consistency checking purposes.- Specified by:
setSyntacticUpdate
in interfaceABox
- Parameters:
val
- The value
-
isSyntacticUpdate
public boolean isSyntacticUpdate()
Description copied from interface:ABox
Set whether changes to the update should be treated as syntactic updates, i.e., if the changes are made on explicit source axioms. This is used for the completion _queue for incremental consistency checking purposes.- Specified by:
isSyntacticUpdate
in interfaceABox
- Returns:
- the value
-
getCompletionQueue
public CompletionQueue getCompletionQueue()
- Specified by:
getCompletionQueue
in interfaceABox
-
reset
public void reset()
Reset the ABox to contain only asserted information. Any ABox assertion added by tableau rules will be removed.
-
resetQueue
public void resetQueue()
- Specified by:
resetQueue
in interfaceABox
-
setAnonCount
public int setAnonCount(int anonCount)
- Specified by:
setAnonCount
in interfaceABox
- Parameters:
anonCount
- the anonCount to set- Returns:
- the count set.
-
getAnonCount
public int getAnonCount()
- Specified by:
getAnonCount
in interfaceABox
- Returns:
- the anonCount
-
getDisjBranchStats
public java.util.Map<openllet.aterm.ATermAppl,int[]> getDisjBranchStats()
- Specified by:
getDisjBranchStats
in interfaceABox
- Returns:
- the disjBranchStats
-
setChanged
public void setChanged(boolean changed)
- Specified by:
setChanged
in interfaceABox
- Parameters:
changed
- the changed to set
-
getToBeMerged
public java.util.List<NodeMerge> getToBeMerged()
- Specified by:
getToBeMerged
in interfaceABox
- Returns:
- the toBeMerged
-
-