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 FedXConfig
DEFAULT_CONFIG
-
Constructor Summary
Constructors Constructor Description FedXConfig()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getBoundJoinBlockSize()
The block size for a bound join, i.e.int
getConsumingIterationMax()
Returns the max number of results to be consumed byConsumingIteration
boolean
getEnableServiceAsBoundJoin()
Returns a flag indicating whether vectored evaluation using the VALUES clause shall be applied for SERVICE expressions.int
getEnforceMaxQueryTime()
Get the maximum query time in seconds used for query evaluation.boolean
getIncludeInferredDefault()
int
getJoinWorkerThreads()
The (maximum) number of join worker threads used in theControlledWorkerScheduler
for join operations.int
getLeftJoinWorkerThreads()
The (maximum) number of left join worker threads used in theControlledWorkerScheduler
for join operations.String
getPrefixDeclarations()
Returns the path to a property file containing prefix declarations as "namespace=prefix" pairs (one per line).String
getSourceSelectionCacheSpec()
Returns the configuredCacheBuilderSpec
(if any) for theSourceSelectionMemoryCache
.Optional<TaskWrapper>
getTaskWrapper()
Returns aTaskWrapper
which may be used for wrapping any backgroundRunnable
s.int
getUnionWorkerThreads()
The (maximum) number of union worker threads used in theControlledWorkerScheduler
for join operations.boolean
isDebugQueryPlan()
The debug mode for query plan.boolean
isEnableMonitoring()
Flag to enable/disable monitoring features.boolean
isLogQueries()
Flag to enable/disable query logging viaQueryLog
.boolean
isLogQueryPlan()
Flag to enable/disable query plan logging viaQueryPlanLog
.FedXConfig
withBoundJoinBlockSize(int boundJoinBlockSize)
Set the bound join block size.FedXConfig
withConsumingIterationMax(int max)
Set the max number of results to be consumed byConsumingIteration
.FedXConfig
withDebugQueryPlan(boolean flag)
Set whether the query plan shall be debugged.FedXConfig
withEnableMonitoring(boolean flag)
Enable monitoring.FedXConfig
withEnableServiceAsBoundJoin(boolean flag)
Whether external SERVICE clauses are evaluated using bound join (i.e.FedXConfig
withEnforceMaxQueryTime(int enforceMaxQueryTime)
Set enforce max query time.FedXConfig
withIncludeInferredDefault(boolean flag)
Set the default value supplied toOperation.setIncludeInferred(boolean)
FedXConfig
withJoinWorkerThreads(int joinWorkerThreads)
Set the number of join worker threads.FedXConfig
withLeftJoinWorkerThreads(int leftJoinWorkerThreads)
Set the number of left join worker threads.FedXConfig
withLogQueries(boolean flag)
Set whether to log queries.FedXConfig
withLogQueryPlan(boolean flag)
Whether to log the query plan withQueryPlanLog
.FedXConfig
withPrefixDeclarations(String prefixFile)
Set the optional prefix declarations file.FedXConfig
withSourceSelectionCacheSpec(String cacheSpec)
The cache specification for theSourceSelectionMemoryCache
.FedXConfig
withTaskWrapper(TaskWrapper taskWrapper)
Sets aTaskWrapper
which may be used for wrapping any backgroundRunnable
s.FedXConfig
withUnionWorkerThreads(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_SPEC
is used.- Parameters:
cacheSpec
- theCacheBuilderSpec
for theSourceSelectionCache
- Returns:
- the current config
- See Also:
SourceSelectionMemoryCache
-
withTaskWrapper
public FedXConfig withTaskWrapper(TaskWrapper taskWrapper)
Sets aTaskWrapper
which may be used for wrapping any backgroundRunnable
s. If no such wrapper is explicitly configured, the unmodified task is returned. SeeTaskWrapper
for 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 theControlledWorkerScheduler
for 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 theControlledWorkerScheduler
for 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 theControlledWorkerScheduler
for 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 ifQueryManager
is 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 TheQueryPlanLog
facility 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 TheQueryLog
facility allows to log all queries to a file. SeeQueryLog
for 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
QueryManager
to 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
null
if not configured
-
getSourceSelectionCacheSpec
public String getSourceSelectionCacheSpec()
Returns the configuredCacheBuilderSpec
(if any) for theSourceSelectionMemoryCache
. If not defined, theSourceSelectionMemoryCache.DEFAULT_CACHE_SPEC
is used.- Returns:
- the
CacheBuilderSpec
ornull
-
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 aTaskWrapper
which may be used for wrapping any backgroundRunnable
s. If no such wrapper is explicitly configured, the unmodified task is returned. SeeTaskWrapper
for more information.- Returns:
- the
TaskWrapper
, an emptyOptional
if 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
-
-