Re: ISSUE-133: Wiki page with syntax examples

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