[redland-dev] RDF query (RDQL) work for Redland
Dave Beckett
dave.beckett at bristol.ac.uk
Mon Aug 25 12:40:13 BST 2003
I've been playing with providing support for the Squish/RDQL style
querying in Redland and now the W3C's lists are back, I'll report
what I've got so far.
I took the RDQL definition from the Jena RDQL[1] and used that
grammar plus the examples from Jena and @semantics' tutorials to
write lex & yacc versions in C for parsing it. The current state is
that it passes most of the RDQL test suite in Jena bar a few oddities
that need to be worked out (case sensitivity of tokens, difficulties
in identifying pattern literals).
The current software is heading towards being useful - it turns the
query strings into an abstract rdf query structure - but I've not
made a stable release - you can use CVS to see if you like.
It's called
Rasqal (RDF mutter Query mutter Language) pronounced "Rascal" :)
-- thanks to Phil McCarthy for the name
and the web site is at
http://www.redland.opensource.ac.uk/rasqal/
although you should get the latest from CVS or a nightly snapshot at
http://www.redland.opensource.ac.uk/dist/snapshots/source/
It is LGPL / MPL licensed (probably will change to Apache/BSD).
I'll make a proper release sometime soon, after I release the next
Raptor and Redland.
My current issues are on the TODO page:
http://www.redland.opensource.ac.uk/rasqal/TODO.html
and include the problems I've found so far and mentioned above.
It's this list of problems/incompatibilities that are probably
of most interest to the www-rdf-rules group.
* base QNames are now allowed
* Add the default prefixes (rdf, rdfs, owl, ... ?)
* Extensions: multiple LIMIT and OFFSET
* Optionals?
* Are keywords case sensitive? Jena RDQL has an example with SELECT
?select WHERE ... but @semantics' RDQL tutorial has an example with
USING dcq for ... not FOR
* Literal languages, datatypes - new "lit"@lang and "lit"@lang^^datatype
* Pattern literals seem difficult to recognise without context
* Qnames and URIs - in particular what is <a:b>
if the prefix a isn't defined till later
* base URIs? Lots of <relativeURI> seen. @base?
for the latest list, see the URL above.
Dave
[1] http://www.hpl.hp.com/semweb/rdql-grammar.html
More information about the redland-dev
mailing list