shapes-ISSUE-135 (and/or syntactic sugar): Should sh:and/sh:or/sh:not/sh:valueShape support constraints too? [SHACL - Core]

shapes-ISSUE-135 (and/or syntactic sugar): Should sh:and/sh:or/sh:not/sh:valueShape support constraints too? [SHACL - Core]

http://www.w3.org/2014/data-shapes/track/issues/135

Raised by: Holger Knublauch
On product: SHACL - Core

Currently, the values of sh:and and sh:or must be lists of sh:Shapes. This sometimes creates a verbose syntax:

ex:MyShape
    a sh:Shape ;
    sh:constraint [
        sh:and (
            [ sh:constraint [ sh:class ex:Person ] ]
            [ sh:constraint [ sh:class ex:Patient ] ]
        )
    ] .

I suggest to generalize this so that the list items may also be instances of sh:Constraint. The syntax would then become

ex:MyShape
    a sh:Shape ;
    sh:constraint [
        sh:and (
            [ sh:class ex:Person ]
            [ sh:class ex:Patient ]
        )
    ] .

Similar changes to sh:not and possibly other places. The interpretation would be that the system "auto-boxes" the constraint with 

[ sh:constraint [ ... ] ]

We may want to evaluate the same solution for sh:valueShape too.

Received on Thursday, 10 March 2016 22:30:33 UTC