Re: R2RML: classes of triples map only constants

Hi Ahmed,

Thanks for your comment on the R2RML Last Call draft.

The working group discussed your feedback. Our response is below. Could you please respond to this message and let us know if our response addresses your comment?

On 26 Sep 2011, at 03:28, Ahmed Bassiouni wrote:
> Something I have noticed: is that the RDF types of a triples map (the "classes"), can only be constants.
> 
> What happens in the scenario where you want a dynamic class, for example column-based. Take this scenario:
> 
> Table Employees:
> Emp_ID: 1234
> EMP_Name: "John Smith"
> EMP_Pay: "PartTimeEmployee"
> 
> You want to assign the triples map two classes: one is Employee (constant) and the other is PartTimeEmployee (derived from a column).

The Last Call draft already answers this question in a Note in Section 6.2:

[[
This property [rr:class] is merely a shortcut for specifying an rr:predicateObjectMap with predicate rdf:type and the rr:class IRI as a constant object. Mappings where the class IRI is not constant, but needs to be computed based on the contents of the database, can be achieved by defining such a rr:predicateObjectMap with a non-constant object.
]]
http://www.w3.org/TR/2011/WD-r2rml-20110920/#typing

We found that the wording of this note could be improved, and changed it to:

[[
Mappings where the class IRI is not constant, but needs to be computed based on the contents of the database, can be achieved by defining a predicate-object map with predicate rdf:type and a non-constant object map.
]]
http://www.w3.org/2001/sw/rdb2rdf/r2rml/#typing
(This is the latest Editor's Draft.)

> So I was wondering if you did not have this scenario in mind, or was the design intentional with a dynamic RDFtype assigned only through a separate predicate-object map??

We had this scenario in mind. That's why we added the note that explains how to handle this scenario.

Thanks again, and all the best,
Richard

Received on Monday, 7 November 2011 17:13:02 UTC