Interface EvaluationStrategyFactory
- All Known Implementing Classes:
AbstractEvaluationStrategyFactory,DefaultEvaluationStrategyFactory,ExtendedEvaluationStrategyFactory,FederationEvaluationStrategyFactory,StrictEvaluationStrategyFactory
public interface EvaluationStrategyFactory
Factory for
EvaluationStrategys.-
Method Summary
Modifier and TypeMethodDescriptioncreateEvaluationStrategy(Dataset dataset, TripleSource tripleSource, EvaluationStatistics evaluationStatistics) Get theQueryOptimizerPipelinethat this factory will inject into theEvaluationStrategy, if any.longGet the number of query solutions theEvaluationStrategywill keep in main memory before it attempts to sync to a temporary disk cache.default booleanReturns the status of the result size tracking for the query plan.default voidsetCollectionFactory(Supplier<CollectionFactory> collectionFactory) Set the collection factory to use.voidsetOptimizerPipeline(QueryOptimizerPipeline pipeline) Set aQueryOptimizerPipelineto be used for query execution planning by theEvaluationStrategy.voidsetQuerySolutionCacheThreshold(long threshold) Deprecated.default voidsetTrackResultSize(boolean trackResultSize) Enable or disable results size tracking for the query plan.
-
Method Details
-
setQuerySolutionCacheThreshold
Deprecated.Set the number of query solutions theEvaluationStrategywill 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 theEvaluationStrategywill 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 aQueryOptimizerPipelineto be used for query execution planning by theEvaluationStrategy.- Parameters:
pipeline- aQueryOptimizerPipeline
-
getOptimizerPipeline
Optional<QueryOptimizerPipeline> getOptimizerPipeline()Get theQueryOptimizerPipelinethat this factory will inject into theEvaluationStrategy, if any. If noQueryOptimizerPipelineis defined, theEvaluationStrategyitself 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.
-
setCollectionFactory
Set the collection factory to use.- Parameters:
collectionFactory-
-