Redland

Dave Beckett

 
 

Data

DOAP
(See DOAP Project)

Rasqal RDF Query Library - To Do List

Bugs and Features

Bugs should be reported at the Redland Issue Tracker.

General

  • QL: SeRQL - needs many engine changes (multiple sources, distinct, paths, anon variables, anon predicates) - The SeRQL query language in Sesame user manual.
  • QL: Squish - should be just syntax - Squish BNF
  • QL: RDFDB query language - should be just syntax
  • QL: RQL, others - functional requirements not determined

SPARQL

Rasqal provides support for the SPARQL language as defined in SPARQL Query Language for RDF W3C Proposed Recommendation, 12 November 2007.

Rasqal fails to implement the following parts of SPARQL:

RDQL

  • Check difference between FROM and SOURCE, currently they are the same
  • RDQL testsuite failures:
  • LIMIT and OFFSET result constraints, now that the engine supports them. AKT's Triplestore implementation of RDQL has this option. (extension)
  • Error recovery - when parsing a query fails, memory is leaked because the lists of selects, constraints etc. are lost when some part fails. This requires understanding error recovery in Yacc/Bison.

Done

The most recent changes are at the top, with the first release version where appropriate.

  • SPARQL: Syntax details (0.9.15)
  • Engine: datatypes (0.9.15)
  • Engine: graph names (0.9.15)
  • Engine: result distinct, limit and ordering (0.9.11)
  • Engine: result ordering (0.9.10)
  • Engine: result constraints - like LIMIT and OFFSET in SQL (0.9.9)
  • Engine: multiple data graphs (0.9.7)
  • SPARQL: BOUND from 11.2.1.2 sop:bound (0.9.6)
  • SPARQL: 10.4 Asking "yes or no" questions (ASK) (0.9.6)
  • SPARQL: 10.2 Constructing an Output Graph (CONSTRUCT with triples and CONSTRUCT *) (0.9.6)
  • Engine: constructing of RDF graph results as a sequence of triples (0.9.6)
  • RDQL: Allowed UTF-8 in QNames; enabling RDQL testsuite tests S-03, S-04 and S-05 to pass (0.9.6)
  • Engine: generating result sets in XML vocabulary (0.9.5)
  • SPARQL 5 Including Optional Values (0.9.5)
  • SPARQL 5.1 Optional Pattern Matching - OPTIONAL and [ ...] (0.9.5)
  • Engine: optional triples (0.9.5)
  • RDQL: Allow UTF-8 in prefix to the RDQL lexer; enabling RDQL testsuite test S-02 to pass (0.9.5)
  • Engine: re-running an execute() on a prepared query works and does not leak memory (0.9.3)
  • RDQL: Checked that blank nodes are not allowed in RDQL queries.
  • RDQL: string matches should be case insensitive with EQ, NE; not with ==, !=
  • Engine: comparisons between integer and floats return <0 (-1),0 or >0 (1) integers as appropriate
  • Literal languages, datatypes - "lit"@lang and "lit"@lang^^datatype
  • Engine: added checks that (?x, ?x, constant) (and permutations) and (?x, ?x, ?x) work in triplesMatching implementation, for redland.
  • RDQL testsuite file model9.n3 has a floating literal constant, N3 but not Turtle
  • RDQL: kill functioncall grammar term
  • Engine: recognise xsd:integer as integer, xsd:double as floating
  • RDQL: Updated for changes in RDQL - A Query Language for RDF, W3C Member Submission 9 January 2004
  • Engine: base URIs handled
  • RDQL: defined keywords are handled case insensitive.
  • RDQL: lexer and parser handle new and old qname style (with a warning) - a:b and <a:b>.
  • RDQL: Recognise pattern literals in /foo/, m/foo/ forms with optional flags