Interface EvaluationStrategyFactory
- All Known Implementing Classes:
AbstractEvaluationStrategyFactory
,ExtendedEvaluationStrategyFactory
,FederationEvaluationStrategyFactory
,StrictEvaluationStrategyFactory
public interface EvaluationStrategyFactory
Factory for
EvaluationStrategy
s.-
Method Summary
Modifier and TypeMethodDescriptioncreateEvaluationStrategy
(Dataset dataset, TripleSource tripleSource, EvaluationStatistics evaluationStatistics) Get theQueryOptimizerPipeline
that this factory will inject into theEvaluationStrategy
, if any.long
Get the number of query solutions theEvaluationStrategy
will keep in main memory before it attempts to sync to a temporary disk cache.default boolean
Returns the status of the result size tracking for the query plan.void
setOptimizerPipeline
(QueryOptimizerPipeline pipeline) Set aQueryOptimizerPipeline
to be used for query execution planning by theEvaluationStrategy
.void
setQuerySolutionCacheThreshold
(long threshold) Set the number of query solutions theEvaluationStrategy
will keep in main memory before it attempts to sync to a temporary disk cache.default void
setTrackResultSize
(boolean trackResultSize) Enable or disable results size tracking for the query plan.
-
Method Details
-
setQuerySolutionCacheThreshold
void setQuerySolutionCacheThreshold(long threshold) Set the number of query solutions theEvaluationStrategy
will keep in main memory before it attempts to sync to a temporary disk cache. If set to 0, no disk caching will occur. EvaluationStrategies that provide no disk caching functionality are free to ignore this parameter.- Parameters:
threshold
- the number of query solutions that the EvaluationStrategy can cache in main memory before attempting disk sync.
-
getQuerySolutionCacheThreshold
long getQuerySolutionCacheThreshold()Get the number of query solutions theEvaluationStrategy
will keep in main memory before it attempts to sync to a temporary disk cache. If set to 0, no disk caching will occur. EvaluationStrategies that provide no disk caching functionality are free to ignore this parameter. -
setOptimizerPipeline
Set aQueryOptimizerPipeline
to be used for query execution planning by theEvaluationStrategy
.- Parameters:
pipeline
- aQueryOptimizerPipeline
-
getOptimizerPipeline
Optional<QueryOptimizerPipeline> getOptimizerPipeline()Get theQueryOptimizerPipeline
that this factory will inject into theEvaluationStrategy
, if any. If noQueryOptimizerPipeline
is defined, theEvaluationStrategy
itself determines the pipeline.- Returns:
- a
QueryOptimizerPipeline
, orOptional.empty()
if no pipeline is set on this factory.
-
createEvaluationStrategy
EvaluationStrategy createEvaluationStrategy(Dataset dataset, TripleSource tripleSource, EvaluationStatistics evaluationStatistics) - Parameters:
dataset
- the DataSet to evaluate queries against.tripleSource
- the TripleSource to evaluate queries against.evaluationStatistics
- the store evaluation statistics to use for query optimization.- Returns:
- an EvaluationStrategy.
-
isTrackResultSize
default boolean isTrackResultSize()Returns the status of the result size tracking for the query plan. Useful to determine which parts of a query plan generated the most data.- Returns:
- true if result size tracking is enabled.
-
setTrackResultSize
default void setTrackResultSize(boolean trackResultSize) Enable or disable results size tracking for the query plan. Useful to determine which parts of a query plan generated the most data.- Parameters:
trackResultSize
- true to enable tracking.
-