Class SparqlTripleSource
- java.lang.Object
-
- org.eclipse.rdf4j.federated.evaluation.TripleSourceBase
-
- org.eclipse.rdf4j.federated.evaluation.SparqlTripleSource
-
- All Implemented Interfaces:
TripleSource
public class SparqlTripleSource extends TripleSourceBase
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 aConsumingIteration
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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CloseableIteration<Statement,QueryEvaluationException>
getStatements(Resource subj, IRI pred, Value obj, QueryInfo queryInfo, Resource... contexts)
Return the statements matching the given pattern as aStatement
iteration.CloseableIteration<BindingSet,QueryEvaluationException>
getStatements(StatementPattern stmt, BindingSet bindings, FilterValueExpr filterExpr, QueryInfo queryInfo)
Evaluate the query expression on the provided endpoint.CloseableIteration<BindingSet,QueryEvaluationException>
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
hasStatements(Resource subj, IRI pred, Value obj, QueryInfo queryInfo, Resource... contexts)
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.String
toString()
boolean
usePreparedQuery(StatementPattern stmt, QueryInfo queryInfo)
-
Methods inherited from class org.eclipse.rdf4j.federated.evaluation.TripleSourceBase
applyMaxExecutionTimeUpperBound, configureInference, getStatements, getStatements, monitorRemoteRequest, withConnection
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.rdf4j.federated.evaluation.TripleSource
getStatements, usePreparedQuery
-
-
-
-
Method Detail
-
getStatements
public CloseableIteration<BindingSet,QueryEvaluationException> 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
- 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.bindings
- a binding set. in case no bindings are present, anEmptyBindingSet
can be used (i.e. never null)- 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
- Returns:
- whether the repository can return results
- Throws:
RepositoryException
MalformedQueryException
QueryEvaluationException
-
usePreparedQuery
public boolean usePreparedQuery(StatementPattern stmt, QueryInfo queryInfo)
- Returns:
- true if a prepared query is to be used preferably, false otherwise
-
getStatements
public CloseableIteration<BindingSet,QueryEvaluationException> 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,QueryEvaluationException> 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.- Returns:
- the resulting iteration
- Throws:
RepositoryException
MalformedQueryException
QueryEvaluationException
-
-