ARQ is a query processor for Jena that implements SPARQL. ==== Announcing ARQ 2.0 beta This is the first, and hopefully only, beta release of ARQ 2.0. It is functionally a complete implementation of SPARQL including support for custom filter function, property functions and free text search. == Changes to SPARQL There are changes to the correct results from SPARQL queries in this release to reflectthe new SPARQL algebra: + {} form scoping delimiters for filter. + { FILTER(?v > 3) :z : p ?v } is the same as { :z : p ?v FILTER(?v > 3) } + Variables outsoide the group are no in scope. Any extraneous {} around FILTERs may cause different results. + Results from corner cases of doubly nested OPTIONALs change. == Changes to applications The function library and property function libary have both moved: The correct base URIs are now: Functions: http://jena.hpl.hp.com/ARQ/function# Property functions: http://jena.hpl.hp.com/ARQ/property# The code now resides in packages "com.hp.hpl.jena.sparql.function.library" and "com.hp.hpl.jena.sparql.pfunction.library". Old URIs using the old package name and "java:" should work because there is a redirection left in-place. The purpose of this beta release is to ensure migration costs from ARQ 1.5.1 to ARQ 2.0 are as low as possible. Please report any differences in behaviour, both functional and performance. ARQ 2.0 provides the same external API as ARQ 1.5. Internally, query execution follows the SPARQL algebra, in development by the RDF Data Access Working Group. Several query engines are available: + Main query engine for optimization and efficient execution + Reference engine for checking functionality (implements the SPARQL evaluation semantics very simply for clarity and validation) + Remote access engine for querying SPARQL endpoints over HTTP. + The query engine from ARQ1, for exact ARQ1 semantics and to assist in migration (deprecated for new applications, it and will be removed sometime + RDQL engine Internally, there has been significant reorganisation and renaming to align with termininology of the SPARQL specification. ARQ can also be used just SPARQL parsers, as a SPARQL algebra generator or for spoecialised query engines. Not in ARQ 2.0: Extensions beyond the SPARQL syntax: UNSAID and EXT. OPTIONAL/!bound queries are support. Download: http://prdownloads.sourceforge.net/jena/ARQ-2.0-beta.zip Home page: http://jena.sourceforge.net/ARQ/ ARQ is also available via anonymous SVN: https://jena.svn.sourceforge.net/svnroot/jena/ARQ/ SPARQL is described in: http://www.w3.org/TR/rdf-sparql-query/ == Notes More details in ChangeLog.txt == Status The implementation of SPARQL is complete and meets the SPARQL current editors' working draft and cu=urently planned Last Call design. Editors' working draft: http://www.w3.org/2001/sw/DataAccess/rq23/rq25.html Defition of SPARQL: http://www.w3.org/2001/sw/DataAccess/rq23/rq25.html#sparqlDefinition == Services SPARQL validator: http://www.sparql.org/validator.html SPARQL processor: http://www.sparql.org/sparql.html == Support and Questions Comments and questions about ARQ to the Jena mailing list jena-dev@groups.yahoo.com General questions and comments on SPARQL to jena-dev or public-sparql-dev@w3.org Formal comments specific to the SPARQL query language, protocol or result set docuemnts to: public-rdf-dawg-comments@w3.org