Interface EvaluationStrategyFactory
-
- All Known Implementing Classes:
AbstractEvaluationStrategyFactory,DefaultEvaluationStrategyFactory,ExtendedEvaluationStrategyFactory,FederationEvaluationStrategyFactory,StrictEvaluationStrategyFactory
public interface EvaluationStrategyFactoryFactory forEvaluationStrategys.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description EvaluationStrategycreateEvaluationStrategy(Dataset dataset, TripleSource tripleSource, EvaluationStatistics evaluationStatistics)Optional<QueryOptimizerPipeline>getOptimizerPipeline()Get theQueryOptimizerPipelinethat this factory will inject into theEvaluationStrategy, if any.longgetQuerySolutionCacheThreshold()Get the number of query solutions theEvaluationStrategywill keep in main memory before it attempts to sync to a temporary disk cache.default booleanisTrackResultSize()Returns the status of the result size tracking for the query plan.voidsetOptimizerPipeline(QueryOptimizerPipeline pipeline)Set aQueryOptimizerPipelineto be used for query execution planning by theEvaluationStrategy.voidsetQuerySolutionCacheThreshold(long threshold)Set the number of query solutions theEvaluationStrategywill keep in main memory before it attempts to sync to a temporary disk cache.default voidsetTrackResultSize(boolean trackResultSize)Enable or disable results size tracking for the query plan.
-
-
-
Method Detail
-
setQuerySolutionCacheThreshold
void setQuerySolutionCacheThreshold(long threshold)
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
void setOptimizerPipeline(QueryOptimizerPipeline pipeline)
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.
-
-