public abstract class CompletionStrategy extends Object
| Modifier and Type | Field and Description |
|---|---|
protected ABox |
abox
ABox being completed
|
protected AllValuesRule |
allValuesRule |
protected Blocking |
blocking
Blocking method specific to this completion strategy
|
protected TableauRule |
chooseRule |
protected Timer |
completionTimer
Timer to be used by the complete function.
|
protected TableauRule |
dataCardRule |
protected TableauRule |
dataSatRule |
protected TableauRule |
disjunctionRule |
protected TableauRule |
guessRule |
static Logger |
log |
protected MaxRule |
maxRule |
protected List<NodeMerge> |
mergeList
The queue of node pairs that are waiting to be merged
|
protected TableauRule |
minRule |
protected TableauRule |
nominalRule |
protected TableauRule |
selfRule |
protected TableauRule |
someValuesRule |
protected List<TableauRule> |
tableauRules |
protected TBox |
tbox
TBox associated with the abox
|
protected Timers |
timers
Timers of the associated KB
|
protected TableauRule |
unfoldingRule |
| Constructor and Description |
|---|
CompletionStrategy(ABox abox) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addAllRules() |
void |
addBranch(Branch newBranch) |
Edge |
addEdge(Individual subj,
Role pred,
Node obj,
DependencySet ds) |
void |
addType(Node node,
aterm.ATermAppl c,
DependencySet ds) |
protected void |
applyFunctionalMaxRule(Literal x,
Role r,
DependencySet ds) |
void |
checkTimer() |
abstract void |
complete(Expressivity expr)
apply all the tableau rules to the designated ABox
|
protected void |
configureTableauRules(Expressivity expr) |
Individual |
createFreshIndividual(Individual parent,
DependencySet ds) |
ABox |
getABox() |
Blocking |
getBlocking() |
Iterator<Individual> |
getInitializeIterator()
Return individuals to which we need to apply the initialization rules
|
TBox |
getTBox() |
protected boolean |
implicitNominals() |
void |
initialize(Expressivity expressivity) |
void |
mergeAll()
Merge all node pairs in the queue.
|
protected boolean |
mergeIndividuals(Individual y,
Individual x,
DependencySet ds)
Merge individual y into x.
|
protected void |
mergeLiterals(Literal y,
Literal x,
DependencySet ds)
Merge literal y into x.
|
void |
mergeTo(Node y,
Node z,
DependencySet ds)
Merge node y into z.
|
void |
restore(Branch br) |
protected void |
restoreAllValues() |
void |
restoreLocal(Individual ind,
Branch br) |
boolean |
setDifferent(Node y,
Node z,
DependencySet ds) |
String |
toString() |
protected void |
updateQueueAddEdge(Individual subj,
Role pred,
Node obj)
This method updates the queue in the event that there is an edge added between two nodes.
|
public static final Logger log
protected ABox abox
protected TBox tbox
protected Blocking blocking
protected Timers timers
protected Timer completionTimer
protected TableauRule unfoldingRule
protected TableauRule disjunctionRule
protected AllValuesRule allValuesRule
protected TableauRule someValuesRule
protected TableauRule chooseRule
protected TableauRule minRule
protected MaxRule maxRule
protected TableauRule selfRule
protected TableauRule nominalRule
protected TableauRule guessRule
protected TableauRule dataSatRule
protected TableauRule dataCardRule
protected List<TableauRule> tableauRules
public CompletionStrategy(ABox abox)
public ABox getABox()
public TBox getTBox()
public Blocking getBlocking()
public void checkTimer()
public Iterator<Individual> getInitializeIterator()
protected void configureTableauRules(Expressivity expr)
protected void addAllRules()
protected boolean implicitNominals()
public void initialize(Expressivity expressivity)
public abstract void complete(Expressivity expr)
public Individual createFreshIndividual(Individual parent, DependencySet ds)
public void addType(Node node, aterm.ATermAppl c, DependencySet ds)
protected void updateQueueAddEdge(Individual subj, Role pred, Node obj)
public Edge addEdge(Individual subj, Role pred, Node obj, DependencySet ds)
protected void applyFunctionalMaxRule(Literal x, Role r, DependencySet ds)
public void mergeAll()
public void mergeTo(Node y, Node z, DependencySet ds)
y - Node being prunedz - Node that is being merged intods - Dependency of this merge operationprotected boolean mergeIndividuals(Individual y, Individual x, DependencySet ds)
y - Individual being prunedx - Individual that is being merged intods - Dependency of this merge operationprotected void mergeLiterals(Literal y, Literal x, DependencySet ds)
y - Literal being prunedx - Literal that is being merged intods - Dependency of this merge operationpublic boolean setDifferent(Node y, Node z, DependencySet ds)
public void restoreLocal(Individual ind, Branch br)
public void restore(Branch br)
public void addBranch(Branch newBranch)
protected void restoreAllValues()
Copyright © 2019. All rights reserved.