Interface QueryEvaluationStep
- All Known Subinterfaces:
SliceQueryEvaluationStep
- All Known Implementing Classes:
BindingSetAssignmentQueryEvaluationStep,ExtensionQueryEvaluationStep,FedXZeroLengthPathEvaluationStep,IntersectionQueryEvaluationStep,JoinQueryEvaluationStep,LeftJoinQueryEvaluationStep,MinusQueryEvaluationStep,OrderQueryEvaluationStep,ProjectionQueryEvaluationStep,RdfStarQueryEvaluationStep,ReificationRdfStarQueryEvaluationStep,ServiceQueryEvaluationStep,SliceQueryEvaluationStep.OffSetAndLimitQueryEvaluationStep,SliceQueryEvaluationStep.OnlyLimitQueryEvaluationStep,SliceQueryEvaluationStep.OnlyOffsetQueryEvaluationStep,StatementPatternQueryEvaluationStep,UnionQueryEvaluationStep,ZeroLengthPathEvaluationStep
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
A Step that may need to be executed in a EvaluationStrategy. The evaluate method should do the minimal work required
to evaluate given the bindings. As much as possible should be pre-computed (e.g. resolving constant values)
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic classUtility class that removes code duplication and makes a precompiled QueryEvaluationStep available as an iteration that may be created and used later. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final QueryEvaluationStepstatic final EmptyIteration<BindingSet> -
Method Summary
Modifier and TypeMethodDescriptionstatic QueryEvaluationStepempty()evaluate(BindingSet bindings) static QueryEvaluationStepminimal(EvaluationStrategy strategy, TupleExpr expr) A fall back implementation that wraps a pre-existing evaluate method on a strategystatic QueryEvaluationStepwrap(QueryEvaluationStep qes, Function<CloseableIteration<BindingSet>, CloseableIteration<BindingSet>> wrap) Wrap an QueryEvalationStep: where we apply a function on every evaluation result of the wrapped EvaluationStep.
-
Field Details
-
EMPTY_ITERATION
-
EMPTY
-
-
Method Details
-
evaluate
-
minimal
A fall back implementation that wraps a pre-existing evaluate method on a strategy- Parameters:
strategy- that can evaluate the tuple expr.expr- that is going to be evaluated- Returns:
- a thin wrapper arround the evaluation call.
-
empty
-
wrap
static QueryEvaluationStep wrap(QueryEvaluationStep qes, Function<CloseableIteration<BindingSet>, CloseableIteration<BindingSet>> wrap) Wrap an QueryEvalationStep: where we apply a function on every evaluation result of the wrapped EvaluationStep. Useful to add a timing function- Parameters:
qes- an QueryEvaluationStep that needs to return modified evaluation resultswrap- the function that will do the modification- Returns:
- a new evaluation step that executes wrap on the inner qes.
-