Incompatibilities in RDQL implementations

Hi All,

I am currently writing wrapper code around Sesame[2] and RAP[3] to
give them web interfaces corresponding to the Joseki webapi[4]. The
point of the exercise is to be able to write web client code that is
store agnostic.

Unfortunately there seem to be some incompatible variances in the way
RDQL is implemented in the different RDF stores.

For example, the W3C submission spec[1] (which was written after a lot
of the implementations) says that qnames in 'where' clause
triplepatterns are not surrounded by '<' and '>'.

E.g. (example taken out of the W3C submission[1]) 
(works with Jena/Joseki but not RAP or Sesame)

SELECT ?family , ?given
WHERE  (?vcard  vcard:FN "John Smith")
       (?vcard  vcard:N  ?name)
       (?name   vcard:Family  ?family)
       (?name   vcard:Given  ?given)
USING  vcard FOR <http://www.w3.org/2001/vcard-rdf/3.0#>


Unfortunately both Sesame(1.0) and RAP(0.71) require '<' and '>'
around qnames for the query to parse.

E.g. (works with Jena and RAP, but not Sesame and isn't spec compliant)

SELECT ?family , ?given
WHERE  (?vcard  <vcard:FN> "John Smith")
       (?vcard  <vcard:N>  ?name)
       (?name   <vcard:Family>  ?family)
       (?name   <vcard:Given>  ?given)
USING  vcard FOR <http://www.w3.org/2001/vcard-rdf/3.0#>


Also, Sesame requires commas between each triplepattern clause and
between the triplepatterns themselves, RAP doesn't, and the spec says
they're optional.

E.g. (works with Jena, RAP and Sesame, but isn't spec compliant)

SELECT ?family , ?given
WHERE  (?vcard,  <vcard:FN>, "John Smith"),
       (?vcard,  <vcard:N>,  ?name),
       (?name,   <vcard:Family>,  ?family),
       (?name,   <vcard:Given>,  ?given)
USING  vcard FOR <http://www.w3.org/2001/vcard-rdf/3.0#>

So unfortunately writing an RDQL query that works with all three
stores involves being incompatible with the spec!

So the question is, should I be lobbying/helping the store vendors to
fix the RDQL implementations WRT the W3C Submission (breaking existing
client RDQL code in the process), or does the W3C submission need
changing to match the implementations in the stores?

Is there enough existing client RDQL code to be worrying about this? 
(we have 5 applications at work which would need changing, but the
changes are trivial)

Many thanks,

Phil

[1] http://www.w3.org/Submission/2004/SUBM-RDQL-20040109/
[2] http://www.openrdf.org/
[3] http://www.wiwiss.fu-berlin.de/suhl/bizer/rdfapi/
[4] http://www.joseki.org/

Received on Thursday, 6 May 2004 05:46:16 UTC