Class FedXRepositoryConnection
java.lang.Object
org.eclipse.rdf4j.repository.base.AbstractRepositoryConnection
org.eclipse.rdf4j.repository.sail.SailRepositoryConnection
org.eclipse.rdf4j.federated.repository.FedXRepositoryConnection
- All Implemented Interfaces:
AutoCloseable
,HttpClientDependent
,SessionManagerDependent
,FederatedServiceResolverClient
,RepositoryConnection
,RepositoryResolverClient
A special
SailRepositoryConnection
which adds the original query string as binding to the returned query. The
binding name is defined by BINDING_ORIGINAL_QUERY
and is added to all query instances returned by the
available prepare methods.- Author:
- Andreas Schwarte
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
static final String
static final String
We add a binding to each parsed query mapping the original query in order to send the original query to the endpoint if there is only a single federation member is relevant for this query.static final String
The number of bindings in the external binding set that are added by FedX.Fields inherited from class org.eclipse.rdf4j.repository.base.AbstractRepositoryConnection
logger
-
Constructor Summary
ModifierConstructorDescriptionprotected
FedXRepositoryConnection
(FedXRepository repository, SailConnection sailConnection) -
Method Summary
Modifier and TypeMethodDescriptionprepareBooleanQuery
(QueryLanguage ql, String queryString, String baseURI) Prepares queries that return true or false.prepareGraphQuery
(QueryLanguage ql, String queryString, String baseURI) Prepares queries that produce RDF graphs.prepareQuery
(QueryLanguage ql, String queryString, String baseURI) Prepares a query for evaluation on this repository (optional operation).prepareTupleQuery
(QueryLanguage ql, String queryString, String baseURI) Prepares a query that produces sets of value tuples.prepareUpdate
(QueryLanguage ql, String updateString, String baseURI) Prepares an Update operation.Methods inherited from class org.eclipse.rdf4j.repository.sail.SailRepositoryConnection
addWithoutCommit, begin, begin, begin, clear, clearNamespaces, close, commit, createRepositoryResult, exportStatements, getContextIDs, getFederatedServiceResolver, getHttpClient, getHttpClientSessionManager, getNamespace, getNamespaces, getSailConnection, getStatements, hasStatement, isActive, isEmpty, isOpen, prepare, removeNamespace, removeWithoutCommit, rollback, setFederatedServiceResolver, setHttpClient, setHttpClientSessionManager, setNamespace, setRepositoryResolver, size, toString
Methods inherited from class org.eclipse.rdf4j.repository.base.AbstractRepositoryConnection
add, add, add, add, add, add, add, add, addWithoutCommit, conditionalCommit, conditionalRollback, export, getIsolationLevel, getParserConfig, getRepository, getValueFactory, hasStatement, isAutoCommit, prepareBooleanQuery, prepareGraphQuery, prepareQuery, prepareTupleQuery, prepareUpdate, remove, remove, remove, remove, removeWithoutCommit, setAutoCommit, setIsolationLevel, setParserConfig, startLocalTransaction
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.eclipse.rdf4j.repository.RepositoryConnection
add, add, add, add, add, add, add, getStatements, prepareBooleanQuery, prepareGraphQuery, prepareQuery, prepareTupleQuery, prepareUpdate, remove
-
Field Details
-
BINDING_ORIGINAL_QUERY
We add a binding to each parsed query mapping the original query in order to send the original query to the endpoint if there is only a single federation member is relevant for this query.- See Also:
-
BINDING_ORIGINAL_BASE_URI
- See Also:
-
BINDING_ORIGINAL_QUERY_TYPE
- See Also:
-
BINDING_ORIGINAL_MAX_EXECUTION_TIME
- See Also:
-
FEDX_BINDINGS
-
-
Constructor Details
-
FedXRepositoryConnection
-
-
Method Details
-
prepareQuery
public SailQuery prepareQuery(QueryLanguage ql, String queryString, String baseURI) throws MalformedQueryException Description copied from interface:RepositoryConnection
Prepares a query for evaluation on this repository (optional operation).If you already know the type of query, using the more specific
RepositoryConnection.prepareTupleQuery(java.lang.String)
,RepositoryConnection.prepareGraphQuery(java.lang.String)
orRepositoryConnection.prepareBooleanQuery(java.lang.String)
is likely to be more efficient.- Specified by:
prepareQuery
in interfaceRepositoryConnection
- Overrides:
prepareQuery
in classSailRepositoryConnection
- Parameters:
ql
- Thequery language
in which the query is formulated.queryString
- The query string.baseURI
- The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.- Returns:
- A query ready to be evaluated on this repository.
- Throws:
MalformedQueryException
- If the supplied query is malformed.
-
prepareTupleQuery
public FedXTupleQuery prepareTupleQuery(QueryLanguage ql, String queryString, String baseURI) throws MalformedQueryException Description copied from interface:RepositoryConnection
Prepares a query that produces sets of value tuples.- Specified by:
prepareTupleQuery
in interfaceRepositoryConnection
- Overrides:
prepareTupleQuery
in classSailRepositoryConnection
- Parameters:
ql
- Thequery language
in which the query is formulated.queryString
- The query string.baseURI
- The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.- Returns:
- a
TupleQuery
ready to be evaluated on thisRepositoryConnection
. - Throws:
MalformedQueryException
- If the supplied query is malformed.
-
prepareGraphQuery
public FedXGraphQuery prepareGraphQuery(QueryLanguage ql, String queryString, String baseURI) throws MalformedQueryException Description copied from interface:RepositoryConnection
Prepares queries that produce RDF graphs.- Specified by:
prepareGraphQuery
in interfaceRepositoryConnection
- Overrides:
prepareGraphQuery
in classSailRepositoryConnection
- Parameters:
ql
- Thequery language
in which the query is formulated.queryString
- The query string.baseURI
- The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.- Returns:
- a
GraphQuery
ready to be evaluated on thisRepositoryConnection
. - Throws:
MalformedQueryException
- If the supplied query is malformed.
-
prepareBooleanQuery
public SailBooleanQuery prepareBooleanQuery(QueryLanguage ql, String queryString, String baseURI) throws MalformedQueryException Description copied from interface:RepositoryConnection
Prepares queries that return true or false.- Specified by:
prepareBooleanQuery
in interfaceRepositoryConnection
- Overrides:
prepareBooleanQuery
in classSailRepositoryConnection
- Parameters:
ql
- Thequery language
in which the query is formulated.queryString
- The query string.baseURI
- The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.- Returns:
- a
BooleanQuery
ready to be evaluated on thisRepositoryConnection
. - Throws:
MalformedQueryException
- If the supplied query is malformed.
-
prepareUpdate
public Update prepareUpdate(QueryLanguage ql, String updateString, String baseURI) throws RepositoryException, MalformedQueryException Description copied from interface:RepositoryConnection
Prepares an Update operation.- Specified by:
prepareUpdate
in interfaceRepositoryConnection
- Overrides:
prepareUpdate
in classSailRepositoryConnection
- Parameters:
ql
- Thequery language
in which the update operation is formulated.updateString
- The update operation string.baseURI
- The base URI to resolve any relative URIs that are in the update against, can be null if the update does not contain any relative URIs.- Returns:
- a
Update
ready to be executed on thisRepositoryConnection
. - Throws:
MalformedQueryException
- If the supplied update operation string is malformed.RepositoryException
-