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 voidaddAllDifferent(openllet.aterm.ATermList list)Say that all the term of the list are different from each-other.voidaddDifferent(openllet.aterm.ATermAppl x, openllet.aterm.ATermAppl y)EdgeaddEdge(openllet.aterm.ATermAppl p, openllet.aterm.ATermAppl s, openllet.aterm.ATermAppl o, DependencySet dsParam)IndividualaddFreshIndividual(Individual parent, DependencySet ds)IndividualaddIndividual(openllet.aterm.ATermAppl x, DependencySet ds)LiteraladdLiteral(openllet.aterm.ATermAppl dataValue)Add a new literal to the ABox.LiteraladdLiteral(openllet.aterm.ATermAppl dataValue, DependencySet ds)LiteraladdLiteral(DependencySet ds)Add a new literal to the ABox.voidaddSame(openllet.aterm.ATermAppl x, openllet.aterm.ATermAppl y)voidaddType(openllet.aterm.ATermAppl x, openllet.aterm.ATermAppl c)voidaddType(openllet.aterm.ATermAppl x, openllet.aterm.ATermAppl cParam, DependencySet dsParam)voidclearCaches(boolean clearSatCache)Clear the pseudo model created for the ABox and concept satisfiability.ABoxImplcopy()ABoxImplcopy(openllet.aterm.ATermAppl extraIndividual, boolean copyIndividuals)Create a copy of this ABox with one more additional individual.ABoxImplcopy(KnowledgeBase kb)voidcopyOnWrite()openllet.aterm.ATermApplcreateUniqueName(boolean isNominal)booleandoExplanation()Checks if the clashExplanation is turned on.booleanexistType(java.util.List<openllet.aterm.ATermAppl> inds, openllet.aterm.ATermAppl cParam)intgetAnonCount()BranchEffectTrackergetBranchEffectTracker()java.util.List<Branch>getBranches()Returns the branches.intgetBranchIndex()Return the _current branch number.ConceptCachegetCache()CachedNodegetCached(openllet.aterm.ATermAppl c)BoolgetCachedSat(openllet.aterm.ATermAppl c)ClashgetClash()CompletionQueuegetCompletionQueue()voidgetComplexObjectPropertyValues(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)DatatypeReasonergetDatatypeReasoner()java.util.Map<openllet.aterm.ATermAppl,int[]>getDisjBranchStats()java.lang.StringgetExplanation()java.util.Set<openllet.aterm.ATermAppl>getExplanationSet()IncrementalChangeTrackergetIncrementalChangeTracker()IndividualIteratorgetIndIterator()IndividualgetIndividual(openllet.aterm.ATerm x)EdgeListgetInEdges(openllet.aterm.ATerm x)KnowledgeBasegetKB()ClashgetLastClash()ABoxgetLastCompletion()LiteralgetLiteral(openllet.aterm.ATerm x)java.util.logging.LoggergetLogger()NodegetNode(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()voidgetObjectPropertyValues(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)voidgetObviousObjects(openllet.aterm.ATermAppl pParam, CandidateSet<openllet.aterm.ATermAppl> candidates)CandidateSet<openllet.aterm.ATermAppl>getObviousSubjects(openllet.aterm.ATermAppl p, openllet.aterm.ATermAppl o)voidgetObviousSubjects(openllet.aterm.ATermAppl p, openllet.aterm.ATermAppl o, CandidateSet<openllet.aterm.ATermAppl> candidates)voidgetObviousTypes(openllet.aterm.ATermAppl x, java.util.List<openllet.aterm.ATermAppl> types, java.util.List<openllet.aterm.ATermAppl> nonTypes)EdgeListgetOutEdges(openllet.aterm.ATerm x)RBoxgetRBox()Return the RBoxRolegetRole(openllet.aterm.ATerm r)Convenience function to get the named role.voidgetSames(Individual ind, java.util.Set<openllet.aterm.ATermAppl> knowns, java.util.Set<openllet.aterm.ATermAppl> unknowns)voidgetSimpleObjectPropertyValues(Individual subj, Role role, java.util.Set<openllet.aterm.ATermAppl> knowns, java.util.Set<openllet.aterm.ATermAppl> unknowns, boolean getSames)ABoxgetSourceABox()ABoxStatsgetStats()voidgetSubjects(openllet.aterm.ATermAppl p, openllet.aterm.ATermAppl o, CandidateSet<openllet.aterm.ATermAppl> candidates)TBoxgetTBox()Return the TBoxjava.util.List<NodeMerge>getToBeMerged()voidgetTransitivePropertyValues(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)BoolhasObviousDataPropertyValue(openllet.aterm.ATermAppl s, openllet.aterm.ATermAppl p, java.lang.Object value)BoolhasObviousObjectPropertyValue(openllet.aterm.ATermAppl s, openllet.aterm.ATermAppl p, openllet.aterm.ATermAppl o)BoolhasObviousPropertyValue(openllet.aterm.ATermAppl s, openllet.aterm.ATermAppl p, openllet.aterm.ATermAppl o)booleanhasPropertyValue(openllet.aterm.ATermAppl s, openllet.aterm.ATermAppl p, openllet.aterm.ATermAppl o)voidincrementBranch()Increment the branch number (should only be called when a non-deterministic rule, e.g. disjunction or max rule, is being applied)booleanisChanged()booleanisClosed()booleanisComplete()booleanisConsistent()booleanisEmpty()booleanisIncConsistent()Check the consistency of this ABox using the incremental consistency checking approachbooleanisInitialized()Check if the ABox is ready to be completed.booleanisKeepLastCompletion()BoolisKnownSubClassOf(openllet.aterm.ATermAppl c1, openllet.aterm.ATermAppl c2)BoolisKnownType(openllet.aterm.ATermAppl x, openllet.aterm.ATermAppl c)BoolisKnownType(openllet.aterm.ATermAppl x, openllet.aterm.ATermAppl c, java.util.Collection<openllet.aterm.ATermAppl> subs)BoolisKnownType(Individual pNode, openllet.aterm.ATermAppl concept, java.util.Collection<openllet.aterm.ATermAppl> subs)booleanisNode(openllet.aterm.ATerm x)booleanisRulesNotApplied()booleanisSameAs(openllet.aterm.ATermAppl ind1, openllet.aterm.ATermAppl ind2)booleanisSatisfiable(openllet.aterm.ATermAppl c)booleanisSatisfiable(openllet.aterm.ATermAppl cParam, boolean cacheModel)booleanisSubClassOf(openllet.aterm.ATermAppl c1, openllet.aterm.ATermAppl c2)booleanisSyntacticUpdate()Set whether changes to the update should be treated as syntactic updates, i.e., if the changes are made on explicit source axioms.booleanisType(openllet.aterm.ATermAppl x, openllet.aterm.ATermAppl cParam)voidprintTree(java.io.PrintStream stream)Print the ABox as a completion tree (child nodes are indented).booleanremoveNode(openllet.aterm.ATermAppl x)Remove the given node from the node map which maps names to nodes.voidremoveType(openllet.aterm.ATermAppl x, openllet.aterm.ATermAppl c)voidreset()Reset the ABox to contain only asserted information.voidresetQueue()intsetAnonCount(int anonCount)voidsetBranchIndex(int branch)Set the _branch number (should only be called when backjumping is in progress)voidsetChanged(boolean changed)voidsetClash(Clash clash)voidsetComplete(boolean isComplete)voidsetDoExplanation(boolean doExplanation)Enable/disable clashExplanation generationvoidsetExplanation(DependencySet ds)voidsetInitialized(boolean initialized)voidsetKeepLastCompletion(boolean keepLastCompletion)voidsetLastCompletion(ABox comp)voidsetRulesNotApplied(boolean rulesNotApplied)voidsetSourceABox(ABox sourceABox)voidsetSyntacticUpdate(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.intsize()java.lang.StringtoString()voidvalidate()Validate all the edges in the ABox nodes.voidvalidate(Individual node)voidvalidateTypes(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:
getLoggerin interfaceopenllet.shared.tools.Logging
-
getNodeList
public java.util.List<openllet.aterm.ATermAppl> getNodeList()
- Specified by:
getNodeListin interfaceABox
-
getSourceABox
public ABox getSourceABox()
- Specified by:
getSourceABoxin interfaceABox
-
setSourceABox
public void setSourceABox(ABox sourceABox)
- Specified by:
setSourceABoxin interfaceABox
-
isRulesNotApplied
public boolean isRulesNotApplied()
- Specified by:
isRulesNotAppliedin interfaceABox
-
setRulesNotApplied
public void setRulesNotApplied(boolean rulesNotApplied)
- Specified by:
setRulesNotAppliedin 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:ABoxCreate 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:
copyOnWritein interfaceABox
-
clearCaches
public void clearCaches(boolean clearSatCache)
Clear the pseudo model created for the ABox and concept satisfiability.- Specified by:
clearCachesin 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:
getCachedSatin 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:
isKnownSubClassOfin interfaceABox
-
isSubClassOf
public boolean isSubClassOf(openllet.aterm.ATermAppl c1, openllet.aterm.ATermAppl c2)- Specified by:
isSubClassOfin interfaceABox
-
isSatisfiable
public boolean isSatisfiable(openllet.aterm.ATermAppl c)
- Specified by:
isSatisfiablein interfaceABox
-
isSatisfiable
public boolean isSatisfiable(openllet.aterm.ATermAppl cParam, boolean cacheModel)- Specified by:
isSatisfiablein interfaceABox
-
getObviousInstances
public CandidateSet<openllet.aterm.ATermAppl> getObviousInstances(openllet.aterm.ATermAppl c)
- Specified by:
getObviousInstancesin interfaceABox
-
getObviousInstances
public CandidateSet<openllet.aterm.ATermAppl> getObviousInstances(openllet.aterm.ATermAppl cParam, java.util.Collection<openllet.aterm.ATermAppl> individuals)
- Specified by:
getObviousInstancesin 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:
getObviousTypesin interfaceABox
-
getObviousSubjects
public CandidateSet<openllet.aterm.ATermAppl> getObviousSubjects(openllet.aterm.ATermAppl p, openllet.aterm.ATermAppl o)
- Specified by:
getObviousSubjectsin interfaceABox
-
getSubjects
public void getSubjects(openllet.aterm.ATermAppl p, openllet.aterm.ATermAppl o, CandidateSet<openllet.aterm.ATermAppl> candidates)- Specified by:
getSubjectsin interfaceABox
-
getObviousSubjects
public void getObviousSubjects(openllet.aterm.ATermAppl p, openllet.aterm.ATermAppl o, CandidateSet<openllet.aterm.ATermAppl> candidates)- Specified by:
getObviousSubjectsin interfaceABox
-
getObviousObjects
public void getObviousObjects(openllet.aterm.ATermAppl pParam, CandidateSet<openllet.aterm.ATermAppl> candidates)- Specified by:
getObviousObjectsin interfaceABox
-
isKnownType
public Bool isKnownType(openllet.aterm.ATermAppl x, openllet.aterm.ATermAppl c)
- Specified by:
isKnownTypein interfaceABox
-
isKnownType
public Bool isKnownType(openllet.aterm.ATermAppl x, openllet.aterm.ATermAppl c, java.util.Collection<openllet.aterm.ATermAppl> subs)
- Specified by:
isKnownTypein interfaceABox
-
isKnownType
public Bool isKnownType(Individual pNode, openllet.aterm.ATermAppl concept, java.util.Collection<openllet.aterm.ATermAppl> subs)
- Specified by:
isKnownTypein 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:
hasObviousPropertyValuein interfaceABox
-
hasObviousDataPropertyValue
public Bool hasObviousDataPropertyValue(openllet.aterm.ATermAppl s, openllet.aterm.ATermAppl p, java.lang.Object value)
- Specified by:
hasObviousDataPropertyValuein interfaceABox
-
hasObviousObjectPropertyValue
public Bool hasObviousObjectPropertyValue(openllet.aterm.ATermAppl s, openllet.aterm.ATermAppl p, openllet.aterm.ATermAppl o)
- Specified by:
hasObviousObjectPropertyValuein interfaceABox
-
hasPropertyValue
public boolean hasPropertyValue(openllet.aterm.ATermAppl s, openllet.aterm.ATermAppl p, openllet.aterm.ATermAppl o)- Specified by:
hasPropertyValuein interfaceABox
-
getDataPropertyValues
public java.util.List<openllet.aterm.ATermAppl> getDataPropertyValues(openllet.aterm.ATermAppl s, Role role, openllet.aterm.ATermAppl datatype)- Specified by:
getDataPropertyValuesin interfaceABox
-
getDataPropertyValues
public java.util.List<openllet.aterm.ATermAppl> getDataPropertyValues(openllet.aterm.ATermAppl s, Role role, openllet.aterm.ATermAppl datatype, boolean onlyObvious)- Specified by:
getDataPropertyValuesin interfaceABox
-
getObviousDataPropertyValues
public java.util.List<openllet.aterm.ATermAppl> getObviousDataPropertyValues(openllet.aterm.ATermAppl s, Role prop, openllet.aterm.ATermAppl datatype)- Specified by:
getObviousDataPropertyValuesin 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:
getObjectPropertyValuesin 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:
getSimpleObjectPropertyValuesin 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:
getTransitivePropertyValuesin 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:
getComplexObjectPropertyValuesin 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:
isConsistentin 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:
isIncConsistentin interfaceABox- Returns:
- true if this ABox is consistent, using the incremental consistency checking approach
-
getInEdges
public EdgeList getInEdges(openllet.aterm.ATerm x)
- Specified by:
getInEdgesin interfaceABox
-
getOutEdges
public EdgeList getOutEdges(openllet.aterm.ATerm x)
- Specified by:
getOutEdgesin interfaceABox
-
getIndividual
public Individual getIndividual(openllet.aterm.ATerm x)
- Specified by:
getIndividualin interfaceABox
-
getLiteral
public Literal getLiteral(openllet.aterm.ATerm x)
- Specified by:
getLiteralin 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:
removeNodein 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:
removeTypein interfaceABox
-
addLiteral
public Literal addLiteral(DependencySet ds)
Description copied from interface:ABoxAdd 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:
addLiteralin 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:
addLiteralin 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:
addLiteralin interfaceABox
-
addIndividual
public Individual addIndividual(openllet.aterm.ATermAppl x, DependencySet ds)
- Specified by:
addIndividualin interfaceABox
-
addFreshIndividual
public Individual addFreshIndividual(Individual parent, DependencySet ds)
- Specified by:
addFreshIndividualin 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:
addDifferentin interfaceABox
-
addAllDifferent
public void addAllDifferent(openllet.aterm.ATermList list)
Description copied from interface:ABoxSay that all the term of the list are different from each-other.- Specified by:
addAllDifferentin interfaceABox- Parameters:
list- of different element.
-
createUniqueName
public final openllet.aterm.ATermAppl createUniqueName(boolean isNominal)
- Specified by:
createUniqueNamein interfaceABox
-
getNodes
public final java.util.Map<openllet.aterm.ATermAppl,Node> getNodes()
-
getNodeNames
public final java.util.List<openllet.aterm.ATermAppl> getNodeNames()
- Specified by:
getNodeNamesin interfaceABox
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getDatatypeReasoner
public DatatypeReasoner getDatatypeReasoner()
- Specified by:
getDatatypeReasonerin interfaceABox- Returns:
- Returns the datatype reasoner.
-
isComplete
public boolean isComplete()
- Specified by:
isCompletein interfaceABox- Returns:
- Returns the isComplete.
-
setComplete
public void setComplete(boolean isComplete)
- Specified by:
setCompletein 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:
getBranchIndexin interfaceABox- Returns:
- Returns the branch.
-
setBranchIndex
public void setBranchIndex(int branch)
Description copied from interface:ABoxSet the _branch number (should only be called when backjumping is in progress)- Specified by:
setBranchIndexin interfaceABox
-
incrementBranch
public void incrementBranch()
Description copied from interface:ABoxIncrement the branch number (should only be called when a non-deterministic rule, e.g. disjunction or max rule, is being applied)- Specified by:
incrementBranchin interfaceABox
-
isInitialized
public boolean isInitialized()
Check if the ABox is ready to be completed.- Specified by:
isInitializedin interfaceABox- Returns:
- Returns the initialized.
-
setInitialized
public void setInitialized(boolean initialized)
- Specified by:
setInitializedin interfaceABox
-
doExplanation
public final boolean doExplanation()
Checks if the clashExplanation is turned on.- Specified by:
doExplanationin interfaceABox- Returns:
- Returns the doExplanation.
-
setDoExplanation
public void setDoExplanation(boolean doExplanation)
Description copied from interface:ABoxEnable/disable clashExplanation generation- Specified by:
setDoExplanationin interfaceABox- Parameters:
doExplanation- The doExplanation to set.
-
setExplanation
public void setExplanation(DependencySet ds)
- Specified by:
setExplanationin interfaceABox
-
getExplanation
public java.lang.String getExplanation()
- Specified by:
getExplanationin interfaceABox
-
getExplanationSet
public java.util.Set<openllet.aterm.ATermAppl> getExplanationSet()
- Specified by:
getExplanationSetin interfaceABox
-
getBranchEffectTracker
public BranchEffectTracker getBranchEffectTracker()
- Specified by:
getBranchEffectTrackerin interfaceABox
-
getBranches
public java.util.List<Branch> getBranches()
Returns the branches.- Specified by:
getBranchesin interfaceABox- Returns:
- the branches.
-
getIncrementalChangeTracker
public IncrementalChangeTracker getIncrementalChangeTracker()
- Specified by:
getIncrementalChangeTrackerin interfaceABox
-
getIndIterator
public IndividualIterator getIndIterator()
- Specified by:
getIndIteratorin 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:
validateTypesin 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:
getLastClashin interfaceABox
-
getLastCompletion
public ABox getLastCompletion()
- Specified by:
getLastCompletionin interfaceABox
-
isKeepLastCompletion
public boolean isKeepLastCompletion()
- Specified by:
isKeepLastCompletionin interfaceABox
-
setKeepLastCompletion
public void setKeepLastCompletion(boolean keepLastCompletion)
- Specified by:
setKeepLastCompletionin interfaceABox
-
size
public int size()
-
isEmpty
public boolean isEmpty()
-
setLastCompletion
public void setLastCompletion(ABox comp)
- Specified by:
setLastCompletionin interfaceABox
-
setSyntacticUpdate
public void setSyntacticUpdate(boolean val)
Description copied from interface:ABoxSet 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:
setSyntacticUpdatein interfaceABox- Parameters:
val- The value
-
isSyntacticUpdate
public boolean isSyntacticUpdate()
Description copied from interface:ABoxSet 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:
isSyntacticUpdatein interfaceABox- Returns:
- the value
-
getCompletionQueue
public CompletionQueue getCompletionQueue()
- Specified by:
getCompletionQueuein 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:
resetQueuein interfaceABox
-
setAnonCount
public int setAnonCount(int anonCount)
- Specified by:
setAnonCountin interfaceABox- Parameters:
anonCount- the anonCount to set- Returns:
- the count set.
-
getAnonCount
public int getAnonCount()
- Specified by:
getAnonCountin interfaceABox- Returns:
- the anonCount
-
getDisjBranchStats
public java.util.Map<openllet.aterm.ATermAppl,int[]> getDisjBranchStats()
- Specified by:
getDisjBranchStatsin interfaceABox- Returns:
- the disjBranchStats
-
setChanged
public void setChanged(boolean changed)
- Specified by:
setChangedin interfaceABox- Parameters:
changed- the changed to set
-
getToBeMerged
public java.util.List<NodeMerge> getToBeMerged()
- Specified by:
getToBeMergedin interfaceABox- Returns:
- the toBeMerged
-
-