Re: shapes-ISSUE-103 (Syntax simplifications): Can we further simplify the syntax of some constraint types? [SHACL Spec]

As far as I can tell, this involves turning sh:not, etc., into the sort of
things that can be implicitly conjoined in a constraint.

Can these be mixed with the kind of constraint bits that go in a sh:property
constraint?

sh:constraint [
  sh:not [ ... ] ;
  sh:valueClass ex:c ;
  sh:predicate ex:p
]

Can these then be put into a sh:property constraint?

sh:property [
  sh:predicate ex:foo ;
  sh:minCount 1 ;
  sh:not [ ... ]
]

peter



On 10/18/2015 05:09 PM, RDF Data Shapes Working Group Issue Tracker wrote:
> shapes-ISSUE-103 (Syntax simplifications): Can we further simplify the syntax of some constraint types? [SHACL Spec]
> 
> http://www.w3.org/2014/data-shapes/track/issues/103
> 
> Raised by: Holger Knublauch
> On product: SHACL Spec
> 
> Now that we have a more consistent framework for node constraints, I noticed that we could further improve the syntax for various other constraint types:
> 
> Currently:
> 
> ex:NotExampleShape
>     a sh:Shape ;
>     sh:constraint [
>         a sh:NotConstraint ;
>         sh:shape [
>             sh:property [
>                 sh:predicate ex:property ;
>                 sh:minCount 1 ;
>             ] ;
>         ]
>     ] .
> 
> 
> Suggested:
> 
> ex:NotExampleShape
>     a sh:Shape ;
>     sh:constraint [
>         sh:not [
>             sh:property [
>                 sh:predicate ex:property ;
>                 sh:minCount 1 ;
>             ] ;
>         ]
>     ] .
> 
> Similar for sh:and and sh:or.
> 
> Closed constraints could become:
> 
> ex:ClosedShapeExampleShape
>     a sh:Shape ;
>     sh:constraint [
>         sh:closed true ;
>         sh:ignoredProperties (sh:nodeShape rdf:type) ;
>     ] ;
> 
> (which would also help with Karen's recent issue because she could say sh:closed=false explicitly).
> 
> Which would only leave the 4 property pair constraints as ugly ducklings. We could decide to make them directional and then use sh:property, e.g.
> 
>     ex:EqualExampleShape
>         a sh:Shape ;
>         sh:property [
>             sh:predicate ex:firstName ;
>             sh:equals ex:givenName ;
>         ]
>     ] .
> 
> which would make perfect sense for sh:lessThan anyway.
> 
> 
> 

Received on Wednesday, 4 November 2015 15:20:33 UTC