R2RML (latest Working Draft, latest Editor's Draft) is W3C's upcoming standard database-to-RDF mapping language.
This should probably be done after #74 (W3C Direct Mapping implementation) as that one lays important groundwork (natural datatype mapping, xsd:base64Binary, %-encoding in URI patterns, running the W3C test suite). DM is done!
Implementing R2RML in D2RQ would likely require two phases. First, add missing features such as support for Named Graphs to the D2RQ engine, and expose them in a simple way in the D2RQ mapping language. Second, implement R2RML as alternative mapping language using the same engine.
The first step can be broken down into a number of features/issues:
Finally, implementing R2RML itself will require a new R2RMLMapParser alongside the current MapParser, and new classes parallel to those in the map package. This is likely going to be easier after introducing the Mapping API (#28).
Then, lots and lots of testing and working out the details…
@luiseufrasio is working on this in his own fork, which we will periodically pull into the r2rml branch of the main repo.
The develop branch contains a working and well-tested R2RML implementation. Limitations:
There are two additional tests in the R2RML test suite that we don't pass, for reasons documented in D2RQTestSuite.java. Basically I believe the W3C test suite is in error in both cases.
I'm closing this issue as R2RML is now mostly supported in develop and we have specific issues to cover the missing bits.