org.deri.iris.evaluation.topdown.oldt
Class OLDTEvaluationStrategy

java.lang.Object
  extended by org.deri.iris.evaluation.topdown.oldt.OLDTEvaluationStrategy
All Implemented Interfaces:
IEvaluationStrategy

public class OLDTEvaluationStrategy
extends Object
implements IEvaluationStrategy


Field Summary
protected  Configuration mConfiguration
           
protected  IFacts mFacts
           
protected  List<IRule> mRules
           
 
Constructor Summary
OLDTEvaluationStrategy(IFacts facts, List<IRule> rules, Configuration configuration)
          Constructor
 
Method Summary
 IRelation evaluateQuery(IQuery query, List<IVariable> outputVariables)
          Evaluate the query
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mFacts

protected final IFacts mFacts

mRules

protected final List<IRule> mRules

mConfiguration

protected final Configuration mConfiguration
Constructor Detail

OLDTEvaluationStrategy

public OLDTEvaluationStrategy(IFacts facts,
                              List<IRule> rules,
                              Configuration configuration)
                       throws EvaluationException
Constructor

Parameters:
facts - Given facts.
rules - Given rules.
configuration - Configuration
Throws:
EvaluationException
Method Detail

evaluateQuery

public IRelation evaluateQuery(IQuery query,
                               List<IVariable> outputVariables)
                        throws ProgramNotStratifiedException,
                               RuleUnsafeException,
                               EvaluationException
Evaluate the query

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.