org.deri.iris.rules.compiler
Class FirstSubgoal

java.lang.Object
  extended by org.deri.iris.rules.compiler.RuleElement
      extended by org.deri.iris.rules.compiler.FirstSubgoal

public class FirstSubgoal
extends RuleElement

A compiled rule element representing the first literal in a rule body, when that literal is a positive ordinary predicate.


Field Summary
 
Fields inherited from class org.deri.iris.rules.compiler.RuleElement
mOutputVariables
 
Constructor Summary
FirstSubgoal(IPredicate predicate, IRelation relation, ITuple viewCriteria, IEquivalentTerms equivalentTerms, Configuration configuration)
          Constructor.
FirstSubgoal(IPredicate predicate, IRelation relation, ITuple viewCriteria, List<IVariable> variables, boolean simple, IEquivalentTerms equivalentTerms, Configuration configuration)
          Constructor used for iterative evaluation.
 
Method Summary
 RuleElement getDeltaSubstitution(IFacts deltas)
          Create a substitute rule element that will use the corresponding delta if it exists.
 IRelation process(IRelation leftRelation)
          Called to process tuples from previous literals.
 
Methods inherited from class org.deri.iris.rules.compiler.RuleElement
getOutputVariables
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FirstSubgoal

public FirstSubgoal(IPredicate predicate,
                    IRelation relation,
                    ITuple viewCriteria,
                    IEquivalentTerms equivalentTerms,
                    Configuration configuration)
Constructor.

Parameters:
predicate - The predicate for this literal.
relation - The relation for this literal.
viewCriteria - The tuple from the sub-goal in the rule.
equivalentTerms - The equivalent terms.

FirstSubgoal

public FirstSubgoal(IPredicate predicate,
                    IRelation relation,
                    ITuple viewCriteria,
                    List<IVariable> variables,
                    boolean simple,
                    IEquivalentTerms equivalentTerms,
                    Configuration configuration)
Constructor used for iterative evaluation.

Parameters:
predicate - The predicate for this literal.
relation - The relation for this literal.
viewCriteria - The tuple from the sub-goal in the rule.
variables - Calculated variables.
simple - Indicator if the view is a simple one (only unique variables).
equivalentTerms - The equivalent terms.
Method Detail

process

public IRelation process(IRelation leftRelation)
Description copied from class: RuleElement
Called to process tuples from previous literals.

Specified by:
process in class RuleElement
Returns:
The output relation for this literal.

getDeltaSubstitution

public RuleElement getDeltaSubstitution(IFacts deltas)
Description copied from class: RuleElement
Create a substitute rule element that will use the corresponding delta if it exists.

Overrides:
getDeltaSubstitution in class RuleElement
Parameters:
deltas - The Deltas from the last round of iterative evaluation.
Returns:
A substitute rule element if possible.