- All Implemented Interfaces:
AutoCloseable
,QueryExecution
- Direct Known Subclasses:
QueryExecutionCompat
,QueryExecutionHTTP
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoid
abort()
Stop in mid execution.static QueryExecution
void
close()
Close the query execution and stop query evaluation as soon as convenient.boolean
execAsk()
Execute an ASK queryorg.apache.jena.rdf.model.Model
Execute a CONSTRUCT queryorg.apache.jena.rdf.model.Model
execConstruct
(org.apache.jena.rdf.model.Model model) Execute a CONSTRUCT query, putting the statements into a graph.Execute a CONSTRUCT query, putting the statements into 'dataset'.execConstructDataset
(Dataset 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.rdf.model.Model
Execute a DESCRIBE queryorg.apache.jena.rdf.model.Model
execDescribe
(org.apache.jena.rdf.model.Model model) 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 iteratorExecute a SELECT queryThe 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.getQuery()
The query associated with a query execution.The query as a string.long
Return the first timeout (time to first result), in milliseconds: negative if unsetlong
Return the second timeout (overall query execution after first result), in milliseconds: negative if unsetboolean
isClosed()
Answer whether this QueryExecution object has been closed or not.
-
Method Details
-
adapt
-
getDataset
The dataset against which the query will execute. May be null, implying it is expected that the query itself has a dataset description.- Specified by:
getDataset
in interfaceQueryExecution
-
getContext
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 interfaceQueryExecution
-
getQuery
The query associated with a query execution. May be null (QueryExecution may have been created by other means)- Specified by:
getQuery
in interfaceQueryExecution
-
getQueryString
The query as a string. This may be null (QueryExec may have been created by other means). This may contain non-Jena extensions and can not be parsed by Jena. IfgetQuery()
is not null, this is a corresponding string that parses to the same query.- Specified by:
getQueryString
in interfaceQueryExecution
-
execSelect
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.
- Specified by:
execSelect
in interfaceQueryExecution
-
execConstruct
public org.apache.jena.rdf.model.Model execConstruct()Execute a CONSTRUCT query- Specified by:
execConstruct
in interfaceQueryExecution
-
execConstruct
public org.apache.jena.rdf.model.Model execConstruct(org.apache.jena.rdf.model.Model model) Execute a CONSTRUCT query, putting the statements into a graph.- Specified by:
execConstruct
in interfaceQueryExecution
- Returns:
- Graph The model argument for cascaded code.
-
execConstructTriples
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:
execConstructTriples
in interfaceQueryExecution
- 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.
-
execConstructQuads
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.
An iterator of Quad objects (possibly containing duplicates) generated by applying the CONSTRUCT template of the query to the bindings in the WHERE clause.
See
execConstructTriples()
for usage and features.- Specified by:
execConstructQuads
in interfaceQueryExecution
- 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.
-
execConstructDataset
Execute a CONSTRUCT query, putting the statements into 'dataset'. This maybe an extended syntax query (if supported).- Specified by:
execConstructDataset
in interfaceQueryExecution
-
execConstructDataset
Execute a CONSTRUCT query, putting the statements into 'dataset'. This may be an extended syntax query (if supported).- Specified by:
execConstructDataset
in interfaceQueryExecution
-
execDescribe
public org.apache.jena.rdf.model.Model execDescribe()Execute a DESCRIBE query- Specified by:
execDescribe
in interfaceQueryExecution
-
execDescribe
public org.apache.jena.rdf.model.Model execDescribe(org.apache.jena.rdf.model.Model model) Execute a DESCRIBE query, putting the statements into a graph.- Specified by:
execDescribe
in interfaceQueryExecution
- Returns:
- Graph The model argument for cascaded code.
-
execDescribeTriples
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:
execDescribeTriples
in interfaceQueryExecution
- Returns:
- An iterator of Triple objects (possibly containing duplicates) generated as the output of the DESCRIBE query.
-
execAsk
public boolean execAsk()Execute an ASK query- Specified by:
execAsk
in interfaceQueryExecution
-
execJson
Execute a JSON query and return a json array- Specified by:
execJson
in interfaceQueryExecution
-
execJsonItems
Execute a JSON query and return an iterator- Specified by:
execJsonItems
in interfaceQueryExecution
-
abort
public void abort()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.- Specified by:
abort
in interfaceQueryExecution
-
close
public void close()Close the query execution and stop query evaluation as soon as convenient. QueryExecution objects, and aResultSet
fromexecSelect()
, can not be used once the QueryExecution is closed. Model results fromexecConstruct()
andexecDescribe()
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 interfaceQueryExecution
-
isClosed
public boolean isClosed()Answer whether this QueryExecution object has been closed or not.- Specified by:
isClosed
in interfaceQueryExecution
- Returns:
- boolean
-
getTimeout1
public long getTimeout1()Return the first timeout (time to first result), in milliseconds: negative if unset- Specified by:
getTimeout1
in interfaceQueryExecution
-
getTimeout2
public long getTimeout2()Return the second timeout (overall query execution after first result), in milliseconds: negative if unset- Specified by:
getTimeout2
in interfaceQueryExecution
-