public interface EvaluationStrategy extends FederatedServiceResolver
Modifier and Type | Method and Description |
---|---|
CloseableIteration<BindingSet,QueryEvaluationException> |
evaluate(Service expr,
String serviceUri,
CloseableIteration<BindingSet,QueryEvaluationException> bindings)
Evaluates the tuple expression against the supplied triple source with the specified set of variable bindings as
input.
|
CloseableIteration<BindingSet,QueryEvaluationException> |
evaluate(TupleExpr expr,
BindingSet bindings)
Evaluates the tuple expression against the supplied triple source with the specified set of variable bindings as
input.
|
Value |
evaluate(ValueExpr expr,
BindingSet bindings)
Gets the value of this expression.
|
FederatedService |
getService(String serviceUrl)
Retrieve the
FederatedService registered for serviceUrl. |
boolean |
isTrue(ValueExpr expr,
BindingSet bindings)
Evaluates the boolean expression on the supplied TripleSource object.
|
TupleExpr |
optimize(TupleExpr expr,
EvaluationStatistics evaluationStatistics,
BindingSet bindings)
Execute the
QueryOptimizerPipeline on the given TupleExpr to optimize its execution plan. |
void |
setOptimizerPipeline(QueryOptimizerPipeline pipeline)
Set the
QueryOptimizerPipeline to use for optimizing any incoming queries. |
default void |
setTrackResultSize(boolean trackResultSize)
Enable or disable results size tracking for the query plan.
|
default void |
setTrackTime(boolean trackTime)
Enable or disable time tracking for the query plan.
|
FederatedService getService(String serviceUrl) throws QueryEvaluationException
FederatedService
registered for serviceUrl. If there is no service registered for
serviceUrl, a new SPARQLFederatedService
is created and registered.getService
in interface FederatedServiceResolver
serviceUrl
- URL of the service.FederatedService
registered for the serviceUrl.QueryEvaluationException
FederatedServiceResolver.getService(java.lang.String)
void setOptimizerPipeline(QueryOptimizerPipeline pipeline)
QueryOptimizerPipeline
to use for optimizing any incoming queries.pipeline
- the QueryOptimizerPipeline
.optimize(TupleExpr, EvaluationStatistics, BindingSet)
TupleExpr optimize(TupleExpr expr, EvaluationStatistics evaluationStatistics, BindingSet bindings)
QueryOptimizerPipeline
on the given TupleExpr
to optimize its execution plan.expr
- the TupleExpr
to optimize.evaluationStatistics
- the EvaluationStatistics
of the data source, to be used for query planning.bindings
- a-priori bindings supplied for the query, which can potentially be inlined.TupleExpr
.setOptimizerPipeline(QueryOptimizerPipeline)
CloseableIteration<BindingSet,QueryEvaluationException> evaluate(Service expr, String serviceUri, CloseableIteration<BindingSet,QueryEvaluationException> bindings) throws QueryEvaluationException
expr
- The Service Expression to evaluateserviceUri
- TODObindings
- The variables bindings iterator to use for evaluating the expression, if applicable.QueryEvaluationException
CloseableIteration<BindingSet,QueryEvaluationException> evaluate(TupleExpr expr, BindingSet bindings) throws QueryEvaluationException
expr
- The Tuple Expression to evaluatebindings
- The variables bindings to use for evaluating the expression, if applicable.QueryEvaluationException
Value evaluate(ValueExpr expr, BindingSet bindings) throws ValueExprEvaluationException, QueryEvaluationException
expr
- bindings
- The variables bindings to use for evaluating the expression, if applicable.ValueExprEvaluationException
QueryEvaluationException
boolean isTrue(ValueExpr expr, BindingSet bindings) throws ValueExprEvaluationException, QueryEvaluationException
expr
- bindings
- The variables bindings to use for evaluating the expression, if applicable.ValueExprEvaluationException
- If the value expression could not be evaluated, for example when comparing
two incompatible operands. When thrown, the result of the boolean expression
is neither true nor false , but unknown.QueryEvaluationException
@Experimental default void setTrackResultSize(boolean trackResultSize)
trackResultSize
- true to enable tracking.@Experimental default void setTrackTime(boolean trackTime)
trackTime
- true to enable tracking.Copyright © 2015-2022 Eclipse Foundation. All Rights Reserved.