Class FedXConfig


  • public class FedXConfig
    extends Object
    Configuration class for FedX
    Author:
    Andreas Schwarte
    • Field Detail

      • DEFAULT_CONFIG

        public static FedXConfig DEFAULT_CONFIG
    • Constructor Detail

      • FedXConfig

        public FedXConfig()
    • Method Detail

      • withDebugQueryPlan

        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

        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

        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
      • withEnableMonitoring

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

        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. See getBoundJoinBlockSize().

        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. See getJoinWorkerThreads().

        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. See getLeftJoinWorkerThreads().

        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. See getUnionWorkerThreads().

        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. See getPrefixDeclarations().

        Can only be set before federation initialization.

        Parameters:
        prefixFile -
        Returns:
        config
      • withLogQueryPlan

        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

        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.
      • withTaskWrapper

        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:
        TaskWrapper
      • getJoinWorkerThreads

        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

        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

        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

        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 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
      • 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 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

        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

        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
      • 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
      • withConsumingIterationMax

        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

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