- From: Eric Prud'hommeaux <eric@w3.org>
- Date: Mon, 31 May 2010 12:11:33 +0200
- To: Michael Hausenblas <michael.hausenblas@deri.org>
- Cc: RDB2RDF WG <public-rdb2rdf-wg@w3.org>
* Michael Hausenblas <michael.hausenblas@deri.org> [2010-05-31 10:12+0100] > > Eric, > > Welcome back, good to see you in action, again ;) > > > I'd like to get this into a forum for disucssion with rdb2rdf WG and > > the broader community. If folks here are interested in this material, > > I'll draw up a WG-publishable document. If not, I can make it available > > elsewhere. Either way, the feedback will be useful to us. > > I like the idea. How about an Editor's Draft re "Core R2RML" or "Abstract > Syntax for R2RML" or " R2RML Semantics" that capture this? > > I doubt that we'll have time tomorrow (completing UC, panel at SemTech, > etc.) but I put it on the agenda for next week, makes sense? Sure, but I'd like to hear from the others in the group if this is of interest to the group so I can move it elsewhere if necessary. What do you guys think? > Cheers, > Michael > > -- > Dr. Michael Hausenblas > 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 > > > > > From: Eric Prud'hommeaux <eric@w3.org> > > Organization: World Wide Web Consortium (W3C) - http://www.w3.org/ > > Date: Mon, 31 May 2010 08:45:52 +0200 > > To: RDB2RDF WG <public-rdb2rdf-wg@w3.org> > > Subject: documenting a default mapping > > Resent-From: RDB2RDF WG <public-rdb2rdf-wg@w3.org> > > Resent-Date: Mon, 31 May 2010 06:46:32 +0000 > > > > Noting Irina Astrova's "Rules for Mapping SQL Relational Databases to > > OWL Ontologies", I suspect it would be useful to write down a base > > case transformation from relations to RDF, analogous to D2R's minimal > > configuration for relations with single primary keys. Following is an > > algebra and an explaination for that: > > > > Suppose we want to RDF-ize a relation R: > > R:relation := (name:string, data:set(T:tuple))† > > T := set (A:attribute) > > attributes := (name:string, value:string, function:null|pk|reference|scalar) > > meaning attributes are SQL NULL, a primary key, a foreign key, or > > scalar values. (Yes, this minimal mapping precludes attributes from > > being both primary AND foreign keys.) > > > > RDFr(R) := set (RDFt(T) for each T in R.data) > > RDFt(T) := set (RDFl(S, A) for each scalar A in T) > > + set (RDFn(S, A) for each reference A in T) | S = nodemap(pk(T)) > > RDFl(S, A) := triple (S, predicatemap(A), literalmap(A)) > > RDFn(S, A) := triple (S, predicatemap(A), nodemap(A)) > > > > literalmap produces RDF literal with XSD datatypes with this type > > mapping TM: > > SQL XSD > > INT http://www.w3.org/TR/xmlschema-2/#integer > > FLOAT http://www.w3.org/TR/xmlschema-2/#float > > DATE http://www.w3.org/TR/xmlschema-2/#date > > TIME http://www.w3.org/TR/xmlschema-2/#time > > TIMESTAMP http://www.w3.org/TR/xmlschema-2/#dateTime > > CHAR http://www.w3.org/TR/xmlschema-2/#string > > VARCHAR http://www.w3.org/TR/xmlschema-2/#string > > STRING http://www.w3.org/TR/xmlschema-2/#string > > > > literalmap := rdfLiteral(A,value, TM(A.type)) > > > > nodemap and predicate map are lexical transformations producing IRIs, > > either hash > > nodemap(A):IRI = IRI(stemURI + "/" + R.name "/" A.name + "." + A.value + > > "#_") > > predicatemap(A):IRI = IRI(stemURI + "/" + R.name "#" A.name) > > or slash-compatible: > > nodemap(A):IRI = IRI(stemURI + "/" + R.name "/" A.name + "/" + A.value) > > predicatemap(A):IRI = IRI(stemURI + "/" + R.name "/" A.name) > > > > † A variant of this algebra with the traditional relation definition > > R:relation := (name:string, header:set(D:definition), > > data:multiset(T:tuple)) > > was implemented in scala > > > > https://dvcs.w3.org/hg/stemGraph/file/4ace3eb848d4/src/main/scala/Main.scala > > but the extra rigor ensuring consistent attributes provides more noise > > than value to this application. > > > > > > I'd like to get this into a forum for disucssion with rdb2rdf WG and > > the broader community. If folks here are interested in this material, > > I'll draw up a WG-publishable document. If not, I can make it available > > elsewhere. Either way, the feedback will be useful to us. > > -- > > -ericP > > > -- -ericP
Received on Monday, 31 May 2010 10:12:11 UTC