- From: Phil Harvey via GitHub <sysbot+gh@w3.org>
- Date: Wed, 05 Feb 2025 11:38:36 +0000
- To: public-shacl@w3.org
philharveyonline has just created a new issue for https://github.com/w3c/data-shapes: == Use rules to conveniently infer a tree of triples == We're building a system that uses SHACL-AF rules to infer triples. We need a convenient and efficient way to infer a **tree** of triples. In @HolgerKnublauch 's database example from https://github.com/w3c/data-shapes/wiki/Proposal-on-Node-Expressions-for-SHACL-Core-1.2, an `edg:tableCount` property is inferred. But we need to infer something analogous to this: ``` edg:Database1 edg:hasStatistics edg:Statisics1 . edg:Statisics1 # a new IRI, probably generated from a Function using a random UUID edg:tableCount "2" ; # inferred from the count of tables edg:userCount "42" . # inferred from the count of users ``` We don't want to use **SPARQL** Node Expressions, for the reasons mentioned in the wiki page above and in #215. We could achieve this using **multiple runs** of the SHACL Processor, firstly to generate `edg:Database1 edg:hasStatistics edg:Statisics1`, and secondly to generate the `edg:Statisics1 xxx yyy` triples. But that's too slow for our requirements. So to make this tree of triples we need a way to use the result of a Node Expression (the one that generates `egs:Statistics1` above) in multiple inferred triples, as the object of some and the subject of others. We may invent our own new rule types and/or expression types to achieve this, but think it may be a common enough requirement to include in the Node Expression spec. (PS I don't have permission to edit issue labels in this repo, but request that this issue to be labelled "Inferencing and "UCR" please.) Please view or discuss this issue at https://github.com/w3c/data-shapes/issues/227 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Wednesday, 5 February 2025 11:38:37 UTC