When using rml:template to construct an IRI, explicitly indicated with rml:termType, the triples in question are missing from the output, except when they result in a well-formed HTTP URI.
Minimal example:
:mapping a rml:TriplesMap ;
rml:logicalSource [
# JSONPath root iterator over { "key": "value" }
] ;
rml:subjectMap [ rml:termType rml:BlankNode ] ;
rml:predicateObjectMap [
rml:predicate <urn:example:http> ;
rml:objectMap [
rml:termType rml:IRI ;
rml:template "http://example.org/{key}"
]
], [
rml:predicate <urn:example:file> ;
rml:objectMap [
rml:termType rml:IRI ;
rml:template "file:///example/{key}"
]
], [
rml:predicate <urn:example:urn> ;
rml:objectMap [
rml:termType rml:IRI ;
rml:template "urn:example:{key}"
]
], [
rml:predicate <urn:example:relative> ;
rml:objectMap [
rml:termType rml:IRI ;
rml:template "./{key}"
]
] .
Output:
_:Blank1 <urn:example:http> <http://example.org/value> .
When using
rml:templateto construct an IRI, explicitly indicated withrml:termType, the triples in question are missing from the output, except when they result in a well-formed HTTP URI.Minimal example:
Output: