W3C home > Mailing lists > Public > public-rdf-shapes@w3.org > September 2016

Re: on property constraints vs focus node constraints

From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
Date: Mon, 26 Sep 2016 22:38:52 -0700
To: Holger Knublauch <holger@topquadrant.com>, public-rdf-shapes@w3.org
Message-ID: <c7058c04-3bd4-9db0-39ec-98ccc89bc7cf@gmail.com>


On 09/26/2016 09:52 PM, Holger Knublauch wrote:
> 
> 
> On 27/09/2016 4:36, Peter F. Patel-Schneider wrote:
>> What happens here?
>>
>> Shapes graph
>>
>> s:s1 rdf:type sh:Shape ;
>>    sh:targetClass ex:foo ;
>>    sh:shape s:s2 ;
>>    sh:property s:s2 .
>>
>> s:s2 sh:predicate ex:p ;
>>   sh:class ex:c .
>>
>> Is s:s2 a property constraint?  Is it a focus node constraint?
> 
> It's both, and an implementation would treat them as both, depending on the
> context. Can you point at a section of the spec where this would cause issues?
> I do remember that older versions of the spec had a problem with this
> ambiguity, but I can't find those sections anymore.
> 
> Thanks,
> Holger

Yes.  Anyone with knowledge of the spec should be able to also easily find
parts of the spec that cause problems here.


Here is one such place:

"Property constraints specify conditions that must be met with respect to
nodes that can be reached from the focus node either by directly following a
given property (specified using sh:predicate) or a given property path
(specified using sh:path)."

Consider the following modification of the above constraint:

 s:s1 rdf:type sh:Shape ;
    sh:targetClass ex:foo ;
    sh:property [ sh:predicate ex:q ; sh:shape s:s2 ] ;
    sh:property s:s2 .

 s:s2 sh:predicate ex:p ;
   sh:class ex:c .


The data graph

ex:i rdf:type ex:foo ;
   ex:q [ rdf:type ex:c ; ex:p [ ] ] ;
   ex:p [ rdf:type ex:c ] .

does not validate against this shape in two ways:
1/ it does not have type ex:c
2/ it has a ex:q/ex:p value that does not have type ex:c



This is the same problem as before.

Peter F. Patel-Schneider
Nuance Communications
Received on Tuesday, 27 September 2016 05:39:24 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:02:44 UTC