[data-shapes] reasoning: more of specialized inference constructs (#353)

VladimirAlexiev has just created a new issue for https://github.com/w3c/data-shapes:

== reasoning: more of specialized inference constructs ==
Continuing https://github.com/w3c/data-shapes/issues/351:

https://graphdb.ontotext.com/documentation/11.0/rules-optimisations.html#propchain gives another important example:
a 2-place `PropChain` instead of the general `owl:propertyChainAxiom`.
`owl:propertyChainAxiom` needs to unroll the `rdf:List` representing the chain, which makes it harder to implement.
Most chains found in practice are 2-place chains (and a chain of any length can be implemented as a sequence of 2-place chains), so let's consider
```
PropChain(?p,?q,?r). ?x ?p ?y. ?y ?q ?z => ?x ?r ?z
```
https://rawgit2.com/VladimirAlexiev/my/master/pubs/extending-owl2/index.html gives yet more variations on the topic, eg
`transitiveLeft` is like `transitiveOver`, but extends the chain on the left not the right, i.e.
```
transitiveLeft(?p,?q). ?x ?q ?y. ?y ?p ?z => ?x ?p ?z
transitiveOver(?p,?q). ?x ?p ?y. ?y ?q ?z => ?x ?p ?z
```

https://graphdb.ontotext.com/documentation/11.0/rules-optimisations.html#translating-owl-constructs-to-specialized-property-constructs 
shows how `owl:TransitiveOver` and `owl:propertyChainAxiom` can be converted to these specialized constructs.

Now, what does that mean for SHACL rules? I don't yet know, but it's in the vein of "special constructs can sometimes be implemented more efficiently than more generic or "standard" constructs".



Please view or discuss this issue at https://github.com/w3c/data-shapes/issues/353 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Wednesday, 9 April 2025 16:42:21 UTC