Skip to content

Shall the work on Inferencing start earlier? #215

Open
@HolgerKnublauch

Description

The plan outlined in the first WG meeting was to first bring the Core and SPARQL specs to conclusion before starting the other documents.

However, arguably there is no strong reason to not at least start the work on Inferencing, perhaps through a dedicated Task force, assuming this does not block or hinder the deliverables from the first round.

First, there seems to be a LOT of interest in this topic, so I assume there will be volunteers.

But more importantly, I believe there is a huge potential in expanding the expressiveness of SHACL Core if the Inferencing work leads to the standardization of SHACL-AF Node Expressions: https://w3c.github.io/shacl/shacl-af/#node-expressions

In a nutshell, Node Expressions start at a focus node and then compute a stream of value nodes. There are various kinds of such node expressions but it's essentially an extension point of its own.

IF Node Expressions would become a deliverable alongside the Core Spec (maybe even as a chapter in core) the following new use cases would become possible:

  1. Dynamically computed targets, see also consider Extra SHACL features #199 (comment)
ex:SomeShape
    a sh:NodeShape ;
    sh:targetExpression [
        sh:if [ ... ] ;
        sh:then [ ... ] ;
        sh:else [ ... ] ;
    ]

(This would also remove the need to add SPARQL-based targets to SHACL-SPARQL because sh:select is one of the standard node expression types).

  1. Dynamically computed constraint parameters, see https://datashapes.org/dynamic.html#example-state

  2. Generalizing property path expressions as a subset of node expressions. This is possible because path expressions also just start at a focus node and then produce a stream of value nodes. This would mean that the sh:path of a property shape may make much richer computations.

So depending on the output of the inferencing work, SHACL Core and SHACL SPARQL may look quite different.

Metadata

Assignees

No one assigned

    Labels

    CoreFor SHACL 1.2 Core specInferencingFor SHACL 1.2 Inferencing spec.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions