Implement R2RML #84

cygri opened this Issue Aug 17, 2011 · 3 comments


None yet

2 participants

cygri commented Aug 17, 2011

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:

  • Replace N3 with Turtle (#49)
  • Class maps based on a SQL query (#109)
  • Support for Named Graphs (#110)
  • d2rq:propertyMap as a full-featured alternative to d2rq:dynamicProperty (#111)
  • URI template style URI patterns (#71) Not really critical for implementing R2RML
  • Configuration file for datatypes (#39) Not really critical for implementing R2RML
  • xsd:base64Binary encoder/decoder, to be used per default on all binary types (#112)
  • Natural datatype mapping (#113)
  • d2rq:inverseExpression as companion to d2rq:sqlExpression (if we want to support rr:inverseExpression) (we don't)
  • Implement a Data Validator (see #185)
  • Pass W3C's R2RML test suite (#136)

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…

This was referenced Mar 3, 2012
@luiseufrasio luiseufrasio was assigned Apr 2, 2012
cygri commented Apr 5, 2012

@luiseufrasio is working on this in his own fork, which we will periodically pull into the r2rml branch of the main repo.

cygri commented Dec 19, 2012

The develop branch contains a working and well-tested R2RML implementation. Limitations:

  • No support for Named Graphs (#110)
  • No R2RML Data Validator (#185)

There are two additional tests in the R2RML test suite that we don't pass, for reasons documented in Basically I believe the W3C test suite is in error in both cases.

cygri commented Dec 19, 2012

I'm closing this issue as R2RML is now mostly supported in develop and we have specific issues to cover the missing bits.

@cygri cygri closed this Dec 19, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment