I am using Ontop as a R2RML processor. This issue explain the problem.
The termType for a rr:constant is incorrectly set to string instead of IRI when the R2RML mapping file uses a rr:Constant.
Section 7.1 of the R2RML specification (https://www.w3.org/TR/r2rml/#constant) says that "If the constant-valued term map is an object map, then its constant value must be an IRI or literal." So, if you specify rr:termType rr:IRI, then the value of rr:constant should be enclosed in < > to make it an IRI, otherwise, the value in quotation marks is treated as a literal of type xsd:string
Issue type: :bug: Bug
Description
I am using Ontop as a R2RML processor. This issue explain the problem. The termType for a rr:constant is incorrectly set to string instead of IRI when the R2RML mapping file uses a rr:Constant.
Section 7.1 of the R2RML specification (https://www.w3.org/TR/r2rml/#constant) says that "If the constant-valued term map is an object map, then its constant value must be an IRI or literal." So, if you specify rr:termType rr:IRI, then the value of rr:constant should be enclosed in
< >
to make it an IRI, otherwise, the value in quotation marks is treated as a literal of type xsd:stringSteps
Environment
NodeJS: v14.19 @rmlio/yarrrml-parser: v1.5.4
Actual behavior: [What actually happens]
The parser to R2RML returns:
That is processed like: Output triple:
Expected behavior:
The parser to R2RML should return:
That is would be processed like: Output triple: