org.deri.iris.rules.optimisation
Class JoinConditionOptimiser

java.lang.Object
  extended by org.deri.iris.rules.optimisation.JoinConditionOptimiser
All Implemented Interfaces:
IRuleOptimiser

public class JoinConditionOptimiser
extends Object
implements IRuleOptimiser

This optimiser attempts to use the same variable for join conditions. e.g. t(?X,?Y,?Z) :- p(?X), q(?Y), r(?Z), ?X = ?Y, ?Y = ?Z. ==>> t(?X,?X,?X) :- p(?X), q(?X), r(?X).


Constructor Summary
JoinConditionOptimiser()
           
 
Method Summary
 IRule optimise(IRule rule)
          Optimise the rule.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JoinConditionOptimiser

public JoinConditionOptimiser()
Method Detail

optimise

public IRule optimise(IRule rule)
Description copied from interface: IRuleOptimiser
Optimise the rule.

Specified by:
optimise in interface IRuleOptimiser
Parameters:
rule - The rule to optimise.
Returns:
The optimised rule.