Thanks! The "uncle" and "fromBuyer" are good examples, but for me these are shortcuts on the data definition level. With SHACL we can create "query templates" to find or ensure the existence of these shortcuts.
If I understand your workflow correctly you choose to convert everything into RDF before doing any analysis or query, is that right?
In cultural heritage (which is the domain I am familiar with) I work on a similar thing: detection of translation. A bibliographical metadata schema contains property to denote if a book is translated or not, but it is rarely used. However we can detect translation from other properties: is there a translator named, the original title of the book is given, original language is given, a contributors' list contains phrases such as "translated by" etc. (see https://translationpatterns.substack.com/p/translation-related-fields-in-a-marc21). I tried to express all this with SHACL with so far mixed results, because the "shape" became quite complex, and we should assign different probability weights for these atomic conditions (to make sure distinguish translated books from e.g. bilingual conference proceedings or literary anthologies that share several properties with translated books).
Nice. Do you plan to use SHACL for inference rules as well?
Good idea, but I haven't thought about that so far. Could you tell me a good use case for that?
Yes
https://kvistgaard.github.io/slides/rules/cdlondon-2025/
Thanks! The "uncle" and "fromBuyer" are good examples, but for me these are shortcuts on the data definition level. With SHACL we can create "query templates" to find or ensure the existence of these shortcuts.
If I understand your workflow correctly you choose to convert everything into RDF before doing any analysis or query, is that right?
In cultural heritage (which is the domain I am familiar with) I work on a similar thing: detection of translation. A bibliographical metadata schema contains property to denote if a book is translated or not, but it is rarely used. However we can detect translation from other properties: is there a translator named, the original title of the book is given, original language is given, a contributors' list contains phrases such as "translated by" etc. (see https://translationpatterns.substack.com/p/translation-related-fields-in-a-marc21). I tried to express all this with SHACL with so far mixed results, because the "shape" became quite complex, and we should assign different probability weights for these atomic conditions (to make sure distinguish translated books from e.g. bilingual conference proceedings or literary anthologies that share several properties with translated books).