Package org.eclipse.rdf4j.federated
Class QueryManager
java.lang.Object
org.eclipse.rdf4j.federated.QueryManager
QueryManager to manage queries.
a) Management of running queries (abort, finish) b) Factory to create queries
- Author:
- Andreas Schwarte
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidabortQuery(QueryInfo queryInfo) voidaddPrefixDeclaration(String prefix, String namespace) Register a prefix declaration to be used during query evaluation.findQueryPrefixes(String queryString) Find all prefixes declared in the queryvoidfinishQuery(QueryInfo queryInfo) Computes the (incremental) next query identifier.intprotected StringGet the prefix declarations that have to be prepended to the query.protected StringgetPrefixDeclarationsCheck(String queryString) Get the prefix declarations that have to be added while considering prefixes that are already declared in the query.getQueryPlan(String queryString) Retrieve the query plan for the given query string.voidinit(FedXRepository repo, FederationContext federationContext) booleanprepareBooleanQuery(String queryString) Prepare a boolean query which uses the underlying federation to evaluate the query.prepareGraphQuery(String queryString) Prepare a tuple query which uses the underlying federation to evaluate the query.prepareQuery(String queryString) Prepare aQuerywhich uses the underlying federation to evaluate the SPARQL query.prepareTupleQuery(String queryString) Prepare a tuple query which uses the underlying federation to evaluate the query.voidregisterQuery(QueryInfo queryInfo) Add the query to the set of running queries, queries are identified via a unique idvoidshutdown()
-
Constructor Details
-
QueryManager
public QueryManager()
-
-
Method Details
-
init
-
shutdown
public void shutdown() -
registerQuery
Add the query to the set of running queries, queries are identified via a unique id- Parameters:
queryInfo-
-
getRunningQueries
-
getNumberOfRunningQueries
public int getNumberOfRunningQueries() -
abortQuery
-
finishQuery
-
isRunning
-
addPrefixDeclaration
Register a prefix declaration to be used during query evaluation. If a known prefix is used in a query, it is substituted in the parsing step. If namespace is null, the corresponding entry is removed.- Parameters:
prefix- a common prefix, e.g. rdfnamespace- the corresponding namespace, e.g. "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-
prepareTupleQuery
Prepare a tuple query which uses the underlying federation to evaluate the query.The queryString is modified to use the declared PREFIX declarations, see
FedXConfig.getPrefixDeclarations()for details.- Parameters:
queryString-- Returns:
- the prepared tuple query
- Throws:
MalformedQueryException
-
prepareGraphQuery
Prepare a tuple query which uses the underlying federation to evaluate the query.The queryString is modified to use the declared PREFIX declarations, see
FedXConfig.getPrefixDeclarations()for details.- Parameters:
queryString-- Returns:
- the prepared graph query
- Throws:
MalformedQueryException
-
prepareBooleanQuery
Prepare a boolean query which uses the underlying federation to evaluate the query.The queryString is modified to use the declared PREFIX declarations, see
FedXConfig.getPrefixDeclarations()for details.- Parameters:
queryString-- Returns:
- the prepared
BooleanQuery - Throws:
MalformedQueryException
-
prepareQuery
Prepare aQuerywhich uses the underlying federation to evaluate the SPARQL query.The queryString is modified to use the declared PREFIX declarations, see
FedXConfig.getPrefixDeclarations()for details.- Parameters:
queryString-- Returns:
- the prepared
Query - Throws:
MalformedQueryException
-
getQueryPlan
Retrieve the query plan for the given query string.- Parameters:
queryString-- Returns:
- the query plan
- Throws:
MalformedQueryExceptionFedXException
-
getNextQueryId
Computes the (incremental) next query identifier. Implementation is thread safe and synchronized.- Returns:
- the next query identifier
-
getPrefixDeclarations
Get the prefix declarations that have to be prepended to the query.- Returns:
- the prefix declarations
-
getPrefixDeclarationsCheck
Get the prefix declarations that have to be added while considering prefixes that are already declared in the query. The issue here is that duplicate declaration causes exceptions in RDF4J.- Parameters:
queryString-- Returns:
- the prefix declarations
-
findQueryPrefixes
Find all prefixes declared in the query- Parameters:
queryString-- Returns:
- the prefixes
-