graphic with four colored squares

Mapping Relational Data to RDF (RDB2RDF)

W3C Semantic Web Activity

Status of the W3C RDB2RDF work in November 2010

Michael Hausenblas (DERI), RDB2RDF Working Group co-chair

Why is this important?

RDB2RDF symbolic

Where can this be used?

How does this work? (I)

RDB2RDF principle

How does this work? (II)

RDB2RDF principle

Mappings overview

Direct Mapping

RDB2RDF direct mapping

RDB2RDF Mapping Language (R2RML)

RDB2RDF Mapping Language (R2RML)

R2RML overview

R2RML overview

R2RML example

RDB (DEPT table)

Schema

Name Datatype Key Constraints
deptno INTEGER UNIQUE
dname VARCHAR(30)
loc VARCHAR(100)

Data

deptno dname loc
10 APPSERVER NEW YORK

R2RML Mapping

<#ExampleTriplesMap>
 a rr:TriplesMapClass;
 rr:SQLquery "SELECT ('Department' || deptno) 
              AS deptId, deptno, dname, loc 
              FROM DEPT";

 rr:subjectMap [ rr:column "deptId"; 
                 rr:termtype "BlankNode";
                 rr:class exa:dept; 
                 rr:graph exa:DeptGraph;
                 rr:inverseExpression 
                 "{alias.}deptno = 
                  substr({alias.}deptId,length('Department')+1)"
               ];

 rr:predicateObjectMap
 [ 
   rr:predicateMap [ rr:predicate dept:deptno ]; 
   rr:objectMap    [ rr:column "deptno"; 
                     rr:datatype xsd:positiveInteger 
                   ]
 ];

 rr:predicateObjectMap 
 [ 
   rr:predicateMap [ rr:predicate dept:name ]; 
   rr:objectMap    [ rr:column "dname" ]
 ];

 rr:predicateObjectMap 
 [ 
   rr:predicateMap [ rr:predicate dept:location ]; 
   rr:objectMap    [ rr:column "loc" ]
 ];
.

Resulting RDF graph

R2RML example output

Where are we?

Next steps ...

Resources

Acknowledgements

Kudos to current and former members of the RDB2RDF Working Group:

Marcelo Arenas, Sören Auer, Samir Batla, Alexandre Bertails, Richard Cyganiak, Daniel Miranker, Souripriya Das, Alexander de Leon, Orri Erling, Ahmed Ezzat, Lee Feigenbaum, Angela Fogarolli, Enrico Franconi, Howard Greenblatt, Wolfgang Halb, Harry Halpin, Patrick Hayes, Nuno Lopes, Li Ma, Ashok Malhotra, Ivan Mikhailov, Eric Prud'hommeaux, Juan Sequeda, Seema Sundara, Ben Szekely, Edward Thomas, and Boris Villazon-Terrazas.

... as well as individuals that provided feedback and support:

Dan Connolly, Dan Brickley, Ivan Herman, Simon Reinhardt, Thomas Roessler.