W3C home > Mailing lists > Public > public-rdb2rdf-wg@w3.org > August 2011

Re: Non-Turtle mapping documents (ISSUE-57)

From: Michael Hausenblas <michael.hausenblas@deri.org>
Date: Wed, 10 Aug 2011 07:56:44 +0100
Cc: W3C RDB2RDF <public-rdb2rdf-wg@w3.org>, Seema Sundara <seema.sundara@oracle.com>
Message-Id: <A4FD42C3-EAB9-45D8-B639-04BB95D17ACE@deri.org>
To: Ivan Herman <ivan@w3.org>, Souripriya Das <SOURIPRIYA.DAS@oracle.com>, Ashok Malhotra <ashok.malhotra@oracle.com>

>  an R2RM processor MAY accept any documented serialization format of  
> RDF (RDF/XML, Turtle, RDFa, maybe later some JSON format), but it  
> MUST accept XXX.


My understanding is that we're writing a specification that aims to  
set the standard in the area of RDB2RDF mapping. Not specifying a MUST  
here waters down the spec and cripples interoperability, hence ...

[[
PROPOSAL: A R2RML processor MUST accept Turtle but MAY accept any RDF  
serialization (RDF/XML, NTriple, RDFa, etc.)
]]


I must seriously wonder if we want to make this a blocker for LC? Is  
the problem to write a Turtle parser (if so, I'm happy to chip in with  
resources - heck I would even be willing to develop it myself if need  
be) or is it a principle problem with Turtle (but then again, who  
knows of a sane person that would write an R2RML mapping in RDF/XML,  
by hand?).

Cheers,
	Michael
--
Dr. Michael Hausenblas, Research Fellow
LiDRC - Linked Data Research Centre
DERI - Digital Enterprise Research Institute
NUIG - National University of Ireland, Galway
Ireland, Europe
Tel. +353 91 495730
http://linkeddata.deri.ie/
http://sw-app.org/about.html

On 10 Aug 2011, at 06:15, Ivan Herman wrote:

> Souri,
>
> The R2RML case reminds me of the OWL 2 discussion: OWL 2 is defined  
> in terms of abstract concepts and these concepts can be serialized  
> using different serialization formats. The OWL 2 case is even more  
> complicated than R2RML in the sense that the abstract concepts are  
> not defined in terms of RDF graphs, though OWL 2 can be mapped, back  
> and forth, to RDF. The question that arose was: what serialization  
> formats should an OWL 2 reasoner use and/or accept. The solution  
> that WG accepted was: a reasoner MAY accept any standard (or  
> documented) serialization format (RDF/XML, Turtle, OWL/XML,  
> Manchester syntax), but it MUST accept RDF/XML. In other words,  
> users may trust that there is at least one serialization that is  
> accepted across the board.
>
> As I said, R2RML is easier because, in abstract, it is defined in  
> RDF terms. So we have to consider RDF serializations only. But the  
> same question does arise: which format would users rely on across  
> the board? Hence, I think, what we have in document is sensible  
> (though I am not sure this is there in so many words): an R2RM  
> processor MAY accept any documented serialization format of RDF (RDF/ 
> XML, Turtle, RDFa, maybe later some JSON format), but it MUST accept  
> XXX.
>
> My question is: is the Oracle problem with the general principle or  
> with the choice of XXX=Turtle?
>
> Ivan
>
> On Aug 9, 2011, at 17:36 , Souripriya Das wrote:
>
>> Oracle objects to reopening of ISSUE-57 for the following reason:
>> 	• Making support for Turtle a prerequisite to support for R2RML  
>> seems inappropriate.
>> 	• A conforming implementation for R2RML should be free to support  
>> one or more of the available syntaxes for RDF and expect that R2RML  
>> mapping specifications will be presented to it using such a syntax.  
>> (User may use available tools to do the translation to the  
>> appropriate syntax, if necessary. In practice, conforming  
>> implementations will provide support for popular syntaxes for RDF  
>> -- not necessarily limited to Turtle.)
>> 	• For tests specified in Turtle, an implementation should have the  
>> option of using available translators to translate the tests to a  
>> different syntax (e.g., N-Triple) and then run the tests. As long  
>> as the output of (say {?S ?P ?O}) query is as expected, the  
>> implementation is conformant to R2RML.
>> Thanks,
>> - Souri.
>>
>> Richard Cyganiak wrote:
>>> Hi Sören,
>>>
>>> On 25 Jul 2011, at 14:31, Sören Auer wrote:
>>>
>>>
>>>>> You can encode an R2RML mapping graph in any syntax you like,  
>>>>> and it's still a conforming R2RML mapping graph. (It may just  
>>>>> not be a conforming R2RML mapping *document*, which is a  
>>>>> different concept and a stronger claim.)
>>>>>
>>>>>
>>> ...
>>>
>>>
>>>> Ok, with the distinction between mapping document and mapping  
>>>> graphs it
>>>> might not be a contradiction, but this is quite confusing to the  
>>>> reader.
>>>> I would omit this distinction (and remove the term mapping document
>>>> altogether) and just write "A conforming R2RML processor MUST  
>>>> accept an
>>>> R2RML mapping graph serialized in Turtle syntax."
>>>>
>>>>
>>>
>>> Dropping the definition of R2RML mapping document and adding this  
>>> requirement would work in principle.
>>>
>>> Another option would be to define R2RML mapping document as *any*  
>>> document in *any* RDF syntax that can be parsed to an R2RML  
>>> mapping graph; and requiring that processors MUST be able to  
>>> process any such document that uses the Turtle syntax.
>>>
>>> However, I'm not so happy with either of these options. Factors to  
>>> consider here:
>>>
>>> First, in everyday work, people will have to deal with actual  
>>> R2RML documents (which would probably be Turtle). So from my POV  
>>> it makes sense to define a term that corresponds to this intuitive  
>>> notion in the spec.
>>>
>>> Second, given that Turtle support is required to ensure  
>>> interoperability, and given that our test suite consists of R2RML  
>>> mapping documents (in Turtle), I feel that it's important to  
>>> actually have a well-defined term that corresponds to this set of  
>>> interoperable exchange artefacts.
>>>
>>> How about the following compromise:
>>>
>>> 1. Rename "R2RML mapping document" to "R2RML mapping document in  
>>> Turtle" to reduce the confusion with the similar-looking term  
>>> "R2RML mapping graph"
>>>
>>> 2. Add a Note in an appropriate place that points out the  
>>> difference between "R2RML mapping document in Turtle" and "R2RML  
>>> mapping graph", perhaps along these lines:
>>>
>>> [[
>>> Note: The main exchange format for R2RML recommended in this  
>>> specification is the "R2RML mapping document in Turtle", and any  
>>> conforming R2RML processor MUST support it.
>>>
>>> However, some implementations may require exchange of R2RML  
>>> mappings in other ways, such as RDF/XML or through the SPARQL  
>>> protocol or through an RDF API. R2RML mappings are expressed in  
>>> RDF to enable this flexibility.
>>>
>>> This specification defines the notion of an abstract "R2RML  
>>> mapping graph" to enable other modes of exchanging RDF graphs  
>>> beside Turtle.
>>> ]]
>>>
>>> Would that solve the confusion that you pointed out?
>>>
>>> Best,
>>> Richard
>>>
>>>
>
>
> ----
> Ivan Herman, W3C Semantic Web Activity Lead
> Home: http://www.w3.org/People/Ivan/
> mobile: +31-641044153
> PGP Key: http://www.ivan-herman.net/pgpkey.html
> FOAF: http://www.ivan-herman.net/foaf.rdf
>
>
>
>
>
>
Received on Wednesday, 10 August 2011 06:57:27 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:00:26 UTC