org.deri.iris.evaluation.wellfounded
Class WellFoundedEvaluationStrategy
java.lang.Object
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)
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
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.