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 implements TripleSource
A triple source to be used for (remote) SPARQL endpoints.This triple source supports the
SparqlEndpointConfigurationfor defining whether ASK queries are to be used for source selection. The query result ofTripleSourceBase.getStatements(String, BindingSet, FilterValueExpr, QueryInfo)is wrapped in aConsumingIterationto 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 aStatementiteration.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.booleanhasStatements(ExclusiveTupleExpr expr, BindingSet bindings)Check if the repository can return results for the givenExclusiveTupleExpr, e.g.booleanhasStatements(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 objbooleanhasStatements(StatementPattern stmt, BindingSet bindings, QueryInfo queryInfo, Dataset dataset)Check if the provided statement can return results.StringtoString()booleanusePreparedQuery(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, getStatements, 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:TripleSourceEvaluate the query expression on the provided endpoint.- Specified by:
getStatementsin interfaceTripleSource- 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.- Specified by:
hasStatementsin interfaceTripleSourcebindings- 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
public boolean usePreparedQuery(StatementPattern stmt, QueryInfo queryInfo)
- Specified by:
usePreparedQueryin interfaceTripleSource- 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:TripleSourceEvaluate the prepared query in its internal representation on the provided endpoint.- Specified by:
getStatementsin interfaceTripleSource- 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,QueryEvaluationException> 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.- Specified by:
getStatementsin interfaceTripleSource- Returns:
- the resulting iteration
- Throws:
RepositoryExceptionMalformedQueryExceptionQueryEvaluationException
-
-