Class ProjectionRemovalOptimizer
java.lang.Object
org.eclipse.rdf4j.query.algebra.evaluation.optimizer.ProjectionRemovalOptimizer
- All Implemented Interfaces:
QueryOptimizer
- Direct Known Subclasses:
ProjectionRemovalOptimizer
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:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
optimize
(TupleExpr tupleExpr, Dataset dataset, BindingSet bindings)
-
Constructor Details
-
ProjectionRemovalOptimizer
public ProjectionRemovalOptimizer()
-
-
Method Details
-
optimize
- Specified by:
optimize
in interfaceQueryOptimizer
-