Re: Comments and questions on SHACL

Hi Thomas,

thanks for your feedback.

On 4/01/2017 0:19, Thomas Francart wrote:
> Hello
>
>   * In the example shapes graph at
>     https://w3c.github.io/data-shapes/shacl/#NodeKindConstraintComponent,
>     "sh:nodeKind ex:IRI ;" should be "sh:nodeKind sh:IRI ;"
>

Good catch, fixed (on the "restructuring" branch)

>   * In https://w3c.github.io/data-shapes/shacl/#nonValidation, I would
>     find it useful to be able to express sh:order also on Shapes and
>     not only PropertyConstraints, in order to display an ordered list
>     of Shapes;
>

sh:order is open for such use cases and has no rdfs:domain. Among 
others, it is used for property constraints and property groups, yet 
there is no reason to not also use it for shapes. Being one of the 
informal properties of SHACL, there is no formal meaning attached to it 
anyway.

Out of interest: in what context do you need an order among shapes (e.g. 
couldn't they be arranged in an rdf:List)?

>   * I have a doubt about the best way to express the equivalent of a
>     "domain" contraint in SHACL, that is : "given a property :p, I
>     want to make sure that all X that are subjects of :p have class
>     C". Given that I have defined one Shape per Class in my ontology,
>     can I express this without redefining an extra shape and keeping
>     only one Shape per class ?
>

This can be expressed with a variation of Irene's suggestion from her 
parallel email:

ex:LimitPToInstancesOfC
     a sh:Shape ;
     sh:targetSubjectsOf ex:p ;
     sh:class ex:C .

Explanation: The shape applies to all subjects of triples that have ex:p 
as predicate. These become the focus nodes of the shape. The sh:class 
constraint states that all focus nodes must be instances of ex:C.

HTH
Holger

Received on Wednesday, 4 January 2017 05:24:13 UTC