Redland Rasqal RDF Query Library
Pull request Compare This branch is 1913 commits behind dajobe:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
build
data
docs
src
tests
utils
win32
.gitignore
AUTHORS
COPYING
COPYING.LIB
ChangeLog
ChangeLog.1
ChangeLog.2
ChangeLog.3
ChangeLog.4
ChangeLog.5
ChangeLog.6
ChangeLog.7
INSTALL.html
LICENSE-2.0.txt
LICENSE.html
Makefile.am
NEWS.html
NOTICE
README.html
RELEASE.html
TODO.html
autogen.sh
configure.ac
fix-groff-xhtml
rasqal-src-config.in
rasqal.pc.in
rasqal.rdf.in
rasqal.spec.in

README.html

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
  <title>Rasqal RDF Query Library</title>
  <link rel="meta" type="application/rdf+xml" title="DOAP" href="rasqal.rdf" />
</head>
<body>

<h1 style="text-align:center">Rasqal RDF Query Library</h1>
<h2 style="text-align:center"><a href="http://www.dajobe.org/">Dave Beckett</a></h2>
  

<h2>Overview</h2>

<p><a href="http://librdf.org/rasqal/">Rasqal</a> is a free software
/ Open Source C library that handles Resource Description Framework
(RDF) query language syntaxes, query construction and execution of
queries returning results as bindings, boolean, RDF graphs/triples or
syntaxes.  The supported query languages are SPARQL 1.0, RDQL, Draft
SPARQL Query 1.1, Update 1.1 Syntax and Experimental SPARQL
extensions (LAQRS).  Rasqal can write binding query results in the
SPARQL XML, SPARQL JSON, CSV, TSV, HTML and ASCII tables.
</p>

<p>Rasqal was designed to work closely with the
<a href="http://librdf.org/">Redland RDF library</a>
and the Raptor[2] RDF Syntax Library but is entirely separate from both.
</p>

<p>This is a beta quality library - the code is mature but the API is
still changing and the SPARQL support is under development.  It is a
portable library and has been tested on multiple POSIX systems and
architectures.  Rasqal has no known memory leaks.
</p>

<p>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>
<ul>
<li>An RDF <a href="docs/api/query.html">query</a> construction and access API.</li>
<li>Query language support for <a href="http://www.w3.org/TR/2007/PR-rdf-sparql-query-20071112/">SPARQL</a>.</li>
<li>Query language support for <a href="http://www.w3.org/Submission/2004/SUBM-RDQL-20040109/">RDQL</a>.</li>
<li>A query execution engine including constraint expression evaluation.</li>
<li>A query result binding API.</li>
<li>Query result bindings formatting into SPARQL XML, SPARQL JSON, CSV, TSV, HTML and ASCII tables.</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 command line RDF query utility program</li>
</ul>


<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="http://librdf.org/raptor/">Raptor</a>
and over a
<a href="http://librdf.org/">Redland</a>
indexed triple store. These can be called using the standalone
command line <a href="roqet.html">roqet</a>
query utility giving a query language
identifier (default sparql), the query string and optionally
the data to use unless it is declared in the query string.
</p>

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


<h2>Supported Query Languages</h2>

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

<p>Rasqal provides support for the W3C SPARQL Query Language
being developed by the W3C
<a href="http://www.w3.org/2001/sw/DataAccess/">RDF Data Access Working Group</a>,
as defined in
<a href="http://www.w3.org/TR/2007/PR-rdf-sparql-query-20071112/">SPARQL Query Language for RDF</a>, W3C Proposed Recommendation 12 November 2007.
It currently implements most of the functionality except for
<code>GRAPH</code>, <code>UNION</code> and part of <code>OPTIONAL</code>.
For detailed information on the implementation state, see the Rasqal
bugs in the <a href="http://bugs.librdf.org/">Redland issue tracker</a>.
It also implements some of the
<a href="http://www.w3.org/TR/2010/WD-sparql11-query-20100601/">SPARQL 1.1 Query</a>
and
<a href="http://www.w3.org/TR/2010/WD-sparql11-update-20100601/">SPARQL 1.1 Update</a>
W3C working drafts of 1 June 2010.
</p>


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

<p>Rasqal provides a complete implementation of the RDQL language, as defined in
<a href="http://www.w3.org/Submission/2004/SUBM-RDQL-20040109/">RDQL - A Query Language for RDF</a>,
W3C Member Submission 9 January 2004
based on the earlier versions in Jena.
<em>RDQL RDF Data Query Language</em>
<!--
<a href="http://www.hpl.hp.com/semweb/rdql.htm">RDQL RDF Data Query Language</a>
-->
and the
<em>RDQL Grammar</em>.
<!--
<a href="http://www.hpl.hp.com/semweb/rdql-grammar.html">RDQL Grammar</a>.
-->
The
<a href="http://jena.sourceforge.net/tutorial/RDQL/">Jena RDQL Tutorial</a>
gives an introduction on the language.
Rasqal currently passes all the
<em>Jena RDQL test suite</em>
<!--
<a href="http://jena.hpl.hp.com/2003/07/query/">Jena RDQL test suite</a>
-->
bar a couple.
Detail of the status of the RDQL support is given in the
<a href="http://bugs.librdf.org/">Redland issue tracker</a>.</p>


<h3>LAQRS Adds to Querying RDF in SPARQL (LAQRS)</h3>

<p>
<a href="http://www.dajobe.org/2007/04/laqrs/">LAQRS</a>
is an <b>experimental</b> set of syntax extensions for SPARQL.  The
syntax and features may change at any time.  At present Rasqal
provides only parsing and API support for it.
</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="http://librdf.org/">Redland</a>,
the Redland documentation explains
how to call the query engine and contains several example programs.
</p>

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


<h2>Sources</h2>

<p>The packaged sources are available from
<a href="http://download.librdf.org/source/">http://download.librdf.org/source/</a> (master site) and also from the
<a href="http://sourceforge.net/projects/librdf/">SourceForge site</a>.
The development GIT sources can also be
<a href="http://github.com/dajobe/rasqal">browsed on GitHub</a>
or checked out at git://github.com/dajobe/rasqal.git
</p>

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


<h2>License</h2>

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

<p>The
<a href="http://librdf.org/lists/">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 (C) 2003-2010 <a href="http://www.dajobe.org/">Dave Beckett</a><br />Copyright (C) 2003-2005 <a href="http://www.bristol.ac.uk/">University of Bristol</a></p>

</body>
</html>