Prototype SPARQL engine based on Datalog and relation of SPARQL to the Rules Layer

Dear members of the DAWG,

Over the last few months I did some investigation on the relations 
between SPARQL and rules languages, more precisely between SPARQL and 
Datalog.

The results are written down in the following technical report which I 
hope contains some useful insights and which I also plan to send to the 
SPARQL working group:

http://www.polleres.net/publications/GIA-TR-2006-11-28.pdf

You find the following in there:

* I refine and extend the recent proposal to formalize the semantics of 
SPARQL from Pérez et al., presenting three variants, namely c-joining, 
s-joining and b-joining semantics.

* Based on these three semantic variants, I provide translations from a 
large fragment of SPARQL queries to Datalog, which gives rise to 
implementations of SPARQL on top of existing rules engines, a prototype 
is available at http://con.fusion.at/dlvhex/download.php

* I'd like to suggest to the working group some straightforward 
extensions of SPARQL such as adding the set difference operator MINUS, 
and allowing nesting of ASK queries in FILTER expressions which come 
basically for free in the approach.

* Finally, I discuss an extension towards recursion by allowing 
bNode-free-CONSTRUCT queries as part of the query dataset, which may be 
viewed as a light-weight, recursive rule language on top of of RDF.


My background is that in the RIF working group we discussed a while ago 
how/whether to cover SPARQL queries in rule bodies there, which drew my 
interest to the topic. I hope that sharing my insights with you this way 
is also useful for the DAWG work.

Looking forward to comments/discussions!

best regards,
Axel


-- 
Dr. Axel Polleres
email: axel@polleres.net  url: http://www.polleres.net/

Received on Sunday, 3 December 2006 02:32:39 UTC