W3C

RDB2RDF Implementation Report

W3C Working Group Note 14 August 2012

This version:
http://www.w3.org/TR/2012/NOTE-rdb2rdf-implementations-20120814/
Latest version:
http://www.w3.org/TR/rdb2rdf-implementations/
Editors:
Boris Villazón-Terrazas, Universidad Politécnica de Madrid
Michael Hausenblas, DERI, NUI Galway

Abstract

This document reports on implementations of the Direct Mapping [DM] specification, and R2RML [R2RML] specification. The main purpose of this document is to show that each feature of the Direct Mapping and R2RML has been implemented by demonstrating interoperable implementations of each feature. To evaluate the coverage of an implementation's features, the RDB2RDF Test Cases [RDB2RDF TCs] are used as a point of reference.

Status of this Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.

This document is a Working Group Note, produced by the RDB2RDF Working Group. This implementation report was prepared to support the transition of the Working Group's main deliverables (the R2RML and the Direct Mapping specifications) to Proposed Recommendation status. The report contains a snapshot of the implementation status of these specifications at the time of publication, 14 August 2012. The Working Group does not expect to update this document.

Comments on this document should be sent to [email protected], a mailing list with a public archive.

Publication as a Working Group Note does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.

Table of Contents

  1. Introduction
  2. RDB2RDF Processors
    2.1 DM Processors
    2.2 R2RML Processors
  3. Implementation Test Results
  4. References
  5. Acknowledgements

1 Introduction

The goal of this report is to verify if the R2RML and DirectMapping specifications are implementable. Regarding the PR entrance criteria we note that at least two implementations have been demonstrated that pass all tests in the test suite.

To evaluate the coverage of an implementation's features, the RDB2RDF Test Cases [RDB2RDF TCs] are used as a point of reference.

2 RDB2RDF Processors

In the following the RDB2RDF processors are listed that have been used in the RDB2RDF Implementation Report. We differentiate between DM processors that implement the Direct Mapping, and R2RML processors that implement R2RML Mapping Language.

2.1 DM Processors

Table 1.: DM Processors.
Name Contact Home
D2RQ Richard Cyganiak http://d2rq.org/
RDF-RDB2RDF Toby Inkster https://metacpan.org/release/RDF-RDB2RDF
SWObjects dm-materialize Eric Prud'hommeaux http://swobjects.svn.sourceforge.net/
XSPARQL Nuno Lopes http://xsparql.deri.org
ultrawrap Juan Sequeda http://www.capsenta.com/
db2triples Julien Homo and Laurent Mazuel https://github.com/antidot/db2triples

2.2 R2RML Processors

Table 2.: R2RML Processors.
Name Contact Home
OpenLink Virtuoso Ivan Mikhailov http://virtuoso.openlinksw.com
RDF-RDB2RDF Toby Inkster https://metacpan.org/release/RDF-RDB2RDF
XSPARQL Nuno Lopes http://xsparql.deri.org
morph Jean-Paul Calbimonte https://github.com/jpcik/morph
ultrawrap Juan Sequeda http://www.capsenta.com/
db2triples Julien Homo and Laurent Mazuel https://github.com/antidot/db2triples

3. Implementation Test Results

The following Table 3. lists the results of the Direct Mapping implementation test.

Table 3.: Direct Mapping implementation test.
Test Case D2RQ
HSQLDB
XSPARQL
MySQL
XSPARQL
PostgreSQL
ultrawrap
Postgresql
SWObjects dm-materialize
MySQL
SWObjects dm-materialize
Oracle
SWObjects dm-materialize
PostgreSQL
RDF-RDB2RDF
PostgreSQL
RDF-RDB2RDF
SQLite
db2triples
MySQL
db2triples
PostgreSQL
DirectGraphTC0000 passed passed passed passed passed passed passed passed passed passed passed
DirectGraphTC0001 passed passed passed passed passed passed passed passed passed passed passed
DirectGraphTC0002 passed passed passed passed passed passed passed passed passed passed passed
DirectGraphTC0003 passed passed passed passed passed passed passed passed passed passed passed
DirectGraphTC0004 passed passed passed passed passed passed passed passed passed passed passed
DirectGraphTC0005 failed passed passed passed passed passed passed passed passed passed passed
DirectGraphTC0006 passed passed passed passed passed passed passed passed passed passed passed
DirectGraphTC0007 passed passed passed passed passed passed passed passed passed passed passed
DirectGraphTC0008 passed passed passed passed passed passed passed passed passed passed passed
DirectGraphTC0009 passed passed passed passed passed passed passed passed failed passed passed
DirectGraphTC0010 passed passed passed passed passed passed passed passed failed passed passed
DirectGraphTC0011 passed passed passed passed passed passed passed passed failed passed passed
DirectGraphTC0012 failed passed passed passed passed passed passed passed passed passed passed
DirectGraphTC0013 passed passed passed passed passed passed passed passed passed passed passed
DirectGraphTC0014 passed passed passed passed passed passed passed cannotTell failed passed passed
DirectGraphTC0015 passed passed passed passed passed passed passed passed passed passed passed
DirectGraphTC0016 passed passed passed passed passed passed passed failed passed passed passed
DirectGraphTC0017 passed passed passed passed passed passed passed passed failed passed passed
DirectGraphTC0018 passed passed passed passed passed passed passed passed passed passed passed
DirectGraphTC0021 passed passed passed passed passed passed passed passed untested passed passed
DirectGraphTC0022 passed passed passed passed passed passed passed cannotTell untested passed passed
DirectGraphTC0023 passed passed passed passed passed passed passed passed untested passed passed
DirectGraphTC0024 passed passed passed passed passed passed passed passed untested passed passed
DirectGraphTC0025 passed passed passed passed passed passed passed cannotTell untested passed passed

The following Table 4. lists the results of the R2RML implementation test.

Table 4.: R2RML implementation test.
Test Case XSPARQL
MySQL
XSPARQL
PostgreSQL
morph
HSQLDB
ultrawrap
Oracle
ultrawrap
Postgresql
OpenLink Virtuoso
OpenLinkVirtuoso
RDF-RDB2RDF
PostgreSQL
RDF-RDB2RDF
SQLite
db2triples
MySQL
db2triples
PostgreSQL
R2RMLTC0000 passed passed passed passed passed passed passed passed passed passed
R2RMLTC0001a passed passed passed passed passed passed passed passed passed passed
R2RMLTC0001b passed passed passed passed passed passed passed passed passed passed
R2RMLTC0002a passed passed passed passed passed passed passed passed passed passed
R2RMLTC0002b passed passed passed passed passed passed passed passed passed passed
R2RMLTC0002c passed passed passed passed passed passed passed passed passed passed
R2RMLTC0002d passed passed passed passed passed cannotTell passed passed passed passed
R2RMLTC0002e passed passed passed passed passed passed passed passed passed passed
R2RMLTC0002f passed passed passed passed passed cannotTell passed passed failed passed
R2RMLTC0002g passed passed passed passed passed passed passed passed passed passed
R2RMLTC0002h passed passed passed passed passed passed passed passed passed passed
R2RMLTC0002i passed passed passed passed passed passed passed passed passed passed
R2RMLTC0002j passed passed passed passed passed passed passed passed passed passed
R2RMLTC0003a passed passed passed passed passed cannotTell passed passed passed passed
R2RMLTC0003b passed passed passed passed passed passed passed passed passed passed
R2RMLTC0003c passed passed passed passed passed passed passed passed passed passed
R2RMLTC0004a passed passed passed passed passed passed passed passed passed passed
R2RMLTC0004b passed passed passed passed passed cannotTell passed passed passed passed
R2RMLTC0005a passed passed passed passed passed passed passed passed passed passed
R2RMLTC0005b passed passed failed passed passed passed passed passed passed passed
R2RMLTC0006a passed passed passed passed passed cannotTell passed passed passed passed
R2RMLTC0007a passed passed passed passed passed passed passed passed passed passed
R2RMLTC0007b passed passed passed passed passed cannotTell passed passed passed passed
R2RMLTC0007c passed passed passed passed passed passed passed passed passed passed
R2RMLTC0007d passed passed passed passed passed passed passed passed passed passed
R2RMLTC0007e passed passed passed passed passed cannotTell passed passed passed passed
R2RMLTC0007f passed passed passed passed passed cannotTell passed passed passed passed
R2RMLTC0007g passed passed passed passed passed passed passed passed passed passed
R2RMLTC0007h passed passed passed passed passed passed passed passed passed passed
R2RMLTC0008a passed passed passed passed passed cannotTell passed passed passed passed
R2RMLTC0008b passed passed passed passed passed passed failed failed passed passed
R2RMLTC0008c passed passed passed passed passed passed passed passed passed passed
R2RMLTC0009a passed passed passed passed passed passed failed failed passed passed
R2RMLTC0009b passed passed passed passed passed passed failed failed passed passed
R2RMLTC0009c passed passed passed passed passed cannotTell passed passed passed passed
R2RMLTC0009d passed passed passed passed passed passed passed failed passed passed
R2RMLTC0010a passed passed passed passed passed cannotTell passed passed passed passed
R2RMLTC0010b passed passed passed passed passed cannotTell passed passed passed passed
R2RMLTC0010c passed passed passed passed passed cannotTell failed failed passed passed
R2RMLTC0011a passed passed passed passed passed cannotTell passed passed passed passed
R2RMLTC0011b passed passed passed passed passed passed passed passed passed passed
R2RMLTC0012a passed passed failed passed passed cannotTell passed passed passed passed
R2RMLTC0012b passed passed passed passed passed cannotTell passed passed passed passed
R2RMLTC0012c passed passed passed passed passed cannotTell passed passed passed passed
R2RMLTC0012d passed passed failed passed passed passed passed passed passed passed
R2RMLTC0012e passed passed failed passed passed cannotTell passed passed passed passed
R2RMLTC0013a passed passed passed passed passed passed passed passed passed passed
R2RMLTC0014a passed passed passed passed passed cannotTell passed passed passed passed
R2RMLTC0014b passed passed passed passed passed cannotTell failed failed passed passed
R2RMLTC0014c passed passed passed passed passed cannotTell failed failed passed passed
R2RMLTC0014d passed passed passed passed passed cannotTell passed passed passed passed
R2RMLTC0015a passed passed passed passed passed cannotTell passed passed passed passed
R2RMLTC0015b passed passed passed passed passed passed passed passed passed passed
R2RMLTC0016a passed passed passed passed passed cannotTell failed passed passed passed
R2RMLTC0016b passed passed passed passed passed cannotTell failed passed passed passed
R2RMLTC0016c passed passed failed passed passed cannotTell failed passed passed passed
R2RMLTC0016d passed passed failed passed passed cannotTell failed passed passed passed
R2RMLTC0016e passed passed failed passed passed cannotTell failed passed passed passed
R2RMLTC0018a passed passed passed passed passed passed passed passed passed passed
R2RMLTC0019a passed passed passed passed passed passed passed passed passed passed
R2RMLTC0019b passed passed failed passed passed cannotTell passed passed passed passed
R2RMLTC0020a passed passed passed passed passed passed passed passed passed passed

4. References

[DM]
A Direct Mapping of Relational Data to RDF, Alexandre Bertails, Marcelo Arenas, Eric Prud'hommeaux, Juan Sequeda, Editors. World Wide Web Consortium, 14 August 2012. This version is http://www.w3.org/TR/2012/PR-rdb-direct-mapping-20120814/. The latest version is http://www.w3.org/TR/rdb-direct-mapping/.
[R2RML]
R2RML: RDB to RDF Mapping Language, Souripriya Das, Seema Sundara, Richard Cyganiak, Editors. World Wide Web Consortium, 14 August 2012. This version is http://www.w3.org/TR/2012/PR-r2rml-20120814/. The latest version is http://www.w3.org/TR/r2rml/.
[RDB2RDF TC]
R2RML and Direct Mapping Test Cases, Boris Villazón-Terrazas, Michael Hausenblas, Editors. World Wide Web Consortium, 14 August 2012. This version is http://www.w3.org/TR/2012/NOTE-rdb2rdf-test-cases-20120814/. The latest version is http://www.w3.org/TR/rdb2rdf-test-cases/.

5. Acknowledgements

The Editors would like to give special thanks to the following contributors: Freddy Priyatna tested the rdb2rdf-th software and provide comments to the Test Cases document. Juan Sequeda, Nuno Lopes, Richard Cyganiak, Eric Prud'hommeaux, Toby Inkster, and Ivan Mikhailov provided useful comments to the Test Cases.

In addition, the Editors gratefully acknowledge contributions from: Marcelo Arenas, Sören Auer, Samir Batla, Alexander de Leon, Orri Erling, Lee Feigenbaum, Enrico Franconi, Howard Greenblatt, Wolfgang Halb, Harry Halpin, Michael Hausenblas, Patrick Hayes, Ivan Herman, Nophadol Jekjantuk, Li Ma, Nan Ma, Ashok Malhotra, Ivan Mikhailov, Percy Enrique Rivera Salas, Juan Sequeda, Ben Szekely, Ted Thibodeau, and Edward Thomas.