Class SparqlTripleSource
java.lang.Object
org.eclipse.rdf4j.federated.evaluation.TripleSourceBase
org.eclipse.rdf4j.federated.evaluation.SparqlTripleSource
- All Implemented Interfaces:
TripleSource
A triple source to be used for (remote) SPARQL endpoints.
This triple source supports the SparqlEndpointConfiguration
for defining whether ASK queries are to be used
for source selection.
The query result of TripleSourceBase.getStatements(String, BindingSet, FilterValueExpr, QueryInfo)
is wrapped in a
ConsumingIteration
to avoid blocking behavior..
- Author:
- Andreas Schwarte
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.rdf4j.federated.evaluation.TripleSourceBase
TripleSourceBase.ConnectionOperation<T>, TripleSourceBase.ResultHolder<T>
-
Field Summary
Fields inherited from class org.eclipse.rdf4j.federated.evaluation.TripleSourceBase
endpoint, federationContext, monitoringService
-
Method Summary
Modifier and TypeMethodDescriptionReturn the statements matching the given pattern as aStatement
iteration.getStatements
(StatementPattern stmt, BindingSet bindings, FilterValueExpr filterExpr, QueryInfo queryInfo) Evaluate the query expression on the provided endpoint.getStatements
(TupleExpr preparedQuery, BindingSet bindings, FilterValueExpr filterExpr, QueryInfo queryInfo) Evaluate the prepared query in its internal representation on the provided endpoint.boolean
hasStatements
(ExclusiveTupleExpr expr, BindingSet bindings) Check if the repository can return results for the givenExclusiveTupleExpr
, e.g.boolean
Check if the repository can return results for the given triple pattern represented by subj, pred and objboolean
hasStatements
(StatementPattern stmt, BindingSet bindings, QueryInfo queryInfo, Dataset dataset) Check if the provided statement can return results.toString()
boolean
usePreparedQuery
(StatementPattern stmt, QueryInfo queryInfo) Methods inherited from class org.eclipse.rdf4j.federated.evaluation.TripleSourceBase
applyMaxExecutionTimeUpperBound, configureInference, getStatements, getStatements, monitorRemoteRequest, withConnection
-
Method Details
-
getStatements
public CloseableIteration<BindingSet> getStatements(StatementPattern stmt, BindingSet bindings, FilterValueExpr filterExpr, QueryInfo queryInfo) throws RepositoryException, MalformedQueryException, QueryEvaluationException Description copied from interface:TripleSource
Evaluate the query expression on the provided endpoint.- Parameters:
stmt
- the stmt expression to evaluatebindings
- the bindings to usefilterExpr
- the filter expression to apply or null if there is no filter or if it is evaluated already- Returns:
- the resulting iteration
- Throws:
RepositoryException
MalformedQueryException
QueryEvaluationException
-
hasStatements
public boolean hasStatements(Resource subj, IRI pred, Value obj, QueryInfo queryInfo, Resource... contexts) throws RepositoryException Description copied from interface:TripleSource
Check if the repository can return results for the given triple pattern represented by subj, pred and obj- Specified by:
hasStatements
in interfaceTripleSource
- Overrides:
hasStatements
in classTripleSourceBase
- Parameters:
subj
-pred
-obj
-queryInfo
-contexts
-- Returns:
- whether the source can provide results
- Throws:
RepositoryException
-
hasStatements
public boolean hasStatements(StatementPattern stmt, BindingSet bindings, QueryInfo queryInfo, Dataset dataset) throws RepositoryException, MalformedQueryException, QueryEvaluationException Description copied from interface:TripleSource
Check if the provided statement can return results.- Parameters:
stmt
-bindings
- a binding set. in case no bindings are present, anEmptyBindingSet
can be used (i.e. never null)queryInfo
-dataset
-- Returns:
- whether the source can return results
- Throws:
RepositoryException
MalformedQueryException
QueryEvaluationException
-
hasStatements
public boolean hasStatements(ExclusiveTupleExpr expr, BindingSet bindings) throws RepositoryException, MalformedQueryException, QueryEvaluationException Description copied from interface:TripleSource
Check if the repository can return results for the givenExclusiveTupleExpr
, e.g. for anExclusiveGroup
with a list of Statements.- Specified by:
hasStatements
in interfaceTripleSource
- Overrides:
hasStatements
in classTripleSourceBase
- Parameters:
bindings
-- Returns:
- whether the repository can return results
- Throws:
RepositoryException
MalformedQueryException
QueryEvaluationException
-
usePreparedQuery
- Parameters:
stmt
-queryInfo
-- Returns:
- true if a prepared query is to be used preferably, false otherwise
-
getStatements
public CloseableIteration<BindingSet> getStatements(TupleExpr preparedQuery, BindingSet bindings, FilterValueExpr filterExpr, QueryInfo queryInfo) throws RepositoryException, MalformedQueryException, QueryEvaluationException Description copied from interface:TripleSource
Evaluate the prepared query in its internal representation on the provided endpoint.- Parameters:
preparedQuery
- a prepared query to evaluatebindings
- the bindings to usefilterExpr
- the filter expression to apply or null if there is no filter or if it is evaluated already- Returns:
- the resulting iteration
- Throws:
RepositoryException
MalformedQueryException
QueryEvaluationException
-
getStatements
public CloseableIteration<Statement> getStatements(Resource subj, IRI pred, Value obj, QueryInfo queryInfo, Resource... contexts) throws RepositoryException, MalformedQueryException, QueryEvaluationException Description copied from interface:TripleSource
Return the statements matching the given pattern as aStatement
iteration.- Parameters:
subj
-pred
-obj
-contexts
-- Returns:
- the resulting iteration
- Throws:
RepositoryException
MalformedQueryException
QueryEvaluationException
-
toString
-