title: ARQ - Internal Design

@@ Incomplete / misnamed?

ARQ consists of the following parts:

  • The SPARQL abstract syntax tree (AST) and the SPARQL parser

  • The algebra generator that turns SPARQL AST into algebra expressions

    • Implementation of the translation in the SPARQL specification.
    • Quad version compiling SPARQL to quad expressions, not basic graph patterns.
  • Query engines to execute queries

    • SPARQL protocol client - remote HTTP requests
    • Reference engine - direct implementation of the algebra
    • Quad engine - direct implementation of the algebra except
    • The main engine
    • SDB, a SPARQL database for large-sale persistent data (external system)
  • Result set handling for the SPARQL XML results format, the JSON and text versions.

Main packages

PackageUse
org.apache.jena.queryThe application API
org.apache.jena.sparql.syntaxAbstract syntax tree
org.apache.jena.sparql.algebraSPARQL algebra
org.apache.jena.sparql.langThe parsers: SPARQL, ARQ, RDQL
org.apache.jena.sparql.exprExpression code.
org.apache.jena.sparql.serializerOutput in SPARQL, ARQ forms, in SPARQL syntax, in an abstract form (useful in debugging) and in XML.
org.apache.jena.sparql.engineThe abstraction of a query engine.
org.apache.jena.sparql.engine.mainThe usual query engine.
org.apache.jena.sparql.engine.refThe reference query engine (and quad version)

Key Execution Classes

Bindings

Query Iterators

Context

ARQ documentation index