- From: Holger Knublauch <holger@topquadrant.com>
 - Date: Mon, 18 Jul 2016 11:21:33 +1000
 - To: public-data-shapes-wg@w3.org
 
On 17/07/2016 5:17, Karen Coyle wrote:
> Holger, thanks for this. My question now is, would we still need:
>
> sh:PropertyConstraint
> sh:NodeConstraint
> sh:property
> ?
sh:NodeConstraint would disappear - it would be sh:Shape. The class 
hierarchy would look like
sh:Constraint
     sh:PropertyConstraint
     sh:Shape
and sh:property would be the parameter of a constraint component that 
takes sh:PropertyConstraints as its values. A sh:Shape would be a 
constraint that is satisfied if all its constraint components are 
satisfied (see sh:hasShape).
>
> If (as it appears) sh:property is always followed by a node with 
> sh:predicate, then those are redundant, and only sh:predicate is 
> necessary.
I cannot follow this train of thought. Along the same lines, all classes 
would be redundant as soon as they have a property that makes them 
identifiable. But sh:PropertyConstraint is very distinct from 
sh:NodeConstraint or sh:Shape. Among others it serves as a container to 
group together properties that only make sense there, e.g. sh:predicate, 
sh:path, sh:name, sh:description, sh:order, sh:group - none of which 
apply to shapes in general. I believe it will also be an intuitive 
concept for people coming from OWL or object-oriented backgrounds - 
basically a shape declares properties, and these properties have their 
own characteristics. In OWL this is similar to owl:Restrictions. The 
metamodel is IMHO cleaner this way.
Holger
>
> kc
>
> On 7/14/16 3:43 PM, Holger Knublauch wrote:
>> I have started a wiki page to collect examples of how the proposed
>> syntax change to merge sh:Shape and sh:NodeConstraint would look like:
>>
>>     https://www.w3.org/2014/data-shapes/wiki/ISSUE-133
>>
>> Please feel free to edit this page and/or discuss on the mailing list.
>>
>> Cheers,
>> Holger
>>
>>
>>
>
Received on Monday, 18 July 2016 01:22:05 UTC