Re: implementation announcement

On Fri, 23 Sep 2011 08:55:18 +0100
Michael Hausenblas <michael.hausenblas@deri.org> wrote:

> Good to hear from you again ;)

I've not had much time to hack on Semantic Web stuff for the last six
months or so.

> This is great stuff, indeed! When I saw it a week ago or so on
> Twitter I added it to our implementations page [1] - please let me
> know if you want to have details changed, there ...
> [1] http://www.w3.org/2001/sw/rdb2rdf/wiki/Implementations

RDF::RDB2RDF::Simple doesn't implement Direct Mapping. It does the same
sort of thing as R2RML, but uses a nested array/object structure (i.e.
JSON-like) to express the mapping, rather than expressing it in RDF.

For example, this R2RML mapping:

<#TriplesMap1>
    rr:logicalTable [ rr:tableName "EMP" ];
    rr:subjectMap [
        rr:template "http://data.example.com/employee/{EMPNO}";
        rr:class ex:Employee;
    ];
    rr:predicateObjectMap [
        rr:predicate ex:name;
        rr:objectMap [ rr:column "ENAME" ];
    ].

Would be expressed as this:

{
  "EMP": {
    "about": "http://data.example.com/employee/{EMPNO}",
    "typeof": "http://example.com/Employee",
    "columns": {
      "ENAME": { "property": "http://example.com/name" }
    }
  }
}

There's a fuller example here:
https://metacpan.org/module/RDF::RDB2RDF::Simple#MAPPINGS

The one major feature that RDF::RDB2RDF::Simple offers which R2RML does
not, is it allows you to have columns in your database which store RDF
as a text blob, and add that RDF to the output graph. There's an
example of such a database here:

http://api.metacpan.org/source/TOBYINK/RDF-RDB2RDF-0.002/t/library.sqlite

-- 
Toby A Inkster
<mailto:mail@tobyinkster.co.uk>
<http://tobyinkster.co.uk>

Received on Saturday, 24 September 2011 10:31:33 UTC