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

On 11/5/2015 1:19, Peter F. Patel-Schneider wrote:
> 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
> ]

In the above snippet, sh:valueClass and sh:predicate are already 
unsupported at sh:constraint. (sh:valueClass has also been renamed to 
sh:class).

>
> Can these then be put into a sh:property constraint?
>
> sh:property [
>    sh:predicate ex:foo ;
>    sh:minCount 1 ;
>    sh:not [ ... ]
> ]

In that snippet, sh:not can not appear at sh:property. sh:not would only 
be meaningful as part of sh:NodeConstraint, which is the value type of 
sh:constraint.

If this answers your question, please consider updating your vote on the 
proposals page.

Holger


>
> 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 23:00:52 UTC