org.deri.iris.rules.optimisation
Class RemoveDuplicateLiteralOptimiser
java.lang.Object
org.deri.iris.rules.optimisation.RemoveDuplicateLiteralOptimiser
- All Implemented Interfaces:
- IRuleOptimiser
public class RemoveDuplicateLiteralOptimiser
- extends Object
- implements IRuleOptimiser
This optimiser removes duplicate literal,
e.g. p(?X,?Y) :- q(?X), q(?X), r(?Y), not s(?Y), not s(?Y), ?X = ?Y, ?X = ?Y.
==>> p(?X,?Y) :- q(?X), r(?Y), not s(?Y), ?X = ?Y.
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
RemoveDuplicateLiteralOptimiser
public RemoveDuplicateLiteralOptimiser()
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.