Closed nleguillarme closed 2 years ago
If I understand well, I think this is a problem with the engine you are using to generate the actual RDF graph, as a predicate is always an IRI, and cannot be a string.
Hi @dachafra, thank you. I've created a ticket in the issue tracker of SDM-RDFizer (which I see you are also involved in).
your welcome ;-) yes, I'm one of the authors as well haha
@nleguillarme btw, we've released a new [R2]RML tool that you may want to give a try as well ;-) https://github.com/oeg-upm/morph-kgc
Nice ! I just tested Morph-KGC very quickly (and it works great !). How does it compare with SDM-RDFizer ?
It will mainly depend on your own use case of course. Based on our experiments we will say that SDM-RDFizer works pretty well when you have a lot of joins in the mapping rules, while when there is a mix of joins, self-join, normal predicate-object-maps, and very large data sources, would be better to use morph-kgc. Additionally, SDM-RDfizer has more configurations that you can try and use (big data sources or not, order the mappings or not, remove duplicates or not), while morph-kgc mainly works at the mapping level, creating the partitions.
For more info read: http://www.semantic-web-journal.net/system/files/swj2924.pdf and https://arxiv.org/pdf/2201.09694.pdf
At first glance, it seems that morph-kgc could better suit my needs, but I'll try both. Well, it looks like both mapeathor and morph-kgc/SDM-RDFizer are mature enough for me to replace my old YARRRMLParser-RMLMapper pipeline. Thank you for the excellent work 👍🏻
Thank you for using it! 😄
Hi, to generate my RML rules, I need to read a predicate IRI from the source file.
In the Predicate column of the Predicate_Object tab, I wrote {interaction_type_uri}, where interaction_type_uri is the name of a column in my csv file containing the IRI of a relation (e.g. _http://purl.obolibrary.org/obo/RO_0002470_).
This creates a rml:reference to "interaction_type_uri" in the RML rules. However, in the resulting triples file, the predicate is interpreted as a string (between quotes) and not a valid IRI (between <>).
Is is possible to read a predicate IRI from the source file, and if so, how can I do that ?