You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
You're right, this is not what one would expect. It is a known issue in the RML language, to which YARRRML is parsed before actually executing the rules.
What happens is this: when you use just $(org_id) as value, it is seen as a reference to the org_id field in your CSV input and it just literally takes the values in that field. However, if you add #Organization, it is considered a template, because there is no field org_id#Organization in the CSV. And in the current version of RML, templates are IRI-encoded when the type is iri.
There is a dirty workaround using a function to assemble the IRI you want:
prefixes:
idlab-fn: "http://example.com/idlab/function/"
...
objects:
- function : idlab-fn:concatparameters:
- [idlab-fn:str, $(org_id)]
- [idlab-fn:otherStr, 'Organization']
- [idlab-fn:delimiter, '#']type: iri
Hi Guys!
I'm seeing a transformation problem, and I've dropped the problem down as simple as I can.
csv:
yarrrml1:
yarrrml2:
yarrrml1 results in:
<http://www.bancodegermoplasma.upm.es>
(correct!)yarrrml2 results in:
<nullhttp%3A%2F%2Fwww.bancodegermoplasma.upm.es#Organization>
(OH NO!)This happens also when the entity is in the subject position.
Not sure where in the process things go wrong, but... it's definitely wrong ;-)
Cheers!
The text was updated successfully, but these errors were encountered: