Skip to content
This repository

Implement R2RML #84

Closed
cygri opened this Issue August 17, 2011 · 3 comments

2 participants

Richard Cyganiak Luis Eufrasio
Richard Cyganiak
Owner

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…

Richard Cyganiak
Owner
cygri commented April 05, 2012

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

Richard Cyganiak
Owner

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 D2RQTestSuite.java. Basically I believe the W3C test suite is in error in both cases.

Richard Cyganiak
Owner

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

Richard Cyganiak cygri closed this December 19, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.