Interface QueryExecution

All Superinterfaces:
AutoCloseable
All Known Implementing Classes:
QueryExecutionAdapter, QueryExecutionCompat, QueryExecutionHTTP

public interface QueryExecution extends AutoCloseable
A interface for a single execution of a query.
  • Method Details

    • create

      static QueryExecution create(Query query, Dataset dataset)
      Create a local execution on a dataset for a given query
    • create

      static QueryExecution create(String query, org.apache.jena.rdf.model.Model model)
      Create a local execution on a dataset for a given query
    • create

      static QueryExecution create(String query, Dataset dataset)
      Create a local execution on a dataset for a given query
    • create

      static QueryExecution create(Query query, org.apache.jena.rdf.model.Model model)
      Create a local execution on a dataset for a given query
    • service

      static QueryExecution service(String endpointURL, Query query)
      Create a remote execution.
    • service

      static QueryExecutionHTTP service(String endpointURL, String queryString)
      Create a remote execution.
    • dataset

      static QueryExecutionDatasetBuilder dataset(Dataset dataset)
      Create a local execution builder on a dataset
    • model

      static QueryExecutionDatasetBuilder model(org.apache.jena.rdf.model.Model model)
      Create a local execution builder on a model
    • service

      static QueryExecutionHTTPBuilder service(String serviceURL)
      Create a remote execution builder going to an endpoint URL.
    • create

      Create a local execution builder
    • getDataset

      Dataset getDataset()
      The dataset against which the query will execute. May be null, implying it is expected that the query itself has a dataset description.
    • getContext

      Context 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).
    • getQuery

      Query getQuery()
      The query associated with a query execution. May be null (QueryExecution may have been created by other means)
    • getQueryString

      String getQueryString()
      The query as a string. This may be null (QueryExecution may have been created by other means). This may contain non-Jena extensions and can not be parsed by Jena. If getQuery() is not null, this is a corresponding string that parses to the same query.
    • execSelect

      ResultSet execSelect()
      Execute a SELECT query

      Important: 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.

    • execConstruct

      org.apache.jena.rdf.model.Model execConstruct()
      Execute a CONSTRUCT query
    • execConstruct

      org.apache.jena.rdf.model.Model execConstruct(org.apache.jena.rdf.model.Model model)
      Execute a CONSTRUCT query, putting the statements into 'model'.
      Returns:
      Model The model argument for cascaded code.
    • execConstructTriples

      Iterator<org.apache.jena.graph.Triple> execConstructTriples()
      Execute a CONSTRUCT query, returning the results as an iterator of Triple.

      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.

      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

      Iterator<Quad> execConstructQuads()
      Execute a CONSTRUCT query, returning the results as an iterator of Quad.

      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 execConstructTriples() for usage and features.

      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

      Dataset execConstructDataset()
      Execute a CONSTRUCT query, putting the statements into 'dataset'. This maybe an extended syntax query (if supported).
    • execConstructDataset

      Dataset execConstructDataset(Dataset dataset)
      Execute a CONSTRUCT query, putting the statements into 'dataset'. This maybe an extended syntax query (if supported).
    • execDescribe

      org.apache.jena.rdf.model.Model execDescribe()
      Execute a DESCRIBE query
    • execDescribe

      org.apache.jena.rdf.model.Model execDescribe(org.apache.jena.rdf.model.Model model)
      Execute a DESCRIBE query, putting the statements into 'model'.
      Returns:
      Model The model argument for cascaded code.
    • execDescribeTriples

      Iterator<org.apache.jena.graph.Triple> execDescribeTriples()
      Execute a DESCRIBE query, returning the results as an iterator of Triple.

      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.

      Returns:
      An iterator of Triple objects (possibly containing duplicates) generated as the output of the DESCRIBE query.
    • execAsk

      boolean execAsk()
      Execute an ASK query
    • execJson

      JsonArray execJson()
      Execute a JSON query and return a json array
    • execJsonItems

      Iterator<JsonObject> execJsonItems()
      Execute a JSON query and return an interator
    • abort

      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.
    • close

      void close()
      Close the query execution and stop query evaluation as soon as convenient. QueryExecution objects, and a ResultSet from execSelect(), can not be used once the QueryExecution is closed. Model results from execConstruct() and execDescribe() 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 interface AutoCloseable
    • isClosed

      boolean isClosed()
      Answer whether this QueryExecution object has been closed or not.
      Returns:
      boolean
    • getTimeout1

      long getTimeout1()
      Return the first timeout (time to first result), in milliseconds: negative if unset
    • getTimeout2

      long getTimeout2()
      Return the second timeout (overall query execution after first result), in milliseconds: negative if unset