Class ProjectionRemovalOptimizer

  • All Implemented Interfaces:
    QueryOptimizer

    @Deprecated(forRemoval=true,
                since="4.1.0")
    public class ProjectionRemovalOptimizer
    extends Object
    implements QueryOptimizer
    Deprecated, for removal: This API element is subject to removal in a future version.
    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 Detail

      • ProjectionRemovalOptimizer

        public ProjectionRemovalOptimizer()
        Deprecated, for removal: This API element is subject to removal in a future version.
    • Method Detail