Closed
Description
- The R2RML specification says the base IRI is added to a term if the term map's term type is rr:IRI and the IRI is relative. As far as I understand, in the current version of the RMLMapper, this behavior is implemented only with respect to subjects (Add Base IRI to objects with relative IRIs RMLio/rmlmapper-java#45), however, I think it can be useful also for named objects. What do you think should be the behavior of the processor if the ObjectMap is of type IRI and generates a relative IRI?
Example in YARRML
po:
- [ex:hasContactDetails, "ContactDetails-$(id)~iri"]
- I think the mapping language specification should clarify how to handle @base IRI in the RDF file containing the mappings. The @base IRI in the RML file is by default considered by the RMLMapper as the IRI to complement relative IRIs in generated triples, but this is not the intended usage of @base within an RDF file. Since the IRI defined for TripleMaps in the mapping file (IRI of the mappings) and the IRI to complement relative IRIs in triples generated using the mappings ("IRI of the data") are usually different, I think it can be useful to define a specific keyword in the mapping language allowing the user to define the IRI that the RML processor should use for the generated triples.
Example available here: Base IRI for RMLMapper RMLio/yarrrml-parser#30