org.deri.iris.evaluation.wellfounded
Class WellFoundedEvaluationStrategy

java.lang.Object
  extended by org.deri.iris.evaluation.wellfounded.WellFoundedEvaluationStrategy
All Implemented Interfaces:
IEvaluationStrategy

public class WellFoundedEvaluationStrategy
extends Object
implements IEvaluationStrategy

A well-founded evaluation strategy that uses an alternating fixed-point procedure. TODO This is a first implementation and needs to be significantly improved, particularly in the area of rule-compilation (should only be done once - requires a reset() method on ICompiledRule)


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
 

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.