- All Implemented Interfaces:
AutoCloseable
,QueryExec
QueryExec
implementation where queries are executed against a remote
service over HTTP.-
Field Summary
-
Constructor Summary
ConstructorDescriptionQueryExecHTTP
(String serviceURL, Query query, String queryString, int urlLimit, HttpClient httpClient, Map<String, String> httpHeaders, Params params, Context context, List<String> defaultGraphURIs, List<String> namedGraphURIs, QuerySendMode sendMode, String explicitAcceptHeader, long timeout, TimeUnit timeoutUnit) -
Method Summary
Modifier and TypeMethodDescriptionvoid
abort()
Stop in mid execution.boolean
ask()
Execute an ASK queryvoid
cancel()
Cancel query evaluationvoid
close()
Close the query execution and stop query evaluation as soon as convenient.org.apache.jena.graph.Graph
construct
(org.apache.jena.graph.Graph graph) Execute a CONSTRUCT query, putting the statements into a graph.Execute a CONSTRUCT query, putting the statements into 'dataset'.constructDataset
(DatasetGraph dataset) Execute a CONSTRUCT query, putting the statements into 'dataset'.Execute a CONSTRUCT query, returning the results as an iterator ofQuad
.Iterator<org.apache.jena.graph.Triple>
Execute a CONSTRUCT query, returning the results as an iterator ofTriple
.org.apache.jena.graph.Graph
describe
(org.apache.jena.graph.Graph graph) Execute a DESCRIBE query, putting the statements into a graph.Iterator<org.apache.jena.graph.Triple>
Execute a DESCRIBE query, returning the results as an iterator ofTriple
.execJson()
Execute a JSON query and return a json arrayExecute a JSON query and return an iteratorGetter for the appProvidedAcceptHeader.The properties associated with a query execution - implementation specific parameters This includes Java objects (so it is not an RDF graph).The dataset against which the query will execute.The Content-Type response header received (null before the remote operation is attempted).getQuery()
The query associated with a query execution.Return the query string.boolean
isClosed()
Answer whether this QueryExecution object has been closed or not.static QueryExecHTTPBuilder
Create an uninitializedQueryExecDatasetBuilder
.select()
Execute a SELECT querystatic QueryExecHTTPBuilder
Create aQueryExecBuilder
for a remote endpoint.
-
Field Details
-
QUERY_MIME_TYPE
- See Also:
-
-
Constructor Details
-
QueryExecHTTP
public QueryExecHTTP(String serviceURL, Query query, String queryString, int urlLimit, HttpClient httpClient, Map<String, String> httpHeaders, Params params, Context context, List<String> defaultGraphURIs, List<String> namedGraphURIs, QuerySendMode sendMode, String explicitAcceptHeader, long timeout, TimeUnit timeoutUnit)
-
-
Method Details
-
newBuilder
Description copied from interface:QueryExec
Create an uninitializedQueryExecDatasetBuilder
. -
service
Description copied from interface:QueryExec
Create aQueryExecBuilder
for a remote endpoint. -
getAppProvidedAcceptHeader
Getter for the appProvidedAcceptHeader. Only used for testing. -
getHttpResponseContentType
The Content-Type response header received (null before the remote operation is attempted). -
select
Description copied from interface:QueryExec
Execute a SELECT queryImportant: The name of this method is somewhat of a misnomer in that depending on the underlying implementation this typically does not execute the SELECT query but rather answers a wrapper over an internal data structure that can be used to answer the query. In essence calling this method only returns a plan for executing this query which only gets evaluated when you actually start iterating over the results.
-
ask
public boolean ask()Description copied from interface:QueryExec
Execute an ASK query -
construct
public org.apache.jena.graph.Graph construct(org.apache.jena.graph.Graph graph) Description copied from interface:QueryExec
Execute a CONSTRUCT query, putting the statements into a graph. -
constructTriples
Description copied from interface:QueryExec
Execute a CONSTRUCT query, returning the results as an iterator ofTriple
.Caution: This method may return duplicate Triples. This method may be useful if you only need the results for stream processing, as it can avoid having to place the results in a Model.
Important: The name of this method is somewhat of a misnomer in that depending on the underlying implementation this typically does not execute the CONSTRUCT query but rather answers a wrapper over an internal data structure that can be used to answer the query. In essence calling this method only returns a plan for executing this query which only gets evaluated when you actually start iterating over the results.
- Specified by:
constructTriples
in interfaceQueryExec
- Returns:
- An iterator of Triple objects (possibly containing duplicates) generated by applying the CONSTRUCT template of the query to the bindings in the WHERE clause.
-
constructQuads
Description copied from interface:QueryExec
Execute a CONSTRUCT query, returning the results as an iterator ofQuad
.Caution: This method may return duplicate Quads. This method may be useful if you only need the results for stream processing, as it can avoid having to place the results in a Model.
See
QueryExec.constructTriples()
for usage and features.- Specified by:
constructQuads
in interfaceQueryExec
- Returns:
- An iterator of Quad objects (possibly containing duplicates) generated by applying the CONSTRUCT template of the query to the bindings in the WHERE clause.
-
constructDataset
Description copied from interface:QueryExec
Execute a CONSTRUCT query, putting the statements into 'dataset'. This maybe an extended syntax query (if supported).- Specified by:
constructDataset
in interfaceQueryExec
-
constructDataset
Description copied from interface:QueryExec
Execute a CONSTRUCT query, putting the statements into 'dataset'. This may be an extended syntax query (if supported).- Specified by:
constructDataset
in interfaceQueryExec
-
describe
public org.apache.jena.graph.Graph describe(org.apache.jena.graph.Graph graph) Description copied from interface:QueryExec
Execute a DESCRIBE query, putting the statements into a graph. -
describeTriples
Description copied from interface:QueryExec
Execute a DESCRIBE query, returning the results as an iterator ofTriple
.Caution: This method may return duplicate Triples. This method may be useful if you only need the results for stream processing, as it can avoid having to place the results in a Model.
Important: The name of this method is somewhat of a misnomer in that depending on the underlying implementation this typically does not execute the DESCRIBE query but rather answers a wrapper over an internal data structure that can be used to answer the query. In essence calling this method only returns a plan for executing this query which only gets evaluated when you actually start iterating over the results.
- Specified by:
describeTriples
in interfaceQueryExec
- Returns:
- An iterator of Triple objects (possibly containing duplicates) generated as the output of the DESCRIBE query.
-
execJson
Description copied from interface:QueryExec
Execute a JSON query and return a json array -
execJsonItems
Description copied from interface:QueryExec
Execute a JSON query and return an iterator- Specified by:
execJsonItems
in interfaceQueryExec
-
getContext
Description copied from interface:QueryExec
The properties associated with a query execution - implementation specific parameters This includes Java objects (so it is not an RDF graph). Keys should be URIs as strings. May be null (this implementation does not provide any configuration).- Specified by:
getContext
in interfaceQueryExec
-
getDataset
Description copied from interface:QueryExec
The dataset against which the query will execute. May be null - the dataset may be remote or the query itself has a dataset description.- Specified by:
getDataset
in interfaceQueryExec
-
getQuery
Description copied from interface:QueryExec
The query associated with a query execution. May be null (QueryExec may have been created by other means) -
getQueryString
Return the query string. If this was supplied as a string, there is no guarantee this is legal SPARQL syntax.- Specified by:
getQueryString
in interfaceQueryExec
-
cancel
public void cancel()Cancel query evaluation -
abort
public void abort()Description copied from interface:QueryExec
Stop in mid execution. This method can be called in parallel with other methods on the QueryExecution object. There is no guarantee that the concrete implementation actual will stop or that it will do so immediately. No operations on the query execution or any associated result set are permitted after this call and may cause exceptions to be thrown. -
close
public void close()Description copied from interface:QueryExec
Close the query execution and stop query evaluation as soon as convenient. QExec objects, and aRowSet
fromQueryExec.select()
, can not be used once the QExec is closed. Model results fromQueryExec.construct()
andQueryExec.describe()
are still valid.It is important to close query execution objects in order to release resources such as working memory and to stop the query execution. Some storage subsystems require explicit ends of operations and this operation will cause those to be called where necessary. No operations on the query execution or any associated result set are permitted after this call.
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceQueryExec
-
isClosed
public boolean isClosed()Description copied from interface:QueryExec
Answer whether this QueryExecution object has been closed or not.
-