Class FedXConfig

java.lang.Object
org.eclipse.rdf4j.federated.FedXConfig

public class FedXConfig extends Object
Configuration class for FedX
Author:
Andreas Schwarte
  • Field Details Link icon

    • DEFAULT_CONFIG Link icon

      public static FedXConfig DEFAULT_CONFIG
  • Constructor Details Link icon

    • FedXConfig Link icon

      public FedXConfig()
  • Method Details Link icon

    • withDebugQueryPlan Link icon

      public FedXConfig withDebugQueryPlan(boolean flag)
      Set whether the query plan shall be debugged. See isDebugQueryPlan().

      Can be set after federation construction and initialize.

      Parameters:
      flag -
      Returns:
      the current config
    • withLogQueries Link icon

      public FedXConfig withLogQueries(boolean flag)
      Set whether to log queries. See isLogQueries().

      Can only be set before federation initialization.

      Parameters:
      flag -
      Returns:
      the current config
    • withEnforceMaxQueryTime Link icon

      public FedXConfig withEnforceMaxQueryTime(int enforceMaxQueryTime)
      Set enforce max query time. See getEnforceMaxQueryTime().

      Can be set after federation construction and initialize.

      Parameters:
      enforceMaxQueryTime - time in seconds, 0 to disable
      Returns:
      the current config
    • withIncludeInferredDefault Link icon

      public FedXConfig withIncludeInferredDefault(boolean flag)
      Set the default value supplied to Operation.setIncludeInferred(boolean)
      Parameters:
      flag -
      Returns:
      the current config
    • withEnableMonitoring Link icon

      public FedXConfig withEnableMonitoring(boolean flag)
      Enable monitoring. See isEnableMonitoring().

      Can only be set before federation initialization.

      Parameters:
      flag -
      Returns:
      the current config
    • withBoundJoinBlockSize Link icon

      public FedXConfig withBoundJoinBlockSize(int boundJoinBlockSize)
      Set the bound join block size. See getBoundJoinBlockSize().

      Can only be set before federation initialization.

      Parameters:
      boundJoinBlockSize -
      Returns:
      the current config
    • withJoinWorkerThreads Link icon

      public FedXConfig withJoinWorkerThreads(int joinWorkerThreads)
      Set the number of join worker threads. See getJoinWorkerThreads().

      Can only be set before federation initialization.

      Parameters:
      joinWorkerThreads -
      Returns:
      the current config
    • withLeftJoinWorkerThreads Link icon

      public FedXConfig withLeftJoinWorkerThreads(int leftJoinWorkerThreads)
      Set the number of left join worker threads. See getLeftJoinWorkerThreads().

      Can only be set before federation initialization.

      Parameters:
      leftJoinWorkerThreads -
      Returns:
      the current config
    • withUnionWorkerThreads Link icon

      public FedXConfig withUnionWorkerThreads(int unionWorkerThreads)
      Set the number of union worker threads. See getUnionWorkerThreads().

      Can only be set before federation initialization.

      Parameters:
      unionWorkerThreads -
      Returns:
      the current config
    • withPrefixDeclarations Link icon

      public FedXConfig withPrefixDeclarations(String prefixFile)
      Set the optional prefix declarations file. See getPrefixDeclarations().

      Can only be set before federation initialization.

      Parameters:
      prefixFile -
      Returns:
      config
    • withLogQueryPlan Link icon

      public FedXConfig withLogQueryPlan(boolean flag)
      Whether to log the query plan with QueryPlanLog. See isLogQueryPlan().

      Can only be set before federation initialization.

      Parameters:
      flag -
      Returns:
      the current config
    • withEnableServiceAsBoundJoin Link icon

      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.
    • withEnableOptionalAsBindJoin Link icon

      public FedXConfig withEnableOptionalAsBindJoin(boolean flag)
      Whether OPTIONAL clauses are evaluated using bind join (i.e. with the VALUES clause). Default true
      Parameters:
      flag -
      Returns:
      the current config.
    • withSourceSelectionCacheSpec Link icon

      public FedXConfig withSourceSelectionCacheSpec(String cacheSpec)
      The cache specification for the SourceSelectionMemoryCache. If not set explicitly, the SourceSelectionMemoryCache.DEFAULT_CACHE_SPEC is used.
      Parameters:
      cacheSpec - the CacheBuilderSpec for the SourceSelectionCache
      Returns:
      the current config
      See Also:
    • withSourceSelectionCacheFactory Link icon

      public FedXConfig withSourceSelectionCacheFactory(SourceSelectionCacheFactory factory)
      The SourceSelectionCacheFactory to be used. If not set explicitly, the default in memory implementation is used with the configued getSourceSelectionCacheSpec().
      Parameters:
      factory - the SourceSelectionCacheFactory
      Returns:
      the current config
    • withTaskWrapper Link icon

      public FedXConfig withTaskWrapper(TaskWrapper taskWrapper)
      Sets a TaskWrapper which may be used for wrapping any background Runnables. If no such wrapper is explicitly configured, the unmodified task is returned. See TaskWrapper for more information.
      Parameters:
      taskWrapper - the TaskWrapper
      Returns:
      the current config
      See Also:
    • getJoinWorkerThreads Link icon

      public int getJoinWorkerThreads()
      The (maximum) number of join worker threads used in the ControlledWorkerScheduler for join operations. Default is 20.
      Returns:
      the number of join worker threads
    • getUnionWorkerThreads Link icon

      public int getUnionWorkerThreads()
      The (maximum) number of union worker threads used in the ControlledWorkerScheduler for join operations. Default is 20
      Returns:
      number of union worker threads
    • getLeftJoinWorkerThreads Link icon

      public int getLeftJoinWorkerThreads()
      The (maximum) number of left join worker threads used in the ControlledWorkerScheduler for join operations. Default is 10.
      Returns:
      the number of left join worker threads
    • getBoundJoinBlockSize Link icon

      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 Link icon

      public boolean getEnableServiceAsBoundJoin()
      Returns a flag indicating whether vectored evaluation using the VALUES clause shall be applied for SERVICE expressions. Default: true
      Returns:
      whether SERVICE expressions are evaluated using bind joins
    • isEnableOptionalAsBindJoin Link icon

      public boolean isEnableOptionalAsBindJoin()
      Returns a flag indicating whether bind join evaluation using the VALUES clause shall be applied for OPTIONAL expressions. Default: true
      Returns:
      whether OPTIONAL expressions are evaluated using bind joins
    • getEnforceMaxQueryTime Link icon

      public int getEnforceMaxQueryTime()
      Get the maximum query time in seconds used for query evaluation. Applied if QueryManager 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 Link icon

      public boolean getIncludeInferredDefault()
      Returns:
      the default for Operation.getIncludeInferred()
    • isEnableMonitoring Link icon

      public boolean isEnableMonitoring()
      Flag to enable/disable monitoring features. Default=false.
      Returns:
      whether monitoring is enabled
    • isLogQueryPlan Link icon

      public boolean isLogQueryPlan()
      Flag to enable/disable query plan logging via QueryPlanLog. Default=false The QueryPlanLog 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 Link icon

      public boolean isLogQueries()
      Flag to enable/disable query logging via QueryLog. Default=false The QueryLog facility allows to log all queries to a file. See QueryLog for details. Requires isEnableMonitoring() to be active.
      Returns:
      whether queries are logged
    • getPrefixDeclarations Link icon

      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 Link icon

      public String getSourceSelectionCacheSpec()
      Returns the configured CacheBuilderSpec (if any) for the SourceSelectionMemoryCache. If not defined, the SourceSelectionMemoryCache.DEFAULT_CACHE_SPEC is used. If getSourceSelectionCacheFactory() is configured, this setting is ignored.
      Returns:
      the CacheBuilderSpec or null
    • getSourceSelectionCacheFactory Link icon

      public SourceSelectionCacheFactory getSourceSelectionCacheFactory()
      Returns the SourceSelectionCacheFactory (if any). If not defined, the SourceSelectionCache is instantiated using the default implementation and respects getSourceSelectionCacheSpec().
      Returns:
      SourceSelectionCacheFactory
    • isDebugQueryPlan Link icon

      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 Link icon

      public Optional<TaskWrapper> getTaskWrapper()
      Returns a TaskWrapper which may be used for wrapping any background Runnables. If no such wrapper is explicitly configured, the unmodified task is returned. See TaskWrapper for more information.
      Returns:
      the TaskWrapper, an empty Optional if none is explicitly configured
    • withConsumingIterationMax Link icon

      public FedXConfig withConsumingIterationMax(int max)
      Set the max number of results to be consumed by ConsumingIteration. See getConsumingIterationMax().

      Can only be set before federation initialization.

      Parameters:
      max -
      Returns:
      the current config
    • getConsumingIterationMax Link icon

      public int getConsumingIterationMax()
      Returns the max number of results to be consumed by ConsumingIteration
    • withCollectionFactory Link icon

      @Deprecated(forRemoval=true) public FedXConfig withCollectionFactory(CollectionFactory cf)
      Deprecated, for removal: This API element is subject to removal in a future version.
      unusedO
      Set the CollectionFactory to be used by the federation

      Can only be set before federation initialization.

      Parameters:
      cf -
      Returns:
      the current config