Skip to content

reasoning: more specialized inference constructs #353

Open
@VladimirAlexiev

Description

@VladimirAlexiev

Continuing #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".

Metadata

Metadata

Assignees

No one assigned

    Labels

    InferencingFor SHACL 1.2 Inferencing spec.UCRUse Cases and Requirements

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions