ARQ is a query engine for Jena that supports the SPARQL RDF Query language. SPARQL is the query language developed by the W3C RDF Data Access Working Group.
- Standard SPARQL
- Free text search via Lucene
- Access and extension of the SPARQL algebra
- Property functions for custom processing of semantic relationships
- Aggregation, GROUP BY and assignment as SPARQL extensions
- Support for federated query
- Support for extension to other storage systems
- Client-support for remote access to any SPARQL endpoint
- A Brief Tutorial on SPARQL
- Application API - covers the majority of application usages
- Frequently Asked Questions
- ARQ Support
- Application javadoc
- Command line utilities
- Querying remote SPARQL services
- Explaining queries
- Tutorial: manipulating SPARQL using ARQ
- Basic federated query (
- Property paths
- GROUP BY and counting
- SELECT expressions
Features of ARQ that are legal SPARQL syntax
- Conditions in FILTERs
- Free text searches
- Accessing lists (RDF collections)
- Extension mechanisms
- Writing SPARQL functions
- Custom execution of
- Constructing queries programmatically
- Parameterized query strings
- ARQ and the SPARQL algebra
- Extending ARQ query execution and accessing different storage implementations
- Custom aggregates
- Caching and bulk-retrieval for SERVICE
Feature of ARQ that go beyond SPARQL syntax.
- LATERAL Join
- Operators and functions
[IDIV](https://www.w3.org/TR/xpath-functions/#func-numeric-integer-divide)for modulus and integer division.
- LET variable assignment
- Order results using a Collation
- Construct Quad
- Generate JSON from SPARQL
ARQ supports the W3C standard SPARQL Update language.
- Fuseki - Server implementation of the SPARQL protocol.
- TDB - A SPARQL database for Jena, a pure Java persistence layer for large graphs, high performance applications and embedded use.
- RDFConnection, a unified API for SPARQL Query, Update and Graph Store Protocol.
Articles and documentation elsewhere:
- Introducing SPARQL: Querying the Semantic Web (xml.com article by Leigh Dodds)
- Search RDF data with SPARQL (by Phil McCarthy) - article published on IBM developer works about SPARQL and Jena.
- SPARQL reference card (by Dave Beckett)
- Parameterised Queries with SPARQL and ARQ (by Leigh Dodds)
- Writing an ARQ Extension Function (by Leigh Dodds)