Why don't we have referencing subject/predicate/graph maps?

R2RML has “referencing object maps”. Instead of specifying directly how the object RDF term is generated, it references a “parent triples map”, whose logical table is joined to the current logical table via a join condition, and its subject map is used to generate the RDF term.

Why is this limited to object maps? Wouldn't this be equally useful (or useless) on subject maps, predicate maps and graph maps?

So for example, here's a triples map for a many-to-many table:

<#LinkMapStudentToCourse>
    rr:logicalTable [ rr:tableName "Enrolled" ];
    rr:subjectMap <#StudentSubjectMap>;
    rr:predicateObjectMap [
        rr:predicateMap [ rr:predicate rr:isEnrolled ];
        rr:objectMap [
            rr:parentTriplesMap <#CourseTriplesMap>;
            rr:join [ rr:child "c_id"; rr:parent "c_id" ];
        ];
    ].

To me it seems that there is no reason why this shouldn't be allowed too:

<#LinkMapStudentToCourse>
    rr:logicalTable [ rr:tableName "Enrolled" ];
    rr:subjectMap [
        rr:parentTriplesMap <#StudentTriplesMap>;
        rr:join [ rr:child "s_id"; rr:parent "s_id" ];
    ];
    rr:predicateObjectMap [
        rr:predicateMap [ rr:predicate rr:isEnrolled ];
        rr:objectMap [
            rr:parentTriplesMap <#CourseTriplesMap>;
            rr:join [ rr:child "c_id"; rr:parent "c_id" ];
        ];
    ].

Comments?

Richard

Received on Friday, 29 July 2011 18:37:27 UTC