# Package org.eclipse.rdf4j.query.algebra.evaluation

- Interface Summary
  Interface | Description
  --- | ---
  EvaluationStrategy | Evaluates `TupleExpr`s and `ValueExpr`s.
  EvaluationStrategyFactory | Factory for `EvaluationStrategy`s.
  QueryContextInitializer | Callback for configuring/customising a `QueryContext`.
  QueryEvaluationStep | A Step that may need to be executed in a EvaluationStrategy.
  QueryOptimizer | Interface used by `EvaluationStrategy`s to optimize the `TupleExpr` prior to evaluating the query.
  QueryOptimizerPipeline | A pipeline of `QueryOptimizer`s that, when executed in order on a `TupleExpr`, convert that `TupleExpr` to a more optimal query execution plan.
  QueryPreparer | A generic interface for executing queries over a `TripleSource`.
  QueryValueEvaluationStep | A step in the query evaluation that works on ValueExpresions.
  RDFStarTripleSource |
  TripleSource | A triple source that can be queried for (the existence of) certain triples in certain contexts.

- Class Summary
  Class | Description
  --- | ---
  AbstractQueryPreparer |
  ArrayBindingSet | An array implementation of the `BindingSet` interface.
  QueryBindingSet | An implementation of the `BindingSet` interface that is used to evalate query object models.
  QueryContext | A `QueryContext` provides a means to pass arbitrary local state to a `Function` or `TupleFunction`.
  QueryEvaluationStep.DelayedEvaluationIteration | Utility class that removes code duplication and makes a precompiled QueryEvaluationStep available as an iteration that may be created and used later.
  QueryValueEvaluationStep.ConstantQueryValueEvaluationStep | A QueryValueEvalationStep that will return the same constant value throughout the query execution.
  QueryValueEvaluationStep.Minimal | A minimal implementation that falls back to calling evaluate in the strategy.

- Exception Summary
  Exception | Description
  --- | ---
  ValueExprEvaluationException | An exception indicating that a `ValueExpr` could not be evaluated due to illegal or incompatible values.