Rasqal is a C library for querying RDF graphs, supporting the SPARQL, RDQL, and LAQRS languages. It provides APIs for creating a query and parsing query syntax. It features pluggable triple-stores and matching interfaces, query engines for executing the queries, an API for manipulating results as bindings, and multiple ways to format the results to XML, CSV, TSV, and JSON. It uses the Raptor RDF parser to return triples from RDF content, and can alternatively work with the Redland RDF library's persistent triple stores. It is portable across many POSIX systems.
|Tags||Database Database Engines/Servers semantic web RDF sparql RDQL|
|Licenses||GPL LGPL Apache 2.0|
Release Notes: This version completes support for SPARQL 1.0 by passing 100% of the approved tests. It adds full support for XSD date and makes XSD dateTime and XSD date equality and comparison work. The query engine was fixed to make limit and offset check work properly in a subquery, correctly handles errors during aggregation expression evaluation, and fixes blank node generation when made in a CONSTRUCT to match SPARQL. SPARQL 1.1 draft UUID() and STRUUID() support were added. RDQL support will be removed in the next release (0.9.30). Multiple other fixes and improvements were made.
Release Notes: Full support for SPARQL 1.1 draft STRBEFORE, STRAFTER, and REPLACE has been added. A new internal Mersenne Twister PRNG has been added with the choice adjustable by configure. The language name "sparql" is now SPARQL 1.1. The query result formats now all use W3C Format URIs as their primary URI. The configure check for ceil(), floor(), and round() has been improved to prevent GCC from optimizing the test away and getting the wrong answer. Several other fixes and improvements have been made.
Release Notes: SPARQL 1.1 query draft support was added for ABS(), CEIL(), FLOOR(), RAND(), ROUND(), TZ(), and BIND(expr AS ?var). SILENT with DROP and CLEAR was fixed. ENCODE_FOR_URI() was fixed not to preserve language and datatype of argument. GROUP BY was fixed to allow an optional AS ?var. An expression evaluation context class was added to store state for use with evaluating expressions. Triple-quoted literals over-quoting and their use with language and datatypes were fixed. Random seed initializing support was added. The query engine execution was fixed in several cases. rasqal_query_set_store_results() now actually works.
Release Notes: Parsing of SPARQL 1.1 Update draft INSERT and DELETE was fixed to to return sequences of triples. Cleanup of parsing state was improved when syntax errors happened due to disabled query language features. A few other bug fixes were made.
Release Notes: This version was changed to support only Raptor V2 (2.0.0+) and an ABI/API break was made to remove deprecated functions, types, and enums. It also added 7 SPARQL 1.1 editor's draft datetime and 9 string builtin functions with execution support. 4 LAQRS datetime extension builtin functions were added. Query language names were added for SPARQL 1.0, 1.1 Query and Update, 1.1 Query, and 1.1 Update and LAQRS. An XSD dateTime class and public API were added. Support for reading and writing RDF-encoded query result formats in RDF/XML and Turtle / N3 was added. Many other API additions, removals, and changes were made.