ISSUE-54: Simpler constant-valued term maps
constant-term-map
Simpler constant-valued term maps
- State:
- CLOSED
- Product:
- R2RML
- Raised by:
- Richard Cyganiak
- Opened on:
- 2011-07-18
- Description:
- “Constant-valued term maps†are a very simple construct that is used quite frequent in R2RML. I expect them to account for nearly 50% of all term maps.
http://www.w3.org/2001/sw/rdb2rdf/r2rml/#constant
There are several problems with the current design for constant-valued term maps in R2RML:
1. It's rather verbose. Something so simple shouldn't require several triples and nested nodes.
2. It's inconsistent with other kinds of term maps (column- and template-valued term maps)
3. While a column- or template-based term maps can be re-used in multiple position (as subject, predicate, object, and graph name), this is not possible with constant-valued term maps
4. R2RML defines four different properties for a job that could be done with one property
There are four different kinds of constant-valued term maps, depending on where in the mapping they occur: constant-valued subject maps, predicate maps, object maps, and graph maps.
[] rr:subjectMap [ rr:subject <constant> ].
[] rr:predicateMap [ rr:predicate <constant> ].
[] rr:objectMap [ rr:object <constant> ].
[] rr:graphMap [ rr:graph <constant> ].
It would be simpler if they would all use the same property for expressing the constant part:
[] rr:subjectMap [ rr:constant <constant> ].
[] rr:predicateMap [ rr:constant <constant> ].
[] rr:objectMap [ rr:constant <constant> ].
[] rr:graphMap [ rr:constant <constant> ].
This would simplify spec and implementation, and would be more consistent with the design of other kinds of term maps (column- and template-valued term maps), which use the same property (such as rr:column, rr:template, rr:termType and so on) regardless of whether the term map is a subject map, predicate map etc. This would also make them more re-usable: The same constant-valued term map could now be used both as subject and as object map, as is already possible with column- and template-valued term maps.
Furthermore, adopting this change would free up the terms rr:subject, rr:predicate, rr:object and rr:graph for another, more beneficial use: They could be used as syntactic sugar for quickly establishing constant-valued term maps. So, we could simply write
[] rr:predicate foaf:name.
and it would be syntactic sugar for
[] rr:predicateMap [ rr:constant foaf:name ].
And rr:subject, rr:object and rr:graph would be defined in the same way as shortcuts for establishing a constant-valued subject map, object map or graph map respectively.
Given that constant-valued term maps are so common (especially as predicate maps and graph maps), this would nicely help reduce the verbosity of R2RML. - Related Actions Items:
- No related actions
- Related emails:
- Re: Please review: syntactic sugar and polishing (ISSUE-54, ISSUE-56, ISSUE-59, ISSUE-60) (from dmcneil@revelytix.com on 2011-08-30)
- Re: Please review: syntactic sugar and polishing (ISSUE-54, ISSUE-56, ISSUE-59, ISSUE-60) (from richard@cyganiak.de on 2011-08-30)
- Re: Please review: syntactic sugar and polishing (ISSUE-54, ISSUE-56, ISSUE-59, ISSUE-60) (from boris.villazon@deri.org on 2011-08-30)
- Re: Please review: syntactic sugar and polishing (ISSUE-54, ISSUE-56, ISSUE-59, ISSUE-60) (from dmcneil@revelytix.com on 2011-08-30)
- Re: Please review: syntactic sugar and polishing (ISSUE-54, ISSUE-56, ISSUE-59, ISSUE-60) (from dmcneil@revelytix.com on 2011-08-29)
- Re: Please review: syntactic sugar and polishing (ISSUE-54, ISSUE-56, ISSUE-59, ISSUE-60) (from richard@cyganiak.de on 2011-08-29)
- Re: Please review: syntactic sugar and polishing (ISSUE-54, ISSUE-56, ISSUE-59, ISSUE-60) (from dmcneil@revelytix.com on 2011-08-29)
- Please review: syntactic sugar and polishing (ISSUE-54, ISSUE-56, ISSUE-59, ISSUE-60) (from richard@cyganiak.de on 2011-08-27)
- Re: Status of the R2RML document and going last call (from michael.hausenblas@deri.org on 2011-08-02)
- Status of the R2RML document and going last call (from richard@cyganiak.de on 2011-08-02)
- Re: RDB2RDF WG agenda for 2011-08-02 meeting 1600 UTC (from marcelo.arenas1@gmail.com on 2011-08-02)
- Re: RDB2RDF WG agenda for 2011-08-02 meeting 1600 UTC (from ashok.malhotra@oracle.com on 2011-08-02)
- RDB2RDF WG agenda for 2011-08-02 meeting 1600 UTC (from michael.hausenblas@deri.org on 2011-07-30)
- Re: Many-to-Many table in R2RML (from juanfederico@gmail.com on 2011-07-29)
- Re: Many-to-Many table in R2RML (from richard@cyganiak.de on 2011-07-29)
- Re: RDB2RDF WG agenda for 2011-07-19 meeting 1600 UTC (from juanfederico@gmail.com on 2011-07-19)
- Re: RDB2RDF WG agenda for 2011-07-19 meeting 1600 UTC (from seema.sundara@oracle.com on 2011-07-19)
- Re: RDB2RDF WG agenda for 2011-07-19 meeting 1600 UTC (from marcelo.arenas1@gmail.com on 2011-07-19)
- RDB2RDF WG agenda for 2011-07-19 meeting 1600 UTC (from michael.hausenblas@deri.org on 2011-07-19)
- ISSUE-54 (constant-term-map): Simpler constant-valued term maps [R2RML] (from sysbot+tracker@w3.org on 2011-07-18)
Related notes:
Done:
http://www.w3.org/2001/sw/rdb2rdf/r2rml/#dfn-constant-valued-term-map
http://www.w3.org/2001/sw/rdb2rdf/r2rml/#dfn-constant-shortcut-property
The possible use of the constant shortcut properties is also pointed out throughout the text wherever they are allowed. Most examples are updated to use rr:predicate instead of rr:predicateMap.
As per WG decision [1]:
[[
RESOLUTION: Close ISSUES 54, 56, 60; they are addressed in the latest draft.
]]
[1] http://www.w3.org/2011/09/06-RDB2RDF-minutes.html#item02Michael Hausenblas, 6 Sep 2011, 17:24:46
Display change log