Rasqal RDF Query Library
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 SPARQL and RDQL.
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
This is a beta quality library - the code is mature but the API is
still changing and the SPARQL support is under active development. 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.
* An RDF query construction and access API.
* A query execution engine including constraint expression
* A query result binding API.
* Query language support for SPARQL.
* Query language support for RDQL.
* Triple store querying APIs to support running over external RDF
* No memory leaks.
* roqet standalone RDF query utility program
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.
Supported Query Languages
SPARQL Query Language for RDF
Rasqal provides 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 23 November 2005. It
currently implements the core functionality but is not a complete
implementation. For further information on the state, see the Rasqal
todo / bugs list and the Redland issue tracker.
RDF Data Query Language (RDQL)
Rasqal provides a complete implementation of 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 all the Jena
RDQL test suite bar a couple. Detail of the status of the RDQL support
is given in the Redland issue tracker.
Installation and Documentation
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://download.librdf.org/source/ (master site) and also from the
SourceForge site. The development Subversion sources can also be
browsed with ViewCV.
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
The Redland mailing lists discusses the development and use of Rasqal
and Redland as well as future plans and announcement of releases.
Copyright (C) 2003-2006 Dave Beckett
Copyright (C) 2003-2005 University of Bristol