RML Implementation Report

Unofficial Draft

Latest editor's draft:
https://rmlio.github.io/rml-implementation-report/
Editors:
(Ghent University - IDLab, imec)
Anastasia Dimou (Ghent University - IDLab, imec)
David Chaves-Fraga (Universidad Politécnica de Madrid)
Participate:
GitHub rmlio/rml-implementation-report
File a bug
Commit history
Pull requests

Abstract

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

Status of This Document

This document is draft of a potential specification. It has no official standing of any kind and does not represent the support or consensus of any standards organization.

1. Introduction

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

2. RML Processors

In the following the RML processors are listed that have been used in the RML Implementation report.
Name Version Test date Contact Web page
RML-Mapper 4.3.2 2019-02-27 Anastasia Dimou https://github.com/rmlio/rmlmapper-java
CARML 0.2.3 2019-02-21 Pano Maria https://github.com/carml/carml
RocketRML 1.0.6 2019-06-28 Umutcan Simsek https://github.com/semantifyit/RocketRML
SDM-RDFizer 3.2 2019-08-04 Maria-Esther Vidal https://github.com/SDM-TIB/SDM-RDFizer
RMLStreamer 1.1.0 2019-07-29 Anastasia Dimou https://github.com/RMLio/RMLStreamer

3. Implementation Test Results

The following Table lists the results of the RML implementation test.
Test Case CARML RMLMapper RocketRML SDM-RDFizer RMLStreamer
RMLTC0000-CSV passed passed passed passed passed
RMLTC0000-JSON passed passed passed passed passed
RMLTC0000-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0000-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0000-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0000-XML passed passed passed inapplicable passed
RMLTC0001A-CSV passed passed passed passed passed
RMLTC0001A-JSON passed passed passed passed passed
RMLTC0001A-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0001A-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0001A-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0001A-XML passed passed passed inapplicable passed
RMLTC0001B-CSV passed passed failed passed passed
RMLTC0001B-JSON passed passed failed passed passed
RMLTC0001B-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0001B-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0001B-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0001B-XML passed passed failed inapplicable passed
RMLTC0002A-CSV passed passed passed passed passed
RMLTC0002A-JSON passed passed passed passed passed
RMLTC0002A-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0002A-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0002A-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0002A-XML passed passed passed inapplicable passed
RMLTC0002B-CSV passed passed failed passed passed
RMLTC0002B-JSON passed passed failed passed passed
RMLTC0002B-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0002B-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0002B-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0002B-XML passed passed failed inapplicable passed
RMLTC0002C-CSV passed passed passed passed passed
RMLTC0002C-JSON passed passed passed passed passed
RMLTC0002C-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0002C-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0002C-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0002C-XML passed passed passed inapplicable passed
RMLTC0002D-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0002D-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0002D-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0002E-CSV passed passed failed passed passed
RMLTC0002E-JSON passed passed failed passed passed
RMLTC0002E-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0002E-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0002E-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0002E-XML passed passed failed inapplicable passed
RMLTC0002F-MYSQL inapplicable failed inapplicable passed inapplicable
RMLTC0002F-POSTGRESQL inapplicable failed inapplicable passed inapplicable
RMLTC0002F-SQLSERVER inapplicable failed inapplicable passed inapplicable
RMLTC0002G-JSON failed passed failed passed passed
RMLTC0002G-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0002G-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0002G-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0002H-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0002H-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0002H-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0002I-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0002I-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0002I-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0002J-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0002J-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0002J-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0003A-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0003A-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0003A-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0003B-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0003B-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0003B-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0003C-CSV passed passed passed passed passed
RMLTC0003C-JSON passed passed passed passed passed
RMLTC0003C-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0003C-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0003C-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0003C-XML passed passed passed inapplicable passed
RMLTC0004A-CSV passed passed passed passed passed
RMLTC0004A-JSON passed passed passed passed passed
RMLTC0004A-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0004A-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0004A-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0004A-XML passed passed passed inapplicable passed
RMLTC0004B-CSV passed passed passed passed passed
RMLTC0004B-JSON passed passed passed passed passed
RMLTC0004B-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0004B-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0004B-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0004B-XML passed passed passed inapplicable passed
RMLTC0005A-CSV passed passed passed passed passed
RMLTC0005A-JSON passed passed passed passed passed
RMLTC0005A-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0005A-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0005A-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0005A-XML passed passed passed inapplicable passed
RMLTC0005B-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0005B-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0005B-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0006A-CSV passed passed failed passed passed
RMLTC0006A-JSON passed passed failed passed passed
RMLTC0006A-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0006A-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0006A-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0006A-XML passed passed failed inapplicable passed
RMLTC0007A-CSV passed passed passed passed passed
RMLTC0007A-JSON passed passed passed passed passed
RMLTC0007A-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0007A-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0007A-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0007A-XML passed passed passed inapplicable passed
RMLTC0007B-CSV passed passed failed passed passed
RMLTC0007B-JSON passed passed failed passed passed
RMLTC0007B-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0007B-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0007B-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0007B-XML passed passed failed inapplicable passed
RMLTC0007C-CSV passed passed passed passed passed
RMLTC0007C-JSON passed passed passed passed passed
RMLTC0007C-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0007C-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0007C-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0007C-XML passed passed passed inapplicable passed
RMLTC0007D-CSV passed passed passed passed passed
RMLTC0007D-JSON passed passed passed passed passed
RMLTC0007D-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0007D-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0007D-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0007D-XML passed passed passed inapplicable passed
RMLTC0007E-CSV passed passed failed passed passed
RMLTC0007E-JSON passed passed failed passed passed
RMLTC0007E-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0007E-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0007E-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0007E-XML passed passed failed inapplicable passed
RMLTC0007F-CSV passed passed failed passed passed
RMLTC0007F-JSON passed passed failed passed passed
RMLTC0007F-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0007F-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0007F-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0007F-XML passed passed failed inapplicable passed
RMLTC0007G-CSV failed passed passed passed passed
RMLTC0007G-JSON failed passed passed passed passed
RMLTC0007G-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0007G-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0007G-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0007G-XML failed passed passed inapplicable passed
RMLTC0007H-CSV failed passed passed passed passed
RMLTC0007H-JSON failed passed passed passed passed
RMLTC0007H-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0007H-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0007H-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0007H-XML failed passed passed inapplicable passed
RMLTC0008A-CSV passed passed failed passed passed
RMLTC0008A-JSON passed passed failed passed passed
RMLTC0008A-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0008A-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0008A-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0008A-XML passed passed failed inapplicable passed
RMLTC0008B-CSV passed passed passed passed passed
RMLTC0008B-JSON passed passed passed passed passed
RMLTC0008B-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0008B-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0008B-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0008B-XML passed passed passed inapplicable passed
RMLTC0008C-CSV passed passed passed passed passed
RMLTC0008C-JSON passed passed passed passed passed
RMLTC0008C-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0008C-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0008C-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0008C-XML passed passed passed inapplicable passed
RMLTC0009A-CSV passed passed passed passed passed
RMLTC0009A-JSON passed passed passed passed passed
RMLTC0009A-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0009A-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0009A-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0009A-XML passed passed passed inapplicable passed
RMLTC0009B-CSV passed passed failed passed passed
RMLTC0009B-JSON passed passed failed passed passed
RMLTC0009B-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0009B-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0009B-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0009B-XML passed passed failed inapplicable passed
RMLTC0009C-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0009C-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0009C-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0009D-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0009D-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0009D-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0010A-CSV passed passed passed passed passed
RMLTC0010A-JSON failed passed passed passed passed
RMLTC0010A-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0010A-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0010A-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0010B-CSV failed passed passed passed passed
RMLTC0010B-JSON failed passed passed passed passed
RMLTC0010B-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0010B-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0010B-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0010B-XML failed passed passed inapplicable passed
RMLTC0010C-CSV failed passed passed passed failed
RMLTC0010C-JSON failed passed passed passed failed
RMLTC0010C-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0010C-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0010C-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0010C-XML failed passed passed inapplicable failed
RMLTC0011A-MYSQL inapplicable failed inapplicable passed inapplicable
RMLTC0011A-POSTGRESQL inapplicable failed inapplicable passed inapplicable
RMLTC0011A-SQLSERVER inapplicable failed inapplicable passed inapplicable
RMLTC0011B-CSV passed passed passed passed passed
RMLTC0011B-JSON passed passed passed passed passed
RMLTC0011B-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0011B-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0011B-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0011B-XML passed passed passed inapplicable passed
RMLTC0012A-CSV passed passed failed passed passed
RMLTC0012A-JSON passed passed failed passed passed
RMLTC0012A-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0012A-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0012A-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0012A-XML passed passed failed inapplicable passed
RMLTC0012B-CSV passed passed failed passed passed
RMLTC0012B-JSON passed passed failed passed passed
RMLTC0012B-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0012B-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0012B-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0012B-XML passed passed failed inapplicable passed
RMLTC0012C-CSV failed passed failed passed passed
RMLTC0012C-JSON failed passed failed passed passed
RMLTC0012C-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0012C-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0012C-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0012C-XML failed passed failed inapplicable passed
RMLTC0012D-CSV failed passed failed passed passed
RMLTC0012D-JSON failed passed failed passed passed
RMLTC0012D-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0012D-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0012D-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0012D-XML failed passed failed inapplicable passed
RMLTC0012E-MYSQL inapplicable failed inapplicable passed inapplicable
RMLTC0012E-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0012E-SQLSERVER inapplicable failed inapplicable passed inapplicable
RMLTC0013A-JSON failed passed passed passed passed
RMLTC0013A-MYSQL inapplicable failed inapplicable passed inapplicable
RMLTC0013A-POSTGRESQL inapplicable failed inapplicable passed inapplicable
RMLTC0013A-SQLSERVER inapplicable failed inapplicable passed inapplicable
RMLTC0014D-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0014D-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0014D-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0015A-CSV passed passed passed passed passed
RMLTC0015A-JSON passed passed passed passed passed
RMLTC0015A-MYSQL inapplicable failed inapplicable passed inapplicable
RMLTC0015A-POSTGRESQL inapplicable failed inapplicable passed inapplicable
RMLTC0015A-SQLSERVER inapplicable failed inapplicable passed inapplicable
RMLTC0015A-XML passed passed passed inapplicable passed
RMLTC0015B-CSV passed passed failed passed passed
RMLTC0015B-JSON passed passed failed passed passed
RMLTC0015B-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0015B-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0015B-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0015B-XML passed passed failed inapplicable passed
RMLTC0016A-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0016A-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0016A-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0016B-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0016B-POSTGRESQL inapplicable failed inapplicable passed inapplicable
RMLTC0016B-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0016C-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0016C-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0016C-SQLSERVER inapplicable failed inapplicable passed inapplicable
RMLTC0016D-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0016D-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0016D-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0016E-MYSQL inapplicable failed inapplicable passed inapplicable
RMLTC0016E-POSTGRESQL inapplicable failed inapplicable passed inapplicable
RMLTC0016E-SQLSERVER inapplicable failed inapplicable passed inapplicable
RMLTC0018A-MYSQL inapplicable failed inapplicable passed inapplicable
RMLTC0018A-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0018A-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0019A-CSV failed passed passed passed passed
RMLTC0019A-JSON failed passed passed passed passed
RMLTC0019A-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0019A-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0019A-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0019A-XML failed passed passed inapplicable passed
RMLTC0019B-CSV failed passed passed passed passed
RMLTC0019B-JSON failed passed passed passed passed
RMLTC0019B-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0019B-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0019B-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0019B-XML failed passed passed inapplicable passed
RMLTC0020A-CSV failed passed passed passed passed
RMLTC0020A-JSON failed passed passed passed passed
RMLTC0020A-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0020A-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0020A-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0020A-XML failed passed passed inapplicable passed
RMLTC0020B-CSV failed passed passed passed passed
RMLTC0020B-JSON failed passed passed passed passed
RMLTC0020B-MYSQL inapplicable passed inapplicable passed inapplicable
RMLTC0020B-POSTGRESQL inapplicable passed inapplicable passed inapplicable
RMLTC0020B-SQLSERVER inapplicable passed inapplicable passed inapplicable
RMLTC0020B-XML failed passed passed inapplicable passed