Interface EvaluationStrategyFactory
-
- All Known Implementing Classes:
AbstractEvaluationStrategyFactory
,DefaultEvaluationStrategyFactory
,ExtendedEvaluationStrategyFactory
,FederationEvaluationStrategyFactory
,StrictEvaluationStrategyFactory
public interface EvaluationStrategyFactory
Factory forEvaluationStrategy
s.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description EvaluationStrategy
createEvaluationStrategy(Dataset dataset, TripleSource tripleSource, EvaluationStatistics evaluationStatistics)
Optional<QueryOptimizerPipeline>
getOptimizerPipeline()
Get theQueryOptimizerPipeline
that this factory will inject into theEvaluationStrategy
, if any.long
getQuerySolutionCacheThreshold()
Get the number of query solutions theEvaluationStrategy
will keep in main memory before it attempts to sync to a temporary disk cache.default boolean
isTrackResultSize()
Returns the status of the result size tracking for the query plan.default void
setCollectionFactory(Supplier<CollectionFactory> collectionFactory)
Set the collection factory to use.void
setOptimizerPipeline(QueryOptimizerPipeline pipeline)
Set aQueryOptimizerPipeline
to be used for query execution planning by theEvaluationStrategy
.void
setQuerySolutionCacheThreshold(long threshold)
Deprecated.default void
setTrackResultSize(boolean trackResultSize)
Enable or disable results size tracking for the query plan.
-
-
-
Method Detail
-
setQuerySolutionCacheThreshold
@Deprecated void setQuerySolutionCacheThreshold(long threshold)
Deprecated.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
void setOptimizerPipeline(QueryOptimizerPipeline pipeline)
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.
-
setCollectionFactory
default void setCollectionFactory(Supplier<CollectionFactory> collectionFactory)
Set the collection factory to use.- Parameters:
collectionFactory
-
-
-