org.mindswap.pellet.tableau.completion
Class CompletionStrategy

java.lang.Object
  extended by org.mindswap.pellet.tableau.completion.CompletionStrategy
Direct Known Subclasses:
EmptySRIQStrategy, SROIQStrategy

public abstract class CompletionStrategy
extends java.lang.Object

A completion strategy specifies how the tableau rules will be applied to an ABox. Depending on the expressivity of the KB, e.g. SHIN, SHON, etc., different (more efficient) strategies may be used. This class is the base for all different implementations and contains strategy independent functions.

Author:
Evren Sirin

Field Summary
static java.util.logging.Logger log
           
 
Constructor Summary
CompletionStrategy(ABox abox)
           
 
Method Summary
 void addBranch(Branch newBranch)
           
 void addEdge(Individual subj, Role pred, Node obj, DependencySet ds)
           
 void addType(Node node, aterm.ATermAppl c, DependencySet ds)
           
 void checkTimer()
           
abstract  void complete(Expressivity expr)
          apply all the tableau rules to the designated ABox
 Individual createFreshIndividual(Individual parent, DependencySet ds)
           
 ABox getABox()
           
 Blocking getBlocking()
           
 java.util.Iterator<Individual> getInitializeIterator()
          Return individuals to which we need to apply the initialization rules
 TBox getTBox()
           
 void initialize(Expressivity expressivity)
           
 void mergeAll()
          Merge all node pairs in the queue.
 void mergeTo(Node y, Node z, DependencySet ds)
          Merge node y into z.
 void restore(Branch br)
           
 void restoreLocal(Individual ind, Branch br)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

log

public static final java.util.logging.Logger log
Constructor Detail

CompletionStrategy

public CompletionStrategy(ABox abox)
Method Detail

getABox

public ABox getABox()

getTBox

public TBox getTBox()

getBlocking

public Blocking getBlocking()

checkTimer

public void checkTimer()

getInitializeIterator

public java.util.Iterator<Individual> getInitializeIterator()
Return individuals to which we need to apply the initialization rules

Returns:

initialize

public void initialize(Expressivity expressivity)

complete

public abstract void complete(Expressivity expr)
apply all the tableau rules to the designated ABox


createFreshIndividual

public Individual createFreshIndividual(Individual parent,
                                        DependencySet ds)

addType

public void addType(Node node,
                    aterm.ATermAppl c,
                    DependencySet ds)

addEdge

public void addEdge(Individual subj,
                    Role pred,
                    Node obj,
                    DependencySet ds)

mergeAll

public void mergeAll()
Merge all node pairs in the queue.


mergeTo

public void mergeTo(Node y,
                    Node z,
                    DependencySet ds)
Merge node y into z. Node y and all its descendants will be pruned from the completion graph.

Parameters:
y - Node being pruned
z - Node that is being merged into
ds - Dependency of this merge operation

restoreLocal

public void restoreLocal(Individual ind,
                         Branch br)

restore

public void restore(Branch br)

addBranch

public void addBranch(Branch newBranch)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2004 Evren Sirin. All Rights Reserved.