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 aStatementiteration.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.booleanhasStatements(ExclusiveTupleExpr expr, BindingSet bindings) Check if the repository can return results for the givenExclusiveTupleExpr, e.g.booleanCheck if the repository can return results for the given triple pattern represented by subj, pred and objbooleanhasStatements(StatementPattern stmt, BindingSet bindings, QueryInfo queryInfo, Dataset dataset) Check if the provided statement can return results.toString()booleanusePreparedQuery(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:TripleSourceEvaluate 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:
RepositoryExceptionMalformedQueryExceptionQueryEvaluationException
-
hasStatements
public boolean hasStatements(Resource subj, IRI pred, Value obj, QueryInfo queryInfo, Resource... contexts) throws RepositoryException Description copied from interface:TripleSourceCheck if the repository can return results for the given triple pattern represented by subj, pred and obj- Specified by:
hasStatementsin interfaceTripleSource- Overrides:
hasStatementsin 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:TripleSourceCheck if the provided statement can return results.bindings- a binding set. in case no bindings are present, anEmptyBindingSetcan be used (i.e. never null)- Returns:
- whether the source can return results
- Throws:
RepositoryExceptionMalformedQueryExceptionQueryEvaluationException
-
hasStatements
public boolean hasStatements(ExclusiveTupleExpr expr, BindingSet bindings) throws RepositoryException, MalformedQueryException, QueryEvaluationException Description copied from interface:TripleSourceCheck if the repository can return results for the givenExclusiveTupleExpr, e.g. for anExclusiveGroupwith a list of Statements.- Specified by:
hasStatementsin interfaceTripleSource- Overrides:
hasStatementsin classTripleSourceBase- Returns:
- whether the repository can return results
- Throws:
RepositoryExceptionMalformedQueryExceptionQueryEvaluationException
-
usePreparedQuery
- 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:TripleSourceEvaluate 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:
RepositoryExceptionMalformedQueryExceptionQueryEvaluationException
-
getStatements
public CloseableIteration<Statement> getStatements(Resource subj, IRI pred, Value obj, QueryInfo queryInfo, Resource... contexts) throws RepositoryException, MalformedQueryException, QueryEvaluationException Description copied from interface:TripleSourceReturn the statements matching the given pattern as aStatementiteration.- Returns:
- the resulting iteration
- Throws:
RepositoryExceptionMalformedQueryExceptionQueryEvaluationException
-
toString
-