Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Redland Rasqal RDF Query Library
C Groff HTML Makefile Perl Shell
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "">
<html xmlns="" lang="en" xml:lang="en">
  <title>Rasqal RDF Query Library</title>

<h1 style="text-align:center">Rasqal RDF Query Library</h1>
<h2 style="text-align:center"><a href="">Dave Beckett</a><br /><a href="">Institute for Learning and Research Technology</a><br /><a href="">University of Bristol</a></h2>


<p><a href="">Rasqal</a>
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.</p>

<p>Rasqal was designed to work closely with the
<a href="">Redland RDF library</a>
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.

<p>This is a beta quality library - the code is mature
but the API is still changing. See the
<a href="TODO.html">todo list</a>
for the current state information.  A summary
of the changes can be found in the <a href="NEWS.html">NEWS</a> file,
detailed API changes in the <a href="RELEASE.html">release notes</a>
and file-by-file changes in the CVS <a href="ChangeLog">ChangeLog</a>.</p>

<p>Rasqal provides:</p>
<li>An RDF <a href="docs/api/query.html">query</a> construction and access API.</li>
<li>A query execution engine including constraint expression evaluation.</li>
<li>A query result binding API.</li>
<li>Query language support for <a href="">RDQL</a>.</li>
<li>Query language support for <a href="">SPARQL</a>.</li>
<li>Triple store querying APIs to support running over external RDF graphs.</li>
<li>No memory leaks.</li>
<li><a href="roqet.html">roqet</a> standalone RDF query utility program</li>

<p>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
<a href="">Raptor</a>
and over a
<a href="">Redland</a>
indexed triple store. These can be called using the standalone
<a href="roqet.html">roqet</a>
query utility giving a query language
identifier and query string to run the query over content
described inside the query string (in RDQL, the <code>FROM</code> clause).

<p>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.

<h2>Supported Query Languages</h2>

<h3>RDF Data Query Language (RDQL)</h3>

<p>Rasqal provides a complete parser and query constructor for the RDQL
language, as defined in
<a href="">RDQL - A Query Language for RDF</a>,
W3C Member Submission 9 January 2004
based on the earlier versions in Jena defined in
<a href="">RDQL RDF Data Query Language</a>
and the
<a href="">RDQL Grammar</a>.
<a href="">Jena RDQL Tutorial</a>
gives an introduction on the language.
Rasqal currently passes the majority of the
<a href="">Jena RDQL test suite</a>.
Further information on the status of the RDQL support is given in the
Rasqal <a href="TODO.html#rdql">todo / bugs list</a>.</p>

<h3>SPARQL Query Language for RDF</h3>

<p>Rasqal provides initial support for the W3C SPARQL Query Language
being developed by the W3C
<a href="">RDF Data Access Working Group</a>,
as defined in
<a href="">SPARQL Query Language for RDF</a>,
W3C Working Draft, 17 February 2005.
It currently implements only the functionality in common with RDQL. 
For further information on the state, see the Rasqal
<a href="TODO.html#sparql">todo / bugs list</a>.</p>

<h2>Installation and Documentation</h2>

<p>The public API is described in the
<a href="librasqal.html">librasqal.3</a> UNIX manual page
and in more detail in the
<a href="docs/api/index.html">API reference</a>.
It is demonstrated in the
<a href="roqet.html">roqet</a>
utility program which shows how to call the query engine and
operate over the query results.  When Rasqal is used inside
<a href="">Redland</a>,
the Redland documentation explains
how to call the query engine and contains several example programs.

<p>To install Rasqal see the <a href="INSTALL.html">Installation document</a>.


<p>The packaged sources are available from
<a href=""></a> (master site) and also from the
<a href="">SourceForge site</a>.
There are 
<a href="">nightly snapshots</a> of the development version which is can also be browsed via
<a href="">CVSweb</a>.
Binary packages of Rasqal and related libraries are available from the
<a href="">download area</a>.

<p>Rasqal requires <a href="">Raptor</a> 1.4.0
or newer to build and run, which can be downloaded from the same area
as the Rasqal source and binaries.</p>


<p>This library is free software / open source software released
under the LGPL (GPL) or Apache 2.0 licenses.  See
<a href="LICENSE.html">LICENSE.html</a> for full details.</p>

<h2>Mailing Lists</h2>

<a href="">Redland mailing lists</a>
discusses the development and use of Rasqal and Redland as well as
future plans and announcement of releases.</p>

<hr />

<p>Copyright 2003-2005 <a href="">Dave Beckett</a>, <a href="">Institute for Learning and Research Technology</a>, <a href="">University of Bristol</a></p>

Something went wrong with that request. Please try again.