Non-Turtle mapping documents (ISSUE-57) (was: Re: Review of R2RML working draft)

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?


Received on Monday, 25 July 2011 16:16:38 UTC