Closed w0xter closed 4 years ago
Hi @w0xter
Thanks for the issue. The output generated by the parser is valid RML. Is the issue then not caused by Morph-CSV?
hey @pheyvaer! Yes, we know that the RML generated is valid, and also is parseable by Morph-CSV as it follows the RML specification. What we would like to ask is if there is any reason why yarrrml does not transform the [rdf:type, class] POMs using the rr:class property of [R2]RML. This property is used by these OBDA engines for some steps such as reasoning or efficient query translation.
In summary, the "semantics" of one option or the other is exactly the same, but it's mostly a technical issue that we are having using the yarrrrml-parser over these engines, bc they need to have explicitly defined the rr:class property in the mapping (and we are solving it manually right now).
Hi @dachafra
The reason is that rr:class
is sugar syntax meant for humans and thus in our opinion does not belong in [R2]RML. However, what you can do automatically though is reading the generated RML rules and add the rr:class
based on a Predicate Object Map with rdf:type
as predicate. That would actually be the fastest I think :smile:
I completely agree with you about the syntactic sugar issue of the rr:class
;-)
Thanks for your rapid answers !
Issue type: :unicorn: Feature
Implement rr:class on rml subject maps
Also it will be very useful if you implement all of this into R2RML translation.
If we have a yarrrml mapping like this:
the result of yarrrml-parser is this:
But some OBDA engines like Morph-CSV requires to specify the subject rr:class to work properly, due to this I can't automate process like Virtual Knowledge Graph Generation using YARRRML mappings because I have to generate the RML mapping then stop the process, add the rr:class and finally trigger the OBDA engine. The final RML that I've use was this:
The modification is easy you only have to add the
rdf:type
of the yarrml TriplesMap to the corresponding RML subjectMap, in this case:s_0 rr:class ex:Person.
but broke the flow of my application and causes problems if we want to standardize the use of YARRRML instead of RML.Thaks for your time, you did a great work guys!!