# ARQ - Documentation and Resources

## Introduction

- A Brief Tutorial on SPARQL
- Application API - covers the majority of application usages
- Frequently Asked Questions
- ARQ Support
- Application javadoc
- Command line utilities
- Logging

## Advanced SPARQL use

Features of ARQ that are legal SPARQL syntax.

- Free text searches
- Accessing lists (RDF collections)
- Extension mechanisms
  - Filters Functions
  - Property Functions
- Library
  - Filter function library
  - Property function library
- The Query Optimizer
- Writing ARQ FILTER functions
- Writing ARQ Property Functions
- Querying remote SPARQL services
- Constructing queries programmatically
- ARQ and the SPARQL algebra
- Using SPARQL to query non-RDF data sources

## Extensions

Feature of ARQ that go beyond SPARQL syntax.

- Basic federated query
- GROUP BY and counting
- SELECT expressions

## Update

ARQ supports a proposed SPARQL/Update language.

- SPARQL/Update -- A language for updating RDF graphs

## See Also

- Jena
- Joseki - Server implementation of the SPARQL protocol.
- SDB - A SPARQL database for Jena

## W3C Documents

- SPARQL Query Language specification
- SPARQL Query Results XML Format
- SPARQL Protocol

## Articles

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)

## Miscellaneous Resources

- Turtle - a non-XML RDF serialization
- Online Query Form for experimenting with SPARQL queries.