## Uses of Interface
org.eclipse.rdf4j.query.algebra.evaluation.QueryOptimizer

- Packages that use QueryOptimizer
  Package | Description
  --- | ---
  org.eclipse.rdf4j.query.algebra.evaluation |
  org.eclipse.rdf4j.query.algebra.evaluation.impl |
  org.eclipse.rdf4j.query.algebra.evaluation.util |
  org.eclipse.rdf4j.sail.federation.optimizers |

- - ### Uses of QueryOptimizer in org.eclipse.rdf4j.query.algebra.evaluation

    Methods in org.eclipse.rdf4j.query.algebra.evaluation that return types with arguments of type QueryOptimizer
    Modifier and Type | Method | Description
    --- | --- | ---
    `Iterable<QueryOptimizer>` | QueryOptimizerPipeline.`getOptimizers()` | Get the optimizers that make up this pipeline.

  - ### Uses of QueryOptimizer in org.eclipse.rdf4j.query.algebra.evaluation.impl

    Classes in org.eclipse.rdf4j.query.algebra.evaluation.impl that implement QueryOptimizer
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `BindingAssigner` | Assigns values to variables based on a supplied set of bindings.
    `class` | `BindingSetAssignmentInliner` | Optimizes a query model by inlining `BindingSetAssignment` values where possible.
    `class` | `CompareOptimizer` | A query optimizer that replaces `Compare` operators with `SameTerm`s, if possible.
    `class` | `ConjunctiveConstraintSplitter` | Splits conjunctive constraints into seperate constraints.
    `class` | `ConstantOptimizer` | A query optimizer that optimizes constant value expressions.
    `class` | `DisjunctiveConstraintOptimizer` | A query optimizer that optimize disjunctive constraints on tuple expressions.
    `class` | `FilterOptimizer` | Optimizes a query model by pushing `Filter`s as far down in the model tree as possible.
    `class` | `IterativeEvaluationOptimizer` |
    `class` | `OrderLimitOptimizer` | Moves the Order node above the Projection when variables are projected.
    `class` | `ParentReferenceCleaner` | Cleans up `QueryModelNode.getParentNode()` references that have become inconsistent with the actual algebra tree structure due to optimization operations.
    `class` | `ProjectionRemovalOptimizer` | If a projection node in the algebra does not contribute or change the results it can be removed from the tree.
    `class` | `QueryJoinOptimizer` | A query optimizer that re-orders nested Joins.
    `class` | `QueryModelNormalizer` | A query optimizer that (partially) normalizes query models to a canonical form.
    `class` | `QueryModelPruner` | Deprecated. Replaced by `QueryModelNormalizer`.
    `class` | `RegexAsStringFunctionOptimizer` | A query optimizer that replaces REGEX with `FunctionCall`s that are equivalent operators
    `class` | `SameTermFilterOptimizer` | A query optimizer that embeds `Filter`s with `SameTerm` operators in statement patterns as much as possible.
    `class` | `UnionScopeChangeOptimizer` | Inspect Union clauses to check if scope change can be avoided (allowing injection of pre-bound vars into union arguments).

    Methods in org.eclipse.rdf4j.query.algebra.evaluation.impl that return types with arguments of type QueryOptimizer
    Modifier and Type | Method | Description
    --- | --- | ---
    `Iterable<QueryOptimizer>` | StandardQueryOptimizerPipeline.`getOptimizers()` |

  - ### Uses of QueryOptimizer in org.eclipse.rdf4j.query.algebra.evaluation.util

    Classes in org.eclipse.rdf4j.query.algebra.evaluation.util that implement QueryOptimizer
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `QueryOptimizerList` | A query optimizer that contains a list of other query optimizers, which are called consecutively when the list's `QueryOptimizerList.optimize(TupleExpr, Dataset, BindingSet)` method is called.

    Fields in org.eclipse.rdf4j.query.algebra.evaluation.util with type parameters of type QueryOptimizer
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected List<QueryOptimizer>` | QueryOptimizerList.`optimizers` |

    Methods in org.eclipse.rdf4j.query.algebra.evaluation.util with parameters of type QueryOptimizer
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | QueryOptimizerList.`add​(QueryOptimizer optimizer)` |

    Constructors in org.eclipse.rdf4j.query.algebra.evaluation.util with parameters of type QueryOptimizer
    Constructor | Description
    --- | ---
    `QueryOptimizerList​(QueryOptimizer... optimizers)` |

    Constructor parameters in org.eclipse.rdf4j.query.algebra.evaluation.util with type arguments of type QueryOptimizer
    Constructor | Description
    --- | ---
    `QueryOptimizerList​(List<QueryOptimizer> optimizers)` |

  - ### Uses of QueryOptimizer in org.eclipse.rdf4j.sail.federation.optimizers

    Classes in org.eclipse.rdf4j.sail.federation.optimizers that implement QueryOptimizer
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `EmptyPatternOptimizer` | Remove StatementPatterns that have no statements.
    `class` | `FederationJoinOptimizer` | Deprecated. since 3.1.0.
    `class` | `OwnedTupleExprPruner` | Remove redundant `OwnedTupleExpr`.
    `class` | `PrepareOwnedTupleExpr` | Remove redundant `OwnedTupleExpr`.
    `class` | `QueryModelPruner` | A query optimizer that prunes query model trees by removing superfluous parts and/or by reducing complex parts with simpler parts.
    `class` | `QueryMultiJoinOptimizer` | A query optimizer that re-orders nested Joins.