R2RML Implementation Report

Draft Community Group Report

Latest editor's draft:
https://kg-construct.github.io/r2rml-implementation-report/
Editors:
David Chaves-Fraga (Universidad Politécnica de Madrid)
Pieter Heyvaert (Ghent University)
Participate:
GitHub kg-construct/r2rml-implementation-report
File a bug
Commit history
Pull requests

Abstract

This document reports on implementations of R2RML [R2RML] specification. The main purpose of this document is to show that each feature of R2RML has been covered or not by the implementations. To evaluate the coverage of an implementation's features, the R2RML Test Cases [R2RMLTC] are used as point of reference.

Status of This Document

This specification was published by the Knowledge Graph Construction Community Group. It is not a W3C Standard nor is it on the W3C Standards Track. Please note that under the W3C Community Contributor License Agreement (CLA) there is a limited opt-out and other conditions apply. Learn more about W3C Community and Business Groups.

GitHub Issues are preferred for discussion of this specification.

1. Introduction

The goal of this report is to verify the R2RML specification is implementable.

2. R2RML Processors

In the following the R2RML processors are listed that have been used in the R2RML Implementation report.
Name Version Database system Test date Tester Web page
Ontop v4.1.0 PostgreSQL 2021-03-11 Guohui Xiao https://ontop-vkg.org/
R2RML-F v1.2.4 MySQL 2021-05-24 Christophe Debruyne https://github.com/chrdebru/r2rml/
Morph-RDB v3.12.5 MySQL 2021-03-10 Jhon Toledo https://morph.oeg.fi.upm.es/tool/morph-rdb
Db2triples v3.2 MySQL 2021-04-11 Jhon Toledo https://github.com/antidot/db2triples
RMLMapper v4.10.0 PostgreSQL 2021-05-05 Dylan Van Assche https://github.com/rmlio/rmlmapper-java
Ontop v4.1.0 MySQL 2021-03-11 Guohui Xiao https://ontop-vkg.org/
Morph-RDB v3.12.5 PostgreSQL 2021-03-10 Jhon Toledo https://morph.oeg.fi.upm.es/tool/morph-rdb
RMLMapper v4.10.0 MySQL 2021-04-13 Dylan Van Assche https://github.com/rmlio/rmlmapper-java

3. Implementation Test Results

3.1 MySQL

The following table lists the results of the test cases when using an MySQL database.

Test Case R2RML-F Morph-RDB Db2triples Ontop RMLMapper
R2RMLTC0000 passed passed passed passed passed
R2RMLTC0001a passed passed failed passed passed
R2RMLTC0001b passed passed failed passed passed
R2RMLTC0002a passed passed failed passed passed
R2RMLTC0002b passed passed failed passed passed
R2RMLTC0002c passed failed passed passed passed
R2RMLTC0002d passed passed failed failed passed
R2RMLTC0002e passed failed passed passed passed
R2RMLTC0002f failed failed passed failed failed
R2RMLTC0002g passed failed passed passed passed
R2RMLTC0002h failed failed passed passed failed
R2RMLTC0002i passed passed failed passed passed
R2RMLTC0002j passed passed failed passed passed
R2RMLTC0003b passed failed failed failed passed
R2RMLTC0003c passed passed failed passed passed
R2RMLTC0004a passed passed failed passed passed
R2RMLTC0004b passed passed passed passed failed
R2RMLTC0005a passed failed failed passed passed
R2RMLTC0005b passed failed failed passed passed
R2RMLTC0006a passed failed failed passed passed
R2RMLTC0007a passed passed failed passed passed
R2RMLTC0007b passed failed failed passed passed
R2RMLTC0007c passed passed failed passed passed
R2RMLTC0007d passed passed failed passed passed
R2RMLTC0007e passed failed failed passed passed
R2RMLTC0007f passed failed failed passed passed
R2RMLTC0007g passed passed failed passed passed
R2RMLTC0007h passed passed passed passed passed
R2RMLTC0008a passed failed failed passed passed
R2RMLTC0008b passed passed failed passed passed
R2RMLTC0008c passed passed failed passed passed
R2RMLTC0009a passed passed failed passed passed
R2RMLTC0009b passed failed failed passed passed
R2RMLTC0009c passed passed failed failed passed
R2RMLTC0009d passed passed failed failed passed
R2RMLTC0010a passed passed failed passed passed
R2RMLTC0010b passed failed failed passed passed
R2RMLTC0010c passed failed failed passed passed
R2RMLTC0011a passed passed failed passed passed
R2RMLTC0011b passed passed failed passed passed
R2RMLTC0012a passed failed failed passed passed
R2RMLTC0012b passed passed failed passed passed
R2RMLTC0012c passed passed passed passed passed
R2RMLTC0012d passed passed passed passed passed
R2RMLTC0012e passed failed failed passed passed
R2RMLTC0013a passed failed failed passed passed
R2RMLTC0014a passed passed failed failed passed
R2RMLTC0014b passed failed failed failed passed
R2RMLTC0014c passed failed failed failed passed
R2RMLTC0014d passed passed failed passed passed
R2RMLTC0015a passed passed failed passed passed
R2RMLTC0015b failed failed passed passed passed
R2RMLTC0016a passed passed failed passed passed
R2RMLTC0016b passed failed failed passed passed
R2RMLTC0016c passed failed failed failed passed
R2RMLTC0016d passed failed failed passed passed
R2RMLTC0016e failed failed failed failed failed
R2RMLTC0018a passed failed failed failed failed
R2RMLTC0019a passed failed failed failed passed
R2RMLTC0019b passed failed passed passed failed
R2RMLTC0020a passed failed failed passed passed
R2RMLTC0020b passed failed passed passed failed

3.2 PostgreSQL

The following table lists the results of the test cases when using a PostgreSQL database.

Test Case Ontop RMLMapper Morph-RDB
R2RMLTC0000 passed passed passed
R2RMLTC0001a passed passed passed
R2RMLTC0001b passed passed passed
R2RMLTC0002a passed passed passed
R2RMLTC0002b passed passed passed
R2RMLTC0002c passed passed failed
R2RMLTC0002d passed passed passed
R2RMLTC0002e passed passed failed
R2RMLTC0002f passed failed failed
R2RMLTC0002g passed passed failed
R2RMLTC0002h passed passed failed
R2RMLTC0002i passed passed passed
R2RMLTC0002j passed passed passed
R2RMLTC0003b passed passed passed
R2RMLTC0003c passed passed passed
R2RMLTC0004a passed passed passed
R2RMLTC0004b passed failed passed
R2RMLTC0005a passed passed failed
R2RMLTC0005b passed passed failed
R2RMLTC0006a passed passed failed
R2RMLTC0007a passed passed passed
R2RMLTC0007b passed passed failed
R2RMLTC0007c passed passed passed
R2RMLTC0007d passed passed passed
R2RMLTC0007e passed passed failed
R2RMLTC0007f passed passed failed
R2RMLTC0007g passed passed passed
R2RMLTC0007h passed passed passed
R2RMLTC0008a passed passed failed
R2RMLTC0008b passed passed failed
R2RMLTC0008c passed passed failed
R2RMLTC0009a passed passed passed
R2RMLTC0009b passed passed failed
R2RMLTC0009c passed passed failed
R2RMLTC0009d failed passed failed
R2RMLTC0010a passed passed passed
R2RMLTC0010b passed passed failed
R2RMLTC0010c passed passed failed
R2RMLTC0011a passed passed passed
R2RMLTC0011b passed passed passed
R2RMLTC0012a passed passed failed
R2RMLTC0012b passed passed passed
R2RMLTC0012c passed passed passed
R2RMLTC0012d passed passed passed
R2RMLTC0012e passed passed failed
R2RMLTC0013a passed passed failed
R2RMLTC0014a passed passed passed
R2RMLTC0014b passed passed failed
R2RMLTC0014c passed passed failed
R2RMLTC0014d passed passed failed
R2RMLTC0015a passed passed passed
R2RMLTC0015b passed passed failed
R2RMLTC0016a passed passed passed
R2RMLTC0016b passed passed failed
R2RMLTC0016c passed passed failed
R2RMLTC0016d passed passed failed
R2RMLTC0016e failed failed failed
R2RMLTC0018a passed passed passed
R2RMLTC0019a failed passed failed
R2RMLTC0019b passed failed failed
R2RMLTC0020a passed passed failed
R2RMLTC0020b passed failed failed