Title: ARQ - A SPARQL Processor for Jena ARQ is a query engine for [Jena](http://jena.apache.org) that supports the [SPARQL RDF Query language](http://www.w3.org/TR/sparql11-query/). SPARQL is the query language developed by the W3C [RDF Data Access Working Group](http://www.w3.org/2001/sw/DataAccess/). ## ARQ Features - Standard SPARQL - Free text search via Lucene - SPARQL/Update - Access and extension of the SPARQL algebra - Support for custom filter functions - 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 ## Introduction - [A Brief Tutorial on SPARQL](/tutorials/sparql.html) - [Application API](app_api.html) - covers the majority of application usages - [Frequently Asked Questions](faq.html) - [ARQ Support](support.html) - Application [javadoc](/documentation/javadoc/arq/index.html) - [Command line utilities](cmds.html) - [Logging](logging.html) - [Explaining queries](explain.html) - [Tutorial: manipulating SPARQL using ARQ](manipulating_sparql_using_arq.html) - [Basic federated query (`SERVICE`)](service.html) ## Advanced SPARQL use Features of ARQ that are legal SPARQL syntax. - [Free text searches](../larq/) - [Accessing lists](rdf_lists.html) (RDF collections) - [Extension mechanisms](extension.html) - [Filter Functions](extension.html#valueFunctions) - [Property Functions](extension.html#propertyFunctions) - Library - [Filter function library](library-function.html) - [Property function library](library-propfunc.html) - [Writing ARQ FILTER functions](writing_functions.html) - [Querying remote SPARQL services](sparql-remote.html) - [Constructing queries programmatically](programmatic.html) - [ARQ and the SPARQL algebra](algebra.html) - [Extending ARQ query execution and accessing different storage implementations](arq-query-eval.html) ## Extensions Feature of ARQ that go beyond SPARQL syntax. The default query language is standard SPARQL. These features require the query to be parsed with an explicit declaration of `Syntax.syntaxARQ`. - [Property paths](property_paths.html) - [GROUP BY and counting](group-by.html) - [SELECT expressions](select_expr.html) - [Sub-SELECT](sub-select.html) - [Negation](negation.html) - [LET variable assignment](assignment.html) - [Conditions in FILTERs](function_forms.html) ## Update ARQ supports the W3C standard SPARQL Update language as well as the precursor submission to W3C. Using the standard is preferred; support for the submission is for legacy use. - [SPARQL Update](http://www.w3.org/TR/sparql11-update/) - [SPARQL/Update Submission](http://www.w3.org/Submission/SPARQL-Update/) - [The ARQ SPARQL/Update API](update.html) ## See Also - [Joseki](http://www.joseki.org) - Server implementation of the SPARQL protocol. - [TDB - A SPARQL database for Jena](../tdb), a pure Java persistence layer for large graphs, high performance applications and embedded use. - [SDB - A SPARQL database for Jena](../sdb), using SQL databases. ## W3C Documents - [SPARQL Query Language specification](http://www.w3.org/TR/sparql11-query/) - [SPARQL Query Results XML Format](http://www.w3.org/TR/rdf-sparql-XMLres/) - [SPARQL Protocol](http://www.w3.org/TR/rdf-sparql-protocol/) ## Articles Articles and documentation elsewhere: - [Introducing SPARQL: Querying the Semantic Web](http://xml.com/lpt/a/2005/11/16/introducing-sparql-querying-semantic-web-tutorial.html) ([xml.com](http://www.xml.com/) article by Leigh Dodds) - [Search RDF data with SPARQL](http://www.ibm.com/developerworks/xml/library/j-sparql/) (by Phil McCarthy) - article published on IBM developer works about SPARQL and Jena. - [SPARQL reference card](http://www.ilrt.bris.ac.uk/people/cmdjb/2005/04-sparql/) (by [Dave Beckett](http://www.ilrt.bristol.ac.uk/people/cmdjb/)) - [Parameterised Queries with SPARQL and ARQ](http://www.ldodds.com/blog/archives/000251.html) (by Leigh Dodds) - [Writing an ARQ Extension Function](http://www.ldodds.com/blog/archives/000252.html) (by Leigh Dodds) ## Miscellaneous Resources - [Turtle](http://www.w3.org/TeamSubmission/turtle/) - a non-XML RDF serialization ## Online Demo Online [Query Form](http://www.sparql.org/query.html) for experimenting with SPARQL queries.