org.deri.iris.evaluation.stratifiedbottomup
Class StratifiedBottomUpEvaluationStrategy

java.lang.Object
  extended by org.deri.iris.evaluation.stratifiedbottomup.StratifiedBottomUpEvaluationStrategy
All Implemented Interfaces:
IEvaluationStrategy

public class StratifiedBottomUpEvaluationStrategy
extends Object
implements IEvaluationStrategy

A strategy that uses bottom up evaluation on a stratified rule set.


Field Summary
protected  Configuration mConfiguration
           
protected  IEquivalentTerms mEquivalentTerms
           
protected  IFacts mFacts
           
protected  IRuleEvaluatorFactory mRuleEvaluatorFactory
           
 
Method Summary
 IRelation evaluateQuery(IQuery query, List<IVariable> outputVariables)
          Evaluate a query and optionally return the variable bindings.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mEquivalentTerms

protected IEquivalentTerms mEquivalentTerms

mConfiguration

protected final Configuration mConfiguration

mFacts

protected final IFacts mFacts

mRuleEvaluatorFactory

protected final IRuleEvaluatorFactory mRuleEvaluatorFactory
Method Detail

evaluateQuery

public IRelation evaluateQuery(IQuery query,
                               List<IVariable> outputVariables)
                        throws EvaluationException
Description copied from interface: IEvaluationStrategy
Evaluate a query and optionally return the variable bindings.

Specified by:
evaluateQuery in interface IEvaluationStrategy
Parameters:
query - The query to evaluate.
outputVariables - If this is not null, it will be filled with the variable bindings of the result relation, i.e. there will be one variable instance for each term (in one row) of the results set
Returns:
The relation of results.
Throws:
ProgramNotStratifiedException - If the program (knowledge-base)can not be stratified
RuleUnsafeException - If the program (knowledge-base) contains an unsafe rule.
EvaluationException - If the evaluation fails for any other reason.