Re: Proposal to close ISSUE-58 based on current draft

On 7/29/2015 10:01, Eric Prud'hommeaux wrote:
> * Holger Knublauch <holger@topquadrant.com> [2015-07-29 09:58+1000]
>> I have no strong opinion on this one and have never used closed
>> shapes. My feeling was that sh:nodeShape is more a "system-level"
>> property and not usually part of the "real" data. I agree it may
>> sometimes make sense to even control rdf:type triples.
>>
>> Would be good to have feedback from the ShEx folks.
> ShEx closed shapes apply to all triples, without exempting any
> predicates.

Did ShEx include something like sh:nodeShape at all?

The problem is as follows. Assume you have a shape

ex:MyShape
     a sh:Shape
     sh:property [
         sh:predicate ex:myProperty ;
         sh:minCount 1 ;
     ] ;
     sh:constraint sh:ClosedShape .

Now you have a situation where nobody is permitted to use this shape via 
sh:nodeShape, e.g.

ex:MyInstance
     ex:myProperty "value" ;
     sh:nodeShape ex:MyShape .

would cause a violation. This means that in practice the vast majority 
of shapes will need to enumerate sh:nodeShape explicitly

ex:MyShape
     a sh:Shape
     sh:property [
         sh:predicate ex:myProperty ;
         sh:minCount 1 ;
     ] ;
     sh:property [
         sh:predicate sh:nodeShape ;
     ] ;
     sh:constraint sh:ClosedShape .

which doesn't look very user-friendly. More importantly though this is 
even wrong because it lifts sh:nodeShape up into a "relevant property" 
for that shape, i.e. it would show up on instance forms etc, while in 
reality it's just a system property.

A middle-ground solution might be to make such exemptions an argument to 
sh:ClosedShapeConstraint:

ex:MyShape
     a sh:Shape
     sh:property [
         sh:predicate ex:myProperty ;
         sh:minCount 1 ;
     ] ;
     sh:constraint [
         a sh:ClosedShapeConstraint ;
         sh:ignoredProperties ( sh:nodeShape rdf:type ) ;
     ] .

where sh:ignoredProperties would be an rdf:List of properties that are 
allowed in addition to the declared sh:property predicates.

Holger



>
>
>> It does seem to indicate that different people may have different
>> variations of "Closed shapes".
>>
>> Holger
>>
>>
>> On 7/29/2015 8:22, Peter F. Patel-Schneider wrote:
>>> I am not in favour of exempting certain properties from closed shape
>>> considerations.  If rdf:type and sh:nodeShape are exempted, why not
>>> rdfs:label, for example?
>>>
>>> peter
>>>
>>>
>>> On 07/27/2015 05:11 PM, Holger Knublauch wrote:
>>>> ISSUE-58 [1] is about how closed shapes shall be defined. I propose to close
>>>> this ticket by adopting the currently drafted (simple) syntax and semantics:
>>>>
>>>> http://w3c.github.io/data-shapes/shacl/#ClosedShape
>>>> http://w3c.github.io/data-shapes/shacl-ref/#ClosedShapeConstraint
>>>>
>>>> Holger
>>>>
>>>> [1] http://www.w3.org/2014/data-shapes/track/issues/58
>>>>
>>

Received on Wednesday, 29 July 2015 02:57:54 UTC