Class FedXRepositoryConfig
java.lang.Object
org.eclipse.rdf4j.repository.config.AbstractRepositoryImplConfig
org.eclipse.rdf4j.federated.repository.FedXRepositoryConfig
- All Implemented Interfaces:
RepositoryImplConfig
A
RepositoryImplConfig
to configure FedX for the use in the RDF4J workbench.
Federation member repositories (e.g. NativeStore or SPARQL endpoints) can be managed in the RDF4J Workbench, and referenced as members in the federation. Alternatively, FedX can manage repositories, please refer to the documentation for data configuration.
Example configuration file:
# RDF4J configuration template for a FedX Repository @prefix rdfs: invalid input: '<'http://www.w3.org/2000/01/rdf-schema#>. @prefix rep: invalid input: '<'http://www.openrdf.org/config/repository#>. @prefix fedx: invalid input: '<'http://www.fluidops.com/config/fedx#>. [] a rep:Repository ; rep:repositoryImpl [ rep:repositoryType "fedx:FedXRepository" ; fedx:member [ fedx:store "ResolvableRepository" ; fedx:repositoryName "endpoint1" ], [ fedx:store "ResolvableRepository" ; fedx:repositoryName "endpoint2" ] # optionally define data config #fedx:fedxConfig "fedxConfig.prop" ; fedx:dataConfig "dataConfig.ttl" ; # optionally define FedXConfig overrides fedx:config [ fedx:sourceSelectionCacheSpec "maximumSize=0" ; fedx:enforceMaxQueryTime 30 ; ] ]; rep:repositoryID "fedx" ; rdfs:label "FedX Federation" .
Note that the location of the fedx config and the data config is relative to the repository's data dir (as managed by the RDF4J repository manager)
- Author:
- Andreas Schwarte
-
Field Summary
Modifier and TypeFieldDescriptionstatic final IRI
IRI of the property populatingFedXConfig.getBoundJoinBlockSize()
static final IRI
IRI of the property populatingFedXConfig.getConsumingIterationMax()
static final IRI
IRI of the property populatingFedXConfig.isDebugQueryPlan()
static final IRI
IRI of the property populatingFedXConfig.isEnableMonitoring()
static final IRI
IRI of the property populatingFedXConfig.getEnableServiceAsBoundJoin()
static final IRI
IRI of the property populatingFedXConfig.getEnforceMaxQueryTime()
static final IRI
IRI of the property populatingFedXConfig.getIncludeInferredDefault()
static final IRI
IRI of the property populatingFedXConfig.getJoinWorkerThreads()
static final IRI
IRI of the property populatingFedXConfig.getLeftJoinWorkerThreads()
static final IRI
IRI of the property populatingFedXConfig.isLogQueries()
static final IRI
IRI of the property populatingFedXConfig.isLogQueryPlan()
static final IRI
IRI of the property populatingFedXConfig.getPrefixDeclarations()
static final IRI
IRI of the property populatingFedXConfig.getSourceSelectionCacheSpec()
static final IRI
IRI of the property populatingFedXConfig.getUnionWorkerThreads()
static final IRI
IRI of the property pointing to the FedX data configstatic final IRI
IRI of the property pointing to theFedXConfig
static final IRI
IRI of the property pointing to a federation member nodestatic final String
FedX schema namespace (http://rdf4j.org/config/federation#). -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionExport thisRepositoryImplConfig
to its RDF representationprotected void
exportFedXConfig
(Model model, Resource implNode) Export the providedFedXConfig
to its RDF representation.void
Reads the properties of thisRepositoryImplConfig
from the supplied Model and sets them accordingly.protected void
parseFedXConfig
(Model m, Resource implNode) Updates the containerFedXConfig
instance with properties from the supplied model.void
setConfig
(FedXConfig config) void
setDataConfig
(String dataConfig) void
setMembers
(Model members) void
validate()
Validates this configuration.Methods inherited from class org.eclipse.rdf4j.repository.config.AbstractRepositoryImplConfig
create, getType, setType
-
Field Details
-
NAMESPACE
FedX schema namespace (http://rdf4j.org/config/federation#).- See Also:
-
DATA_CONFIG
IRI of the property pointing to the FedX data config -
FEDX_CONFIG
IRI of the property pointing to theFedXConfig
-
MEMBER
IRI of the property pointing to a federation member node -
CONFIG_JOIN_WORKER_THREADS
IRI of the property populatingFedXConfig.getJoinWorkerThreads()
-
CONFIG_UNION_WORKER_THREADS
IRI of the property populatingFedXConfig.getUnionWorkerThreads()
-
CONFIG_LEFT_JOIN_WORKER_THREADS
IRI of the property populatingFedXConfig.getLeftJoinWorkerThreads()
-
CONFIG_BOUND_JOIN_BLOCK_SIZE
IRI of the property populatingFedXConfig.getBoundJoinBlockSize()
-
CONFIG_ENFORCE_MAX_QUERY_TIME
IRI of the property populatingFedXConfig.getEnforceMaxQueryTime()
-
CONFIG_ENABLE_SERVICE_AS_BOUND_JOIN
IRI of the property populatingFedXConfig.getEnableServiceAsBoundJoin()
-
CONFIG_ENABLE_MONITORING
IRI of the property populatingFedXConfig.isEnableMonitoring()
-
CONFIG_LOG_QUERY_PLAN
IRI of the property populatingFedXConfig.isLogQueryPlan()
-
CONFIG_LOG_QUERIES
IRI of the property populatingFedXConfig.isLogQueries()
-
CONFIG_DEBUG_QUERY_PLAN
IRI of the property populatingFedXConfig.isDebugQueryPlan()
-
CONFIG_INCLUDE_INFERRED_DEFAULT
IRI of the property populatingFedXConfig.getIncludeInferredDefault()
-
CONFIG_SOURCE_SELECTION_CACHE_SPEC
IRI of the property populatingFedXConfig.getSourceSelectionCacheSpec()
-
CONFIG_PREFIX_DECLARATIONS
IRI of the property populatingFedXConfig.getPrefixDeclarations()
-
CONFIG_CONSUMING_ITERATION_MAX
IRI of the property populatingFedXConfig.getConsumingIterationMax()
-
-
Constructor Details
-
FedXRepositoryConfig
public FedXRepositoryConfig()
-
-
Method Details
-
getDataConfig
-
setDataConfig
-
getMembers
-
setMembers
-
getConfig
-
setConfig
-
export
Description copied from interface:RepositoryImplConfig
Export thisRepositoryImplConfig
to its RDF representation- Specified by:
export
in interfaceRepositoryImplConfig
- Overrides:
export
in classAbstractRepositoryImplConfig
- Parameters:
m
- aModel
object. After successful completion of this method this Model will contain the RDF representation of thisRepositoryImplConfig
.- Returns:
- the subject
Resource
that identifies thisRepositoryImplConfig
in the Model.
-
validate
Description copied from interface:RepositoryImplConfig
Validates this configuration. ARepositoryConfigException
is thrown when the configuration is invalid. The exception should contain an error message that indicates why the configuration is invalid.- Specified by:
validate
in interfaceRepositoryImplConfig
- Overrides:
validate
in classAbstractRepositoryImplConfig
- Throws:
RepositoryConfigException
- If the configuration is invalid.
-
parse
Description copied from interface:RepositoryImplConfig
Reads the properties of thisRepositoryImplConfig
from the supplied Model and sets them accordingly.- Specified by:
parse
in interfaceRepositoryImplConfig
- Overrides:
parse
in classAbstractRepositoryImplConfig
- Parameters:
m
- aModel
containing repository configuration data.implNode
- the subjectResource
that identifies theRepositoryImplConfig
in the Model.- Throws:
RepositoryConfigException
- if the configuration data could not be read from the supplied Model.
-
parseFedXConfig
Updates the containerFedXConfig
instance with properties from the supplied model. It is up to the caller to retrieve configuration fromFEDX_CONFIG
as well as to initialise the parsed configuration (viasetConfig(FedXConfig)
) since it can be null.- Parameters:
m
- the model from which to read configuration propertiesimplNode
- the subject against which to expect theFEDX_CONFIG
property.- Throws:
RepositoryConfigException
- if any of the overridden fields are deemed to be invalid
-
exportFedXConfig
Export the providedFedXConfig
to its RDF representation. Note thatgetConfig()
could be null if configuration has not been set yet.- Parameters:
implNode
- the node to which to write the config reference (i.e.FEDX_CONFIG
) toconfig
- the configuration to export
-