Class ProjectionRemovalOptimizer
- java.lang.Object
-
- org.eclipse.rdf4j.query.algebra.evaluation.optimizer.ProjectionRemovalOptimizer
-
- All Implemented Interfaces:
QueryOptimizer
public class ProjectionRemovalOptimizer extends Object implements QueryOptimizer
If a projection node in the algebra does not contribute or change the results it can be removed from the tree.For example
SELECT ?s ?p ?o WHERE {?s ?p ?o }
Does not need a projection as the inner statement pattern returns the same result.While
* SELECT ?s ?p WHERE {?s ?p ?o }
Does as the statement pattern has one more variable in use than the projection.Note: this optimiser should run after optimisations ran that depend on Projections. e.g.
- Author:
- Jerven Bolleman
- See Also:
UnionScopeChangeOptimizer
-
-
Constructor Summary
Constructors Constructor Description ProjectionRemovalOptimizer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
optimize(TupleExpr tupleExpr, Dataset dataset, BindingSet bindings)
-
-
-
Method Detail
-
optimize
public void optimize(TupleExpr tupleExpr, Dataset dataset, BindingSet bindings)
- Specified by:
optimize
in interfaceQueryOptimizer
-
-