Class FedXConfig
- java.lang.Object
-
- org.eclipse.rdf4j.federated.FedXConfig
-
public class FedXConfig extends Object
Configuration class for FedX- Author:
- Andreas Schwarte
-
-
Field Summary
Fields Modifier and Type Field Description static FedXConfigDEFAULT_CONFIG
-
Constructor Summary
Constructors Constructor Description FedXConfig()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetBoundJoinBlockSize()The block size for a bound join, i.e.intgetConsumingIterationMax()Returns the max number of results to be consumed byConsumingIterationbooleangetEnableServiceAsBoundJoin()Returns a flag indicating whether vectored evaluation using the VALUES clause shall be applied for SERVICE expressions.intgetEnforceMaxQueryTime()Get the maximum query time in seconds used for query evaluation.booleangetIncludeInferredDefault()intgetJoinWorkerThreads()The (maximum) number of join worker threads used in theControlledWorkerSchedulerfor join operations.intgetLeftJoinWorkerThreads()The (maximum) number of left join worker threads used in theControlledWorkerSchedulerfor join operations.StringgetPrefixDeclarations()Returns the path to a property file containing prefix declarations as "namespace=prefix" pairs (one per line).StringgetSourceSelectionCacheSpec()Returns the configuredCacheBuilderSpec(if any) for theSourceSelectionMemoryCache.Optional<TaskWrapper>getTaskWrapper()Returns aTaskWrapperwhich may be used for wrapping any backgroundRunnables.intgetUnionWorkerThreads()The (maximum) number of union worker threads used in theControlledWorkerSchedulerfor join operations.booleanisDebugQueryPlan()The debug mode for query plan.booleanisEnableMonitoring()Flag to enable/disable monitoring features.booleanisLogQueries()Flag to enable/disable query logging viaQueryLog.booleanisLogQueryPlan()Flag to enable/disable query plan logging viaQueryPlanLog.FedXConfigwithBoundJoinBlockSize(int boundJoinBlockSize)Set the bound join block size.FedXConfigwithConsumingIterationMax(int max)Set the max number of results to be consumed byConsumingIteration.FedXConfigwithDebugQueryPlan(boolean flag)Set whether the query plan shall be debugged.FedXConfigwithEnableMonitoring(boolean flag)Enable monitoring.FedXConfigwithEnableServiceAsBoundJoin(boolean flag)Whether external SERVICE clauses are evaluated using bound join (i.e.FedXConfigwithEnforceMaxQueryTime(int enforceMaxQueryTime)Set enforce max query time.FedXConfigwithIncludeInferredDefault(boolean flag)Set the default value supplied toOperation.setIncludeInferred(boolean)FedXConfigwithJoinWorkerThreads(int joinWorkerThreads)Set the number of join worker threads.FedXConfigwithLeftJoinWorkerThreads(int leftJoinWorkerThreads)Set the number of left join worker threads.FedXConfigwithLogQueries(boolean flag)Set whether to log queries.FedXConfigwithLogQueryPlan(boolean flag)Whether to log the query plan withQueryPlanLog.FedXConfigwithPrefixDeclarations(String prefixFile)Set the optional prefix declarations file.FedXConfigwithSourceSelectionCacheSpec(String cacheSpec)The cache specification for theSourceSelectionMemoryCache.FedXConfigwithTaskWrapper(TaskWrapper taskWrapper)Sets aTaskWrapperwhich may be used for wrapping any backgroundRunnables.FedXConfigwithUnionWorkerThreads(int unionWorkerThreads)Set the number of union worker threads.
-
-
-
Field Detail
-
DEFAULT_CONFIG
public static FedXConfig DEFAULT_CONFIG
-
-
Method Detail
-
withDebugQueryPlan
public FedXConfig withDebugQueryPlan(boolean flag)
Set whether the query plan shall be debugged. SeeisDebugQueryPlan().Can be set after federation construction and initialize.
- Parameters:
flag-- Returns:
- the current config
-
withLogQueries
public FedXConfig withLogQueries(boolean flag)
Set whether to log queries. SeeisLogQueries().Can only be set before federation initialization.
- Parameters:
flag-- Returns:
- the current config
-
withEnforceMaxQueryTime
public FedXConfig withEnforceMaxQueryTime(int enforceMaxQueryTime)
Set enforce max query time. SeegetEnforceMaxQueryTime().Can be set after federation construction and initialize.
- Parameters:
enforceMaxQueryTime- time in seconds, 0 to disable- Returns:
- the current config
-
withIncludeInferredDefault
public FedXConfig withIncludeInferredDefault(boolean flag)
Set the default value supplied toOperation.setIncludeInferred(boolean)- Parameters:
flag-- Returns:
- the current config
-
withEnableMonitoring
public FedXConfig withEnableMonitoring(boolean flag)
Enable monitoring. SeeisEnableMonitoring().Can only be set before federation initialization.
- Parameters:
flag-- Returns:
- the current config
-
withBoundJoinBlockSize
public FedXConfig withBoundJoinBlockSize(int boundJoinBlockSize)
Set the bound join block size. SeegetBoundJoinBlockSize().Can only be set before federation initialization.
- Parameters:
boundJoinBlockSize-- Returns:
- the current config
-
withJoinWorkerThreads
public FedXConfig withJoinWorkerThreads(int joinWorkerThreads)
Set the number of join worker threads. SeegetJoinWorkerThreads().Can only be set before federation initialization.
- Parameters:
joinWorkerThreads-- Returns:
- the current config
-
withLeftJoinWorkerThreads
public FedXConfig withLeftJoinWorkerThreads(int leftJoinWorkerThreads)
Set the number of left join worker threads. SeegetLeftJoinWorkerThreads().Can only be set before federation initialization.
- Parameters:
leftJoinWorkerThreads-- Returns:
- the current config
-
withUnionWorkerThreads
public FedXConfig withUnionWorkerThreads(int unionWorkerThreads)
Set the number of union worker threads. SeegetUnionWorkerThreads().Can only be set before federation initialization.
- Parameters:
unionWorkerThreads-- Returns:
- the current config
-
withPrefixDeclarations
public FedXConfig withPrefixDeclarations(String prefixFile)
Set the optional prefix declarations file. SeegetPrefixDeclarations().Can only be set before federation initialization.
- Parameters:
prefixFile-- Returns:
- config
-
withLogQueryPlan
public FedXConfig withLogQueryPlan(boolean flag)
Whether to log the query plan withQueryPlanLog. SeeisLogQueryPlan().Can only be set before federation initialization.
- Parameters:
flag-- Returns:
- the current config
-
withEnableServiceAsBoundJoin
public FedXConfig withEnableServiceAsBoundJoin(boolean flag)
Whether external SERVICE clauses are evaluated using bound join (i.e. with the VALUES clause). Default true- Parameters:
flag-- Returns:
- the current config.
-
withSourceSelectionCacheSpec
public FedXConfig withSourceSelectionCacheSpec(String cacheSpec)
The cache specification for theSourceSelectionMemoryCache. If not set explicitly, theSourceSelectionMemoryCache.DEFAULT_CACHE_SPECis used.- Parameters:
cacheSpec- theCacheBuilderSpecfor theSourceSelectionCache- Returns:
- the current config
- See Also:
SourceSelectionMemoryCache
-
withTaskWrapper
public FedXConfig withTaskWrapper(TaskWrapper taskWrapper)
Sets aTaskWrapperwhich may be used for wrapping any backgroundRunnables. If no such wrapper is explicitly configured, the unmodified task is returned. SeeTaskWrapperfor more information.- Parameters:
taskWrapper- theTaskWrapper- Returns:
- the current config
- See Also:
TaskWrapper
-
getJoinWorkerThreads
public int getJoinWorkerThreads()
The (maximum) number of join worker threads used in theControlledWorkerSchedulerfor join operations. Default is 20.- Returns:
- the number of join worker threads
-
getUnionWorkerThreads
public int getUnionWorkerThreads()
The (maximum) number of union worker threads used in theControlledWorkerSchedulerfor join operations. Default is 20- Returns:
- number of union worker threads
-
getLeftJoinWorkerThreads
public int getLeftJoinWorkerThreads()
The (maximum) number of left join worker threads used in theControlledWorkerSchedulerfor join operations. Default is 10.- Returns:
- the number of left join worker threads
-
getBoundJoinBlockSize
public int getBoundJoinBlockSize()
The block size for a bound join, i.e. the number of bindings that are integrated in a single subquery. Default is 15.- Returns:
- the bound join block size
-
getEnableServiceAsBoundJoin
public boolean getEnableServiceAsBoundJoin()
Returns a flag indicating whether vectored evaluation using the VALUES clause shall be applied for SERVICE expressions. Default: false Note: for todays endpoints it is more efficient to disable vectored evaluation of SERVICE.- Returns:
- whether SERVICE expressions are evaluated using bound joins
-
getEnforceMaxQueryTime
public int getEnforceMaxQueryTime()
Get the maximum query time in seconds used for query evaluation. Applied ifQueryManageris used to create queries.Set to 0 to disable query timeouts.
The timeout is also applied for individual fine-granular join or union operations as a max time.- Returns:
- the maximum query time in seconds
-
getIncludeInferredDefault
public boolean getIncludeInferredDefault()
- Returns:
- the default for
Operation.getIncludeInferred()
-
isEnableMonitoring
public boolean isEnableMonitoring()
Flag to enable/disable monitoring features. Default=false.- Returns:
- whether monitoring is enabled
-
isLogQueryPlan
public boolean isLogQueryPlan()
Flag to enable/disable query plan logging viaQueryPlanLog. Default=false TheQueryPlanLogfacility allows to retrieve the query execution plan from a variable local to the executing thread.- Returns:
- whether the query plan shall be logged
-
isLogQueries
public boolean isLogQueries()
Flag to enable/disable query logging viaQueryLog. Default=false TheQueryLogfacility allows to log all queries to a file. SeeQueryLogfor details. RequiresisEnableMonitoring()to be active.- Returns:
- whether queries are logged
-
getPrefixDeclarations
public String getPrefixDeclarations()
Returns the path to a property file containing prefix declarations as "namespace=prefix" pairs (one per line).Default: no prefixes are replaced. Note that prefixes are only replaced when using the
QueryManagerto create/evaluate queries. Example:foaf=http://xmlns.com/foaf/0.1/ rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns# =http://mydefaultns.org/- Returns:
- the location of the prefix declarations or
nullif not configured
-
getSourceSelectionCacheSpec
public String getSourceSelectionCacheSpec()
Returns the configuredCacheBuilderSpec(if any) for theSourceSelectionMemoryCache. If not defined, theSourceSelectionMemoryCache.DEFAULT_CACHE_SPECis used.- Returns:
- the
CacheBuilderSpecornull
-
isDebugQueryPlan
public boolean isDebugQueryPlan()
The debug mode for query plan. If enabled, the query execution plan is printed to stdout- Returns:
- whether the query plan is printed to std out
-
getTaskWrapper
public Optional<TaskWrapper> getTaskWrapper()
Returns aTaskWrapperwhich may be used for wrapping any backgroundRunnables. If no such wrapper is explicitly configured, the unmodified task is returned. SeeTaskWrapperfor more information.- Returns:
- the
TaskWrapper, an emptyOptionalif none is explicitly configured
-
withConsumingIterationMax
public FedXConfig withConsumingIterationMax(int max)
Set the max number of results to be consumed byConsumingIteration. SeegetConsumingIterationMax().Can only be set before federation initialization.
- Parameters:
max-- Returns:
- the current config
-
getConsumingIterationMax
public int getConsumingIterationMax()
Returns the max number of results to be consumed byConsumingIteration
-
-