Re: Using Datalog as a common semantics for SQL/RIF-based approaches?

On Mon, Jul 19, 2010 at 10:42 AM, Harry Halpin <hhalpin@w3.org> wrote:
>> On Sun, Jul 18, 2010 at 11:39 AM, Harry Halpin <hhalpin@w3.org> wrote:
>>> In our specification, it will be important to both specify exactly what
>>> needs to be implemented that users can expect to be portable and have
>>> extensibility mechanisms that work in a principled manner.
>>>
>>> The options that we've seen so far both seem to have problems. SPARQL
>>> constructs are not expressive enough, but then RIF is likely too
>>> expressive, and it would be doubtful if we could convince implementers
>>> to
>>> implement all of RIF just to map relational data to RDF. Likewise, SQL
>>> is
>>> a large language itself that is implemented differently in the details
>>> across vendors, so we'd have to specify exactly what part of SQL we
>>> thought must be implemented. How to do so?
>>>
>>> I'm intrigued that we could use another option - specify a common
>>> semantics using Datalog that then could be expressed using some subset
>>> of
>>> RIF and SQL. In fact, ideally the language could use Datalog to
>>> translate
>>> between the subset of RIF and SQL and vice-versa. Then we could also
>>> take
>>> advantage of SQL's power and implementation exprience while having the
>>> nice extensibility mechanisms of RIF.
>>
>> I like this approach!
>>
>> The fragment of Datalog that we need to use for the mapping language
>> has a simple syntax and a semantics that can be easily understood, so
>> it is a good alternative.
>
> Glad you like it.
>
> Can you send a few good references about this fragment to the list? Either
> papers (ideal) or even references from journal/textbooks?  For those of us
> who are not familiar with this work, we need something more detailed than
> examples in order to figure out the exact fragment that we could map to
> RIF.

The fragment that I have been mentioning is non-recursive Datalog with
equality and safe negation. There is a book just published that shows
how this language and its extensions have been used in data
integration:

Michael Genesereth. Data Integration: The Relational Logic Approach.
Morgan & Claypool Publishers, 2010.

This short book is available electronically in many libraries.

There is also a survey about logic programming that has information
about Datalog:

Evgeny Dantsin, Thomas Eiter, Georg Gottlob, Andrei Voronkov.
Complexity and expressive power of logic programming. ACM Comput.
Surv. 33(3):374-425, 2001.

I will think about other possible references.

All the best,

Marcelo

Received on Tuesday, 20 July 2010 14:57:25 UTC