Class DefaultEvaluationStrategy
- java.lang.Object
-
- org.eclipse.rdf4j.query.algebra.evaluation.impl.DefaultEvaluationStrategy
-
- All Implemented Interfaces:
EvaluationStrategy
,FederatedServiceResolver
,FederatedServiceResolverClient
,UUIDable
- Direct Known Subclasses:
StrictEvaluationStrategy
public class DefaultEvaluationStrategy extends Object implements EvaluationStrategy, FederatedServiceResolverClient, UUIDable
Default SPARQL 1.1 Query Evaluation strategy, to evaluate oneTupleExpr
on the givenTripleSource
, optionally using the givenDataset
. The behaviour of this strategy can be modified by setting theQueryEvaluationMode
, which determines if the SPARQL query is evaluated usingstrict
compliance orstandard
compliance.- Author:
- Jeen Broekstra, James Leigh, Arjohn Kampman, David Huynh, Andreas Schwarte
-
-
Field Summary
Fields Modifier and Type Field Description protected Dataset
dataset
protected FederatedServiceResolver
serviceResolver
protected TripleSource
tripleSource
-
Constructor Summary
Constructors Constructor Description DefaultEvaluationStrategy(TripleSource tripleSource, FederatedServiceResolver serviceResolver)
DefaultEvaluationStrategy(TripleSource tripleSource, Dataset dataset, FederatedServiceResolver serviceResolver)
DefaultEvaluationStrategy(TripleSource tripleSource, Dataset dataset, FederatedServiceResolver serviceResolver, long iterationCacheSyncTreshold, EvaluationStatistics evaluationStatistics)
DefaultEvaluationStrategy(TripleSource tripleSource, Dataset dataset, FederatedServiceResolver serviceResolver, long iterationCacheSyncTreshold, EvaluationStatistics evaluationStatistics, boolean trackResultSize)
DefaultEvaluationStrategy(TripleSource tripleSource, Dataset dataset, FederatedServiceResolver serviceResolver, long iterationCacheSyncTreshold, EvaluationStatistics evaluationStatistics, boolean trackResultSize, TupleFunctionRegistry tupleFunctionRegistry)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description Value
evaluate(And node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.CloseableIteration<BindingSet,QueryEvaluationException>
evaluate(ArbitraryLengthPath alp, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.CloseableIteration<BindingSet,QueryEvaluationException>
evaluate(BinaryTupleOperator expr, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.CloseableIteration<BindingSet,QueryEvaluationException>
evaluate(BindingSetAssignment bsa, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(BNodeGenerator node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(Bound node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(Coalesce node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(CompareAll node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(CompareAny node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(Compare node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(Datatype node, BindingSet bindings)
CloseableIteration<BindingSet,QueryEvaluationException>
evaluate(DescribeOperator operator, BindingSet bindings)
Deprecated.CloseableIteration<BindingSet,QueryEvaluationException>
evaluate(Difference difference, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.CloseableIteration<BindingSet,QueryEvaluationException>
evaluate(Distinct distinct, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.CloseableIteration<BindingSet,QueryEvaluationException>
evaluate(EmptySet emptySet, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(Now node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(Exists node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.CloseableIteration<BindingSet,QueryEvaluationException>
evaluate(Extension extension, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.CloseableIteration<BindingSet,QueryEvaluationException>
evaluate(Filter filter, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(FunctionCall node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.CloseableIteration<BindingSet,QueryEvaluationException>
evaluate(Group node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(If node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(In node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.CloseableIteration<BindingSet,QueryEvaluationException>
evaluate(Intersection intersection, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.IRI
evaluate(IRIFunction node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(IsBNode node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(IsLiteral node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(IsNumeric node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(IsResource node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(IsURI node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.CloseableIteration<BindingSet,QueryEvaluationException>
evaluate(Join join, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(Label node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(LangMatches node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(Lang node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.CloseableIteration<BindingSet,QueryEvaluationException>
evaluate(LeftJoin leftJoin, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(Like node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(ListMemberOperator node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(LocalName node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(MathExpr node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.CloseableIteration<BindingSet,QueryEvaluationException>
evaluate(MultiProjection multiProjection, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(Namespace node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(Not node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.CloseableIteration<BindingSet,QueryEvaluationException>
evaluate(Order node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(Or node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.CloseableIteration<BindingSet,QueryEvaluationException>
evaluate(Projection projection, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.CloseableIteration<BindingSet,QueryEvaluationException>
evaluate(Reduced reduced, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(Regex node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(SameTerm node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.CloseableIteration<BindingSet,QueryEvaluationException>
evaluate(Service service, String serviceUri, CloseableIteration<BindingSet,QueryEvaluationException> bindings)
Deprecated, for removal: This API element is subject to removal in a future version.CloseableIteration<BindingSet,QueryEvaluationException>
evaluate(Service service, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.CloseableIteration<BindingSet,QueryEvaluationException>
evaluate(SingletonSet singletonSet, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.CloseableIteration<BindingSet,QueryEvaluationException>
evaluate(Slice slice, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.CloseableIteration<BindingSet,QueryEvaluationException>
evaluate(StatementPattern statementPattern, BindingSet bindings)
Deprecated.Value
evaluate(Str node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.CloseableIteration<BindingSet,QueryEvaluationException>
evaluate(TripleRef ref, BindingSet bindings)
evaluates a TripleRef node returning bindingsets from the matched Triple nodes in the dataset (or explore standard reification)CloseableIteration<BindingSet,QueryEvaluationException>
evaluate(TupleExpr expr, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.CloseableIteration<BindingSet,QueryEvaluationException>
evaluate(UnaryTupleOperator expr, BindingSet bindings)
Deprecated.CloseableIteration<BindingSet,QueryEvaluationException>
evaluate(Union union, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(ValueConstant valueConstant, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(ValueExpr expr, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(ValueExprTripleRef node, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Value
evaluate(Var var, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.CloseableIteration<BindingSet,QueryEvaluationException>
evaluate(ZeroLengthPath zlp, BindingSet bindings)
Deprecated, for removal: This API element is subject to removal in a future version.Supplier<CollectionFactory>
getCollectionFactory()
FederatedServiceResolver
getFederatedServiceResolver()
Gets theFederatedServiceResolver
used by this client.protected long
getLimit(QueryModelNode node)
Returns the limit of the current variable bindings before any further projection.QueryEvaluationMode
getQueryEvaluationMode()
FederatedService
getService(String serviceUrl)
Retrieve theFederatedService
registered for serviceUrl.UUID
getUUID()
Deprecated, for removal: This API element is subject to removal in a future version.static Value
getVarValue(Var var, BindingSet bindings)
protected boolean
isReducedOrDistinct(QueryModelNode node)
boolean
isTrue(QueryValueEvaluationStep expr, BindingSet bindings)
boolean
isTrue(ValueExpr expr, BindingSet bindings)
Evaluates the boolean expression on the supplied TripleSource object.TupleExpr
optimize(TupleExpr expr, EvaluationStatistics evaluationStatistics, BindingSet bindings)
Execute theQueryOptimizerPipeline
on the givenTupleExpr
to optimize its execution plan.QueryEvaluationStep
precompile(TupleExpr expr)
Prepare a QueryEvaluationStep that tries to do as much work once per query avoiding repeated calls to the same code as much as possible.QueryEvaluationStep
precompile(TupleExpr expr, QueryEvaluationContext context)
QueryValueEvaluationStep
precompile(ValueExpr expr, QueryEvaluationContext context)
protected QueryEvaluationStep
prepare(ArbitraryLengthPath alp, QueryEvaluationContext context)
protected QueryEvaluationStep
prepare(BinaryTupleOperator expr, QueryEvaluationContext context)
protected QueryEvaluationStep
prepare(BindingSetAssignment node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(BNodeGenerator node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(Bound node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(Coalesce node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(CompareAll node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(CompareAny node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(Compare node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(Datatype node, QueryEvaluationContext context)
protected QueryEvaluationStep
prepare(DescribeOperator node, QueryEvaluationContext context)
protected QueryEvaluationStep
prepare(Difference node, QueryEvaluationContext context)
protected QueryEvaluationStep
prepare(Distinct node, QueryEvaluationContext context)
protected QueryEvaluationStep
prepare(EmptySet emptySet, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(Now node, QueryEvaluationContext context)
During the execution of a single query NOW() should always return the same result and is in practical terms a constant during evaluation.protected QueryValueEvaluationStep
prepare(Exists node, QueryEvaluationContext context)
protected QueryEvaluationStep
prepare(Extension node, QueryEvaluationContext context)
protected QueryEvaluationStep
prepare(Filter node, QueryEvaluationContext context)
QueryValueEvaluationStep
prepare(FunctionCall node, QueryEvaluationContext context)
protected QueryEvaluationStep
prepare(Group node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(If node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(In node, QueryEvaluationContext context)
protected QueryEvaluationStep
prepare(Intersection node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(IRIFunction node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(IsBNode node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(IsLiteral node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(IsNumeric node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(IsResource node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(IsURI node, QueryEvaluationContext context)
protected QueryEvaluationStep
prepare(Join node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(Label node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(LangMatches node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(Lang node, QueryEvaluationContext context)
protected QueryEvaluationStep
prepare(LeftJoin node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(ListMemberOperator node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(LocalName node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(MathExpr node, QueryEvaluationContext context)
protected QueryEvaluationStep
prepare(MultiProjection node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(Namespace node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(Not node, QueryEvaluationContext context)
protected QueryEvaluationStep
prepare(Order node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(Or node, QueryEvaluationContext context)
protected QueryEvaluationStep
prepare(Projection node, QueryEvaluationContext context)
protected QueryEvaluationStep
prepare(QueryRoot node, QueryEvaluationContext context)
protected QueryEvaluationStep
prepare(Reduced node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(Regex node, QueryEvaluationContext context)
Determines whether the two operands match according to theregex
operator.protected QueryValueEvaluationStep
prepare(SameTerm node, QueryEvaluationContext context)
protected QueryEvaluationStep
prepare(Service service, QueryEvaluationContext context)
protected QueryEvaluationStep
prepare(SingletonSet singletonSet, QueryEvaluationContext context)
protected QueryEvaluationStep
prepare(Slice node, QueryEvaluationContext context)
protected QueryEvaluationStep
prepare(StatementPattern node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(Str node, QueryEvaluationContext context)
protected QueryEvaluationStep
prepare(TripleRef ref, QueryEvaluationContext context)
protected QueryEvaluationStep
prepare(TupleFunctionCall expr, QueryEvaluationContext context)
protected QueryEvaluationStep
prepare(UnaryTupleOperator expr, QueryEvaluationContext context)
protected QueryEvaluationStep
prepare(Union node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(ValueConstant valueConstant, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(ValueExprTripleRef node, QueryEvaluationContext context)
protected QueryValueEvaluationStep
prepare(Var var, QueryEvaluationContext context)
protected QueryEvaluationStep
prepare(ZeroLengthPath zlp, QueryEvaluationContext context)
void
setCollectionFactory(Supplier<CollectionFactory> cf)
Set the collection factory that will create the collections to use during query evaluaton.void
setFederatedServiceResolver(FederatedServiceResolver resolver)
Sets theFederatedServiceResolver
to use for this client.void
setOptimizerPipeline(QueryOptimizerPipeline pipeline)
Set theQueryOptimizerPipeline
to use for optimizing any incoming queries.void
setQueryEvaluationMode(QueryEvaluationMode queryEvaluationMode)
void
setTrackResultSize(boolean trackResultSize)
Enable or disable results size tracking for the query plan.void
setTrackTime(boolean trackTime)
Enable or disable time tracking for the query plan.protected QueryValueEvaluationStep
supplyBinaryValueEvaluation(BinaryValueOperator node, BiFunction<Value,Value,Value> operation, QueryEvaluationContext context)
Supply a QueryValueEvalationStep that will invoke the function (operator passed in).protected QueryValueEvaluationStep
supplyUnaryValueEvaluation(UnaryValueOperator node, Function<Value,Value> operation, QueryEvaluationContext context)
Return a QueryEvaluationStep that applies constant propegation.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.eclipse.rdf4j.query.algebra.evaluation.EvaluationStrategy
isTrackResultSize, makeQueue, makeSet
-
-
-
-
Field Detail
-
tripleSource
protected final TripleSource tripleSource
-
dataset
protected final Dataset dataset
-
serviceResolver
protected FederatedServiceResolver serviceResolver
-
-
Constructor Detail
-
DefaultEvaluationStrategy
public DefaultEvaluationStrategy(TripleSource tripleSource, FederatedServiceResolver serviceResolver)
-
DefaultEvaluationStrategy
public DefaultEvaluationStrategy(TripleSource tripleSource, Dataset dataset, FederatedServiceResolver serviceResolver)
-
DefaultEvaluationStrategy
public DefaultEvaluationStrategy(TripleSource tripleSource, Dataset dataset, FederatedServiceResolver serviceResolver, long iterationCacheSyncTreshold, EvaluationStatistics evaluationStatistics)
-
DefaultEvaluationStrategy
public DefaultEvaluationStrategy(TripleSource tripleSource, Dataset dataset, FederatedServiceResolver serviceResolver, long iterationCacheSyncTreshold, EvaluationStatistics evaluationStatistics, boolean trackResultSize)
-
DefaultEvaluationStrategy
public DefaultEvaluationStrategy(TripleSource tripleSource, Dataset dataset, FederatedServiceResolver serviceResolver, long iterationCacheSyncTreshold, EvaluationStatistics evaluationStatistics, boolean trackResultSize, TupleFunctionRegistry tupleFunctionRegistry)
-
-
Method Detail
-
getUUID
@Deprecated(forRemoval=true, since="4.0.0") public UUID getUUID()
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:UUIDable
Returns the UUID of this object.
-
setFederatedServiceResolver
public void setFederatedServiceResolver(FederatedServiceResolver resolver)
Description copied from interface:FederatedServiceResolverClient
Sets theFederatedServiceResolver
to use for this client.- Specified by:
setFederatedServiceResolver
in interfaceFederatedServiceResolverClient
- Parameters:
resolver
- The resolver to use.
-
getFederatedServiceResolver
public FederatedServiceResolver getFederatedServiceResolver()
Description copied from interface:FederatedServiceResolverClient
Gets theFederatedServiceResolver
used by this client.- Specified by:
getFederatedServiceResolver
in interfaceFederatedServiceResolverClient
-
getService
public FederatedService getService(String serviceUrl) throws QueryEvaluationException
Description copied from interface:EvaluationStrategy
Retrieve theFederatedService
registered for serviceUrl. If there is no service registered for serviceUrl, a newSPARQLFederatedService
is created and registered.- Specified by:
getService
in interfaceEvaluationStrategy
- Specified by:
getService
in interfaceFederatedServiceResolver
- Parameters:
serviceUrl
- URL of the service.- Returns:
- the
FederatedService
registered for the serviceUrl. - Throws:
QueryEvaluationException
- If there was an exception generated while retrieving the service.- See Also:
FederatedServiceResolver.getService(java.lang.String)
-
setOptimizerPipeline
public void setOptimizerPipeline(QueryOptimizerPipeline pipeline)
Description copied from interface:EvaluationStrategy
Set theQueryOptimizerPipeline
to use for optimizing any incoming queries.- Specified by:
setOptimizerPipeline
in interfaceEvaluationStrategy
- Parameters:
pipeline
- theQueryOptimizerPipeline
.- See Also:
EvaluationStrategy.optimize(TupleExpr, EvaluationStatistics, BindingSet)
-
optimize
public TupleExpr optimize(TupleExpr expr, EvaluationStatistics evaluationStatistics, BindingSet bindings)
Execute theQueryOptimizerPipeline
on the givenTupleExpr
to optimize its execution plan.- Specified by:
optimize
in interfaceEvaluationStrategy
- Parameters:
expr
- theTupleExpr
to optimize.evaluationStatistics
- this param is ignored!bindings
- a-priori bindings supplied for the query, which can potentially be inlined.- Returns:
- the optimized
TupleExpr
. - Since:
- 3.0
- See Also:
setOptimizerPipeline(QueryOptimizerPipeline)
-
evaluate
@Deprecated(forRemoval=true) public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(TupleExpr expr, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:EvaluationStrategy
Evaluates the tuple expression against the supplied triple source with the specified set of variable bindings as input.- Specified by:
evaluate
in interfaceEvaluationStrategy
- Parameters:
expr
- The Tuple Expression to evaluatebindings
- The variables bindings to use for evaluating the expression, if applicable.- Returns:
- A closeable iterator over the variable binding sets that match the tuple expression.
- Throws:
QueryEvaluationException
-
precompile
public QueryEvaluationStep precompile(TupleExpr expr)
Description copied from interface:EvaluationStrategy
Prepare a QueryEvaluationStep that tries to do as much work once per query avoiding repeated calls to the same code as much as possible. This depends on java invoke dynamic for performance.- Specified by:
precompile
in interfaceEvaluationStrategy
- Parameters:
expr
- that is to be evaluated later- Returns:
- a QueryEvaluationStep that may avoid doing repeating the same work over and over.
-
precompile
public QueryEvaluationStep precompile(TupleExpr expr, QueryEvaluationContext context)
- Specified by:
precompile
in interfaceEvaluationStrategy
-
evaluate
@Deprecated(forRemoval=true) public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(ArbitraryLengthPath alp, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryEvaluationStep prepare(ArbitraryLengthPath alp, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(ZeroLengthPath zlp, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryEvaluationStep prepare(ZeroLengthPath zlp, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(Service service, String serviceUri, CloseableIteration<BindingSet,QueryEvaluationException> bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:EvaluationStrategy
Evaluates the tuple expression against the supplied triple source with the specified set of variable bindings as input.- Specified by:
evaluate
in interfaceEvaluationStrategy
- Parameters:
service
- The Service Expression to evaluateserviceUri
- TODObindings
- The variables bindings iterator to use for evaluating the expression, if applicable.- Returns:
- A closeable iterator over all of variable binding sets that match the tuple expression.
- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(Service service, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryEvaluationStep prepare(Difference node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
prepare
protected QueryEvaluationStep prepare(Group node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
prepare
protected QueryEvaluationStep prepare(Intersection node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
prepare
protected QueryEvaluationStep prepare(Join node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
prepare
protected QueryEvaluationStep prepare(LeftJoin node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
prepare
protected QueryEvaluationStep prepare(MultiProjection node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
prepare
protected QueryEvaluationStep prepare(Projection node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
prepare
protected QueryEvaluationStep prepare(QueryRoot node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
prepare
protected QueryEvaluationStep prepare(StatementPattern node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
prepare
protected QueryEvaluationStep prepare(Union node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
prepare
protected QueryEvaluationStep prepare(Slice node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
prepare
protected QueryEvaluationStep prepare(Extension node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
prepare
protected QueryEvaluationStep prepare(Service service, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
prepare
protected QueryEvaluationStep prepare(Filter node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
prepare
protected QueryEvaluationStep prepare(Order node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
prepare
protected QueryEvaluationStep prepare(BindingSetAssignment node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
prepare
protected QueryEvaluationStep prepare(DescribeOperator node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
prepare
protected QueryEvaluationStep prepare(Distinct node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
prepare
protected QueryEvaluationStep prepare(Reduced node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
prepare
protected QueryEvaluationStep prepare(TupleFunctionCall expr, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
evaluate
@Deprecated public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(DescribeOperator operator, BindingSet bindings) throws QueryEvaluationException
Deprecated.- Throws:
QueryEvaluationException
-
evaluate
@Deprecated public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(StatementPattern statementPattern, BindingSet bindings) throws QueryEvaluationException
Deprecated.- Throws:
QueryEvaluationException
-
getVarValue
public static Value getVarValue(Var var, BindingSet bindings)
-
evaluate
@Deprecated public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(UnaryTupleOperator expr, BindingSet bindings) throws QueryEvaluationException
Deprecated.- Throws:
QueryEvaluationException
-
prepare
protected QueryEvaluationStep prepare(UnaryTupleOperator expr, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(BindingSetAssignment bsa, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(Projection projection, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(MultiProjection multiProjection, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(Filter filter, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(Slice slice, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(Extension extension, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(Distinct distinct, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(Reduced reduced, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(Group node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(Order node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(BinaryTupleOperator expr, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryEvaluationStep prepare(BinaryTupleOperator expr, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(Join join, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(LeftJoin leftJoin, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(Union union, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(Intersection intersection, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(Difference difference, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(SingletonSet singletonSet, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryEvaluationStep prepare(SingletonSet singletonSet, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(EmptySet emptySet, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryEvaluationStep prepare(EmptySet emptySet, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
precompile
public QueryValueEvaluationStep precompile(ValueExpr expr, QueryEvaluationContext context) throws QueryEvaluationException
- Specified by:
precompile
in interfaceEvaluationStrategy
- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(ValueExpr expr, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:EvaluationStrategy
Gets the value of this expression.- Specified by:
evaluate
in interfaceEvaluationStrategy
bindings
- The variables bindings to use for evaluating the expression, if applicable.- Returns:
- The Value that this expression evaluates to, or null if the expression could not be evaluated.
- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(Var var, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(Var var, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(ValueConstant valueConstant, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(ValueConstant valueConstant, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(BNodeGenerator node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(BNodeGenerator node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(Bound node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(Bound node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(Str node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(Str node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(Label node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(Label node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(Lang node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(Lang node, QueryEvaluationContext context)
-
evaluate
public Value evaluate(Datatype node, BindingSet bindings) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(Datatype node, QueryEvaluationContext context)
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(Namespace node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(Namespace node, QueryEvaluationContext context)
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(LocalName node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(LocalName node, QueryEvaluationContext context)
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(IsResource node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.Determines whether the operand (a variable) contains a Resource.- Returns:
- true if the operand contains a Resource, false otherwise.
- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(IsResource node, QueryEvaluationContext context)
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(IsURI node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.Determines whether the operand (a variable) contains a URI.- Returns:
- true if the operand contains a URI, false otherwise.
- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(IsURI node, QueryEvaluationContext context)
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(IsBNode node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.Determines whether the operand (a variable) contains a BNode.- Returns:
- true if the operand contains a BNode, false otherwise.
- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(IsBNode node, QueryEvaluationContext context)
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(IsLiteral node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.Determines whether the operand (a variable) contains a Literal.- Returns:
- true if the operand contains a Literal, false otherwise.
- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(IsLiteral node, QueryEvaluationContext context)
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(IsNumeric node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.Determines whether the operand (a variable) contains a numeric datatyped literal, i.e. a literal with datatype CoreDatatype.XSD:float, CoreDatatype.XSD:double, CoreDatatype.XSD:decimal, or a derived datatype of CoreDatatype.XSD:decimal.- Returns:
- true if the operand contains a numeric datatyped literal, false otherwise.
- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(IsNumeric node, QueryEvaluationContext context)
-
evaluate
@Deprecated(forRemoval=true) public IRI evaluate(IRIFunction node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.Creates a URI from the operand value (a plain literal or a URI).- Parameters:
node
- represents an invocation of the SPARQL IRI functionbindings
- used to generate the value that the URI is based on- Returns:
- a URI generated from the given arguments
- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(IRIFunction node, QueryEvaluationContext context)
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(Regex node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.Determines whether the two operands match according to theregex
operator.- Returns:
- true if the operands match according to the regex operator, false otherwise.
- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(Regex node, QueryEvaluationContext context) throws QueryEvaluationException
Determines whether the two operands match according to theregex
operator.- Returns:
- true if the operands match according to the regex operator, false otherwise.
- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(LangMatches node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(LangMatches node, QueryEvaluationContext context)
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(Like node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.Determines whether the two operands match according to thelike
operator. The operator is defined as a string comparison with the possible use of an asterisk (*) at the end and/or the start of the second operand to indicate substring matching.- Returns:
- true if the operands match according to the like operator, false otherwise.
- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(FunctionCall node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.Evaluates a function.- Throws:
QueryEvaluationException
-
prepare
public QueryValueEvaluationStep prepare(FunctionCall node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(And node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(Or node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(Or node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(Not node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(Not node, QueryEvaluationContext context)
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(Now node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(Now node, QueryEvaluationContext context)
During the execution of a single query NOW() should always return the same result and is in practical terms a constant during evaluation.- Parameters:
node
- that represent the NOW() functioncontext
- that holds the shared now() of the query invocation- Returns:
- a constant value evaluation step
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(SameTerm node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(SameTerm node, QueryEvaluationContext context)
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(Coalesce node, BindingSet bindings) throws ValueExprEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
ValueExprEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(Coalesce node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(Compare node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(Compare node, QueryEvaluationContext context)
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(MathExpr node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(MathExpr node, QueryEvaluationContext context)
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(If node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(If node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(In node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(In node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(ListMemberOperator node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(ListMemberOperator node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(CompareAny node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(CompareAny node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(CompareAll node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(CompareAll node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(Exists node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(Exists node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
isTrue
public boolean isTrue(ValueExpr expr, BindingSet bindings) throws QueryEvaluationException
Description copied from interface:EvaluationStrategy
Evaluates the boolean expression on the supplied TripleSource object.- Specified by:
isTrue
in interfaceEvaluationStrategy
bindings
- The variables bindings to use for evaluating the expression, if applicable.- Returns:
- The result of the evaluation.
- Throws:
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
-
isTrue
public boolean isTrue(QueryValueEvaluationStep expr, BindingSet bindings) throws QueryEvaluationException
- Specified by:
isTrue
in interfaceEvaluationStrategy
- Throws:
QueryEvaluationException
-
isReducedOrDistinct
protected boolean isReducedOrDistinct(QueryModelNode node)
-
getLimit
protected long getLimit(QueryModelNode node)
Returns the limit of the current variable bindings before any further projection.
-
evaluate
@Deprecated(forRemoval=true) public Value evaluate(ValueExprTripleRef node, BindingSet bindings) throws QueryEvaluationException
Deprecated, for removal: This API element is subject to removal in a future version.- Throws:
QueryEvaluationException
-
prepare
protected QueryValueEvaluationStep prepare(ValueExprTripleRef node, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
evaluate
public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(TripleRef ref, BindingSet bindings)
evaluates a TripleRef node returning bindingsets from the matched Triple nodes in the dataset (or explore standard reification)- Parameters:
ref
- to evaluatebindings
- with the solutions- Returns:
- iteration over the solutions
-
prepare
protected QueryEvaluationStep prepare(TripleRef ref, QueryEvaluationContext context)
-
setTrackResultSize
public void setTrackResultSize(boolean trackResultSize)
Description copied from interface:EvaluationStrategy
Enable or disable results size tracking for the query plan. Useful to determine which parts of a query plan generated the most data.- Specified by:
setTrackResultSize
in interfaceEvaluationStrategy
- Parameters:
trackResultSize
- true to enable tracking.
-
setTrackTime
public void setTrackTime(boolean trackTime)
Description copied from interface:EvaluationStrategy
Enable or disable time tracking for the query plan. Useful to determine which parts of a query plan take the most time to evaluate.- Specified by:
setTrackTime
in interfaceEvaluationStrategy
- Parameters:
trackTime
- true to enable tracking.
-
supplyBinaryValueEvaluation
protected QueryValueEvaluationStep supplyBinaryValueEvaluation(BinaryValueOperator node, BiFunction<Value,Value,Value> operation, QueryEvaluationContext context)
Supply a QueryValueEvalationStep that will invoke the function (operator passed in). It will try to optimise constant argument to be called only once per query run,- Parameters:
node
- the node to evaluateoperation
- the function that wraps the operator.context
- in which the query is running.- Returns:
- a potential constant evaluation step.
-
supplyUnaryValueEvaluation
protected QueryValueEvaluationStep supplyUnaryValueEvaluation(UnaryValueOperator node, Function<Value,Value> operation, QueryEvaluationContext context)
Return a QueryEvaluationStep that applies constant propegation.- Parameters:
node
- that will be evaluated/preparedoperation
- the task to be donecontext
- in which the evaluation takes place- Returns:
- a potentially constant step
-
getQueryEvaluationMode
public QueryEvaluationMode getQueryEvaluationMode()
- Specified by:
getQueryEvaluationMode
in interfaceEvaluationStrategy
- Returns:
- the queryEvaluationMode
-
setQueryEvaluationMode
public void setQueryEvaluationMode(QueryEvaluationMode queryEvaluationMode)
- Specified by:
setQueryEvaluationMode
in interfaceEvaluationStrategy
- Parameters:
queryEvaluationMode
- the queryEvaluationMode to set
-
getCollectionFactory
public Supplier<CollectionFactory> getCollectionFactory()
- Specified by:
getCollectionFactory
in interfaceEvaluationStrategy
-
setCollectionFactory
public void setCollectionFactory(Supplier<CollectionFactory> cf)
Description copied from interface:EvaluationStrategy
Set the collection factory that will create the collections to use during query evaluaton.- Specified by:
setCollectionFactory
in interfaceEvaluationStrategy
-
-