Class QueryExecutionBaseSelect

java.lang.Object
org.aksw.jenax.dataaccess.sparql.execution.query.QueryExecutionWrapperBase<org.apache.jena.query.QueryExecution>
org.aksw.jena_sparql_api.core.QueryExecutionBaseSelect
All Implemented Interfaces:
AutoCloseable, QueryExecutionWrapper, org.apache.jena.query.QueryExecution
Direct Known Subclasses:
QueryExecutionAlwaysFail, QueryExecutionSelect

public abstract class QueryExecutionBaseSelect extends QueryExecutionWrapperBase<org.apache.jena.query.QueryExecution> implements org.apache.jena.query.QueryExecution
A Sparqler-class that implements ask, describe, and construct based on the executeCoreSelect(Query) method. Also, works on String and Query level. Some of the code has been taken from org.apache.jena.sparql.engine.QueryExecutionBase, which is a class with a similar purpose but not as reusable as this one (This class reduces all operations to a single executeCoreSelect call) NOTE: executeCoreSelect will close this query execution once the ResultSet is consumed.
Author:
raven
  • Field Details

    • query

      protected org.apache.jena.query.Query query
    • parentFactory

      protected QueryExecutionFactory parentFactory
  • Constructor Details

    • QueryExecutionBaseSelect

      public QueryExecutionBaseSelect(org.apache.jena.query.Query query, QueryExecutionFactory subFactory)
  • Method Details

    • createModel

      public static org.apache.jena.rdf.model.Model createModel(Iterator<org.apache.jena.graph.Triple> it)
    • createModel

      public static org.apache.jena.rdf.model.Model createModel(org.apache.jena.rdf.model.Model result, Iterator<org.apache.jena.graph.Triple> it)
    • executeCoreSelectX

      protected abstract org.apache.jena.query.QueryExecution executeCoreSelectX(org.apache.jena.query.Query query)
    • executeCoreSelect

      protected org.apache.jena.query.ResultSetCloseable executeCoreSelect(org.apache.jena.query.Query query)
    • execAsk

      public boolean execAsk()
      Specified by:
      execAsk in interface org.apache.jena.query.QueryExecution
      Overrides:
      execAsk in class QueryExecutionWrapperBase<org.apache.jena.query.QueryExecution>
    • execDescribe

      public org.apache.jena.rdf.model.Model execDescribe()
      Specified by:
      execDescribe in interface org.apache.jena.query.QueryExecution
      Overrides:
      execDescribe in class QueryExecutionWrapperBase<org.apache.jena.query.QueryExecution>
    • extractDescribeNode

      public static org.apache.jena.graph.Node extractDescribeNode(org.apache.jena.query.Query query)
    • execDescribeTriples

      public Iterator<org.apache.jena.graph.Triple> execDescribeTriples()
      We use this query execution for retrieving the result set of the where clause, but we neet the subFactory to describe the individual resources then.
      Specified by:
      execDescribeTriples in interface org.apache.jena.query.QueryExecution
      Overrides:
      execDescribeTriples in class QueryExecutionWrapperBase<org.apache.jena.query.QueryExecution>
      Returns:
    • execDescribe

      public org.apache.jena.rdf.model.Model execDescribe(org.apache.jena.rdf.model.Model result)
      A describe query is translated into a construct query. Lets see... Describe ?a ?b ... <x><y> Where Pattern { ... } becomes ...? Construct { ?a ?ap ?ao . ?b ?bp ?bo . } Where Pattern { } Union {} Ah, lets just query every resource individually for now TODO Add support for concise bounded descriptions...
      Specified by:
      execDescribe in interface org.apache.jena.query.QueryExecution
      Overrides:
      execDescribe in class QueryExecutionWrapperBase<org.apache.jena.query.QueryExecution>
      Parameters:
      result -
      Returns:
    • executeConstructStreaming

      protected Iterator<org.apache.jena.graph.Triple> executeConstructStreaming(org.apache.jena.query.Query query)
    • execConstruct

      public org.apache.jena.rdf.model.Model execConstruct(org.apache.jena.rdf.model.Model result)
      Specified by:
      execConstruct in interface org.apache.jena.query.QueryExecution
      Overrides:
      execConstruct in class QueryExecutionWrapperBase<org.apache.jena.query.QueryExecution>
    • execConstruct

      public org.apache.jena.rdf.model.Model execConstruct()
      Specified by:
      execConstruct in interface org.apache.jena.query.QueryExecution
      Overrides:
      execConstruct in class QueryExecutionWrapperBase<org.apache.jena.query.QueryExecution>
    • execConstructTriples

      public Iterator<org.apache.jena.graph.Triple> execConstructTriples()
      Specified by:
      execConstructTriples in interface org.apache.jena.query.QueryExecution
      Overrides:
      execConstructTriples in class QueryExecutionWrapperBase<org.apache.jena.query.QueryExecution>
    • execSelect

      public org.apache.jena.query.ResultSet execSelect()
      Specified by:
      execSelect in interface org.apache.jena.query.QueryExecution
      Overrides:
      execSelect in class QueryExecutionWrapperBase<org.apache.jena.query.QueryExecution>
    • getQuery

      public org.apache.jena.query.Query getQuery()
      Specified by:
      getQuery in interface org.apache.jena.query.QueryExecution
      Specified by:
      getQuery in interface QueryExecutionWrapper
    • executeUpdate

      public void executeUpdate(org.apache.jena.update.UpdateRequest updateRequest)
    • execJson

      public org.apache.jena.atlas.json.JsonArray execJson()
      Specified by:
      execJson in interface org.apache.jena.query.QueryExecution
      Overrides:
      execJson in class QueryExecutionWrapperBase<org.apache.jena.query.QueryExecution>
    • execJsonItems

      public Iterator<org.apache.jena.atlas.json.JsonObject> execJsonItems()
      Specified by:
      execJsonItems in interface org.apache.jena.query.QueryExecution
      Overrides:
      execJsonItems in class QueryExecutionWrapperBase<org.apache.jena.query.QueryExecution>