Rasqal is a free software / Open Source C library that handles Resource Description Framework (RDF) query syntaxes, query construction and query execution returning result bindings. The supported query languages are RDQL and SPARQL.
Rasqal was designed to work closely with the Redland RDF library but is entirely separate. It is intended to be a portable library working across many POSIX systems (Unix, GNU/Linux, BSDs, OSX, cygwin) win32 and others.
This is a beta quality library - the code is mature but the API is still changing. See the todo list for the current state information. A summary of the changes can be found in the NEWS file, detailed API changes in the release notes and file-by-file changes in the CVS ChangeLog.
Rasqal provides:
Rasqal does not provide an RDF API or triple store, but relies on
external libraries implementing the triple store API providing
matched RDF data originally from a specified content URI. Rasqal
ships with triple store implementations using the output of an RDF
parser from
Raptor
and over a
Redland
indexed triple store. These can be called using the standalone
roqet
query utility giving a query language
identifier and query string to run the query over content
described inside the query string (in RDQL, the FROM
clause).
Rasqal also works inside Redland (0.9.17 or newer) to provide support for query languages, a query API and a result bindings API over graphs stored in Redland.
Rasqal provides a complete parser and query constructor for the RDQL language, as defined in RDQL - A Query Language for RDF, W3C Member Submission 9 January 2004 based on the earlier versions in Jena defined in RDQL RDF Data Query Language and the RDQL Grammar. The Jena RDQL Tutorial gives an introduction on the language. Rasqal currently passes the majority of the Jena RDQL test suite. Further information on the status of the RDQL support is given in the Rasqal todo / bugs list.
Rasqal provides initial support for the W3C SPARQL Query Language being developed by the W3C RDF Data Access Working Group, as defined in SPARQL Query Language for RDF, W3C Working Draft, 19 April 2005. It currently implements primarily the functionality in common with RDQL with some additions. For further information on the state, see the Rasqal todo / bugs list.
The public API is described in the librasqal.3 UNIX manual page and in more detail in the API reference. It is demonstrated in the roqet utility program which shows how to call the query engine and operate over the query results. When Rasqal is used inside Redland, the Redland documentation explains how to call the query engine and contains several example programs.
To install Rasqal see the Installation document.
The packaged sources are available from http://librdf.org/dist/source/ (master site) and also from the SourceForge site. There are nightly snapshots of the development version which is can also be browsed via CVSweb. Binary packages of Rasqal and related libraries are available from the download area.
Rasqal requires Raptor 1.4.0 or newer to build and run, which can be downloaded from the same area as the Rasqal source and binaries.
This library is free software / open source software released under the LGPL (GPL) or Apache 2.0 licenses. See LICENSE.html for full details.
The Redland mailing lists discusses the development and use of Rasqal and Redland as well as future plans and announcement of releases.
Copyright 2003-2005 Dave Beckett, Institute for Learning and Research Technology, University of Bristol