org.deri.iris.evaluation.topdown.sldnf
Class SLDNFEvaluator

java.lang.Object
  extended by org.deri.iris.evaluation.topdown.sldnf.SLDNFEvaluator
All Implemented Interfaces:
ITopDownEvaluator

public class SLDNFEvaluator
extends Object
implements ITopDownEvaluator

Implementation of the SLDNF evaluator. Please keep in mind that SLDNF evaluation is not capable of any tabling and can get trapped in an infinite loop. For details see 'Deduktive Datenbanken' by Cremers, Griefahn and Hinze (ISBN 978-3528047009).

Author:
gigi

Constructor Summary
SLDNFEvaluator(IFacts facts, List<IRule> rules)
          Constructor
 
Method Summary
 IRelation evaluate(IQuery query)
          Evaluate given query
 List<IVariable> getOutputVariables()
          Return variables of the initial query
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SLDNFEvaluator

public SLDNFEvaluator(IFacts facts,
                      List<IRule> rules)
Constructor

Parameters:
facts - one or many facts
rules - list of rules
Method Detail

evaluate

public IRelation evaluate(IQuery query)
                   throws EvaluationException
Evaluate given query

Specified by:
evaluate in interface ITopDownEvaluator
Parameters:
query - a query
Returns:
relation containing all resolved tuples.
Throws:
EvaluationException - thrown on error

getOutputVariables

public List<IVariable> getOutputVariables()
Return variables of the initial query

Specified by:
getOutputVariables in interface ITopDownEvaluator
Returns:
list of output variables