W3C home > Mailing lists > Public > public-rdb2rdf-comments@w3.org > November 2010

Formalism to generate a URI as an object?

From: Ivan Herman <ivan@w3.org>
Date: Mon, 1 Nov 2010 16:48:41 +0100
Cc: public-rdb2rdf-comments@w3.org
To: Richard Cyganiak <richard.cyganiak@deri.org>, Souri Das <Souripriya.Das@oracle.com>, Seema Sundara <seema.sundara@oracle.com>
Message-Id: <9C3889E7-1319-4710-8078-BEA7DBC93C61@w3.org>
I am not sure whether this is a comment pointing at an issue in the document, or whether it is my own misunderstanding, in which case this is a question rather than a comment...

Looking at the example A.2.2, the mapping to a logical table maps the original table to cells that include a URI using the NTriple '<...>' syntax. E.g., it maps the 'job' column to the jobTypeURI column with the cell becoming <xyz.com/emp/job/CLERK> in the example. Then the mapping specification includes

rr:propertyObjectMap [ rr:RDFTypeProperty emp:jobtype; rr:column "jobTypeURI" ]

which means that the final triple will use  xyz.com/emp/job/CLERK as URI for an RDF class.

What bothers me is that there seems to be a conceptual mixture of a particular syntax of RDF URI Resources (namely NTRiples) that encloses the URI in the '<' and '>' characters, and the fact that rr:RDFTypeProperty automatically maps on an RDF Resource whose URI is xyz.com/emp/job/CLERK. This should not be the case.

Although the example does not have that, what if I wanted to generate the extra triple

<xyz.com/emp/7369> ivan:bla <xyz.com/emp/job/CLERK> . 

My reading of the spec is that what I would have to do is 

rr:propertyObjectMap [
    a rr:IRIMap ;
    rr:property ivan:bla ;
    rr:column "jobTypeURI" 

But that is then confusing: the value of the jobTypeURI cell is the string '<xyz.com/emp/job/CLERK>', so the system has to know that it has to strip the '<' and '>' characters to produce the Resource with the URI 'xyz.com/emp/job/CLERK'. Or is it so that the system always and automatically understands the syntax of the form '<xyz.com/emp/job/CLERK>' to be a string for an RDF URI Resource? What if I want to store, in my graph, the <xyz.com/emp/job/CLERK> as a Literal? What is then the usage and the reason of having rr:IRIMap?

I think the correct way is if the logical table mapping does

   ('xyz.com/emp/job/'|| job) AS jobTypeURI

the system has enough information both for the rr:IRIMap class and the rr:RDFTypeProperty provides enough information for the system to know that a URI resource should be created. The '<' and the '>' characters should not be used.

I have the same issue with the way blank node ID's are explicitly created using the '_:' syntax. Again, if one uses the rr:BlankNodeMap then the system knows that the identifier in the cell must be used to generate a blank node. Mixing the NTRiple syntax into the mapping is unnecessary for my taste. 


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 Monday, 1 November 2010 15:47:50 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 19:45:16 UTC