Re: shapes-ISSUE-110 (single-property constraints): relationship between sh:constraint and sh:property and sh:inverseProperty

On 11/5/2015 9:23, RDF Data Shapes Working Group Issue Tracker wrote:
> shapes-ISSUE-110 (single-property constraints): relationship between sh:constraint and sh:property and sh:inverseProperty
>
> http://www.w3.org/2014/data-shapes/track/issues/110
>
> Raised by: Peter Patel-Schneider
> On product:
>
> http://w3c.github.io/data-shapes/shacl/ states:
>
> 2.3 Constraints
>
> A shape defines a group of constraints. SHACL includes a collection of Core constraint types that are covered in the next section. Additional types of constraints can be added using the extension mechanism.
>
> Shapes can be linked to their constraints via the following properties:
>
> - sh:property links a shape with constraints about a given property of the focus node. These constraints are called property constraints.
>
> - sh:inverseProperty links a shape with constraints about a given property traversed in the inverse direction of the focus node. These constraints are called inverse property constraints.
>
> - sh:constraint link a shape with constraints that do not involve just a single dedicated property. SHACL includes property pair constraints and other constraints such as logical operators.
>
>
> Example 41 does not follow this division:
>
> Example 41: Shape definition using ex:LanguageConstraint
>
> ex:TemplateLanguageExampleShape
>  a sh:Shape ;
>  sh:scopeClass ex:Country ;
>  sh:constraint [
>   a ex:LanguageConstraint ;
>   ex:predicate ex:germanLabel ;
>   ex:lang "de" ;
>  ] ;
>  sh:constraint [
>   a ex:LanguageConstraint ;
>   ex:predicate ex:englishLabel ;
>   ex:lang "en" ;
>  ] .
>
> Either Example 41 should be changed or the division between sh:constraint, sh:property, and sh:inverseProperty should be changed.

The example is technically correct - note that it uses ex:predicate and 
not sh:predicate, i.e. there is no relation between 
ex:LanguageConstraint and sh:PropertyConstraint. I picked that example 
because it can illustrate the point of subclassing 
sh:PropertyConstraint, as done in example 42.

Holger

Received on Wednesday, 4 November 2015 23:30:50 UTC