Implement R2RML #84

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

Comments

Projects
None yet
2 participants
@cygri
Member

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…

@cygri

This comment has been minimized.

Show comment
Hide comment
@cygri

cygri Apr 5, 2012

Member

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

Member

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

This comment has been minimized.

Show comment
Hide comment
@cygri

cygri Dec 19, 2012

Member

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.

Member

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

@cygri

This comment has been minimized.

Show comment
Hide comment
@cygri

cygri Dec 19, 2012

Member

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

Member

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