- From: Iovka Boneva <iovka.boneva@univ-lille1.fr>
- Date: Mon, 14 Sep 2015 09:42:29 +0200
- To: "Peter F. Patel-Schneider" <pfpschneider@gmail.com>
- CC: RDF Data Shapes Working Group <public-data-shapes-wg@w3.org>, Simon Steyskal <simon.steyskal@wu.ac.at>
- Message-ID: <55F67A65.70301@univ-lille1.fr>
Thank you for your answers.
Here is another question.
Quoting the current version of the spec:
// open quote
In the following example, the property |ex:parent| must have exactly two
values,
and at least one of them needs to be female.
Example 22: Shape with sh:valueShape constraint
ex:QualifiedValueShapeExampleShape
a sh:Shape ;
sh:property [
sh:predicate ex:parent ;
sh:minCount 2 ;
sh:maxCount 2 ;
sh:qualifiedValueShape [
a sh:Shape ; # Optional
sh:property [
sh:predicate ex:gender ;
sh:hasValue ex:female ;
]
] ;
sh:qualifiedMinCount 1 ;
] .
ex:QualifiedValueShapeExampleValidResource
ex:parent ex:John ;
ex:parent ex:Jane .
ex:John
ex:gender ex:male .
ex:Jane
ex:gender ex:female .
// close quote
Now my question is: how to specify that there are exactly two parents,
exactly one is female and exactly one is male.
Thanks in advance,
Iovka
Le 09/09/2015 14:56, Peter F. Patel-Schneider a écrit :
> These all correspond to my understanding of the current state of SHACL.
>
> Closure is with respect to properties that explicitly appear in top-level
> property constraints. You can fiddle with this by adding in vacuous
> constraints for the other properties or by using sh:ignoredProperties.
> See http://w3c.github.io/data-shapes/shacl/#ClosedShape for more information.
>
> peter
>
> On 09/09/2015 05:41 AM, Simon Steyskal wrote:
>> Hi!
>>
>> I've tested it with TBC (there might have been some changes to SHACL that
>> haven't been implemented in TBC yet):
>>
>> 1) fails -> 2x "Invalid triple for closed shape", one for ex:a "value1"; and
>> one for ex:b "value2";
>> 2) fails -> 1x "Invalid triple for closed shape", for ex:b "value2";
>> 3) no, doesn't constrain anything
>>
>> cheers,
>> simon
>>
>> ---
>> DDipl.-Ing. Simon Steyskal
>> Institute for Information Business, WU Vienna
>>
>> www: http://www.steyskal.info/ twitter: @simonsteys
>>
>> Am 2015-09-09 14:29, schrieb Iovka Boneva:
>>> Dear all,
>>>
>>> I'm trying to clarify (for myself) the SHACL semantics.
>>>
>>> Here are three examples, can somebody please tell me whether these
>>> examples pass or fail for the corresponding data.
>>>
>>> Thanks in advance,
>>> Iovka
>>>
>>> // Example 1: is the ex:Instance node valid for that shape ?
>>>
>>> ex:ClosedShapeExampleShape
>>> a sh:Shape ;
>>> sh:constraint [
>>> a sh:ClosedShapeConstraint ;
>>> ] ;
>>> sh:constraint [
>>> a sh:OrConstraint ;
>>> sh:shapes (
>>> [
>>> sh:property [
>>> sh:predicate ex:a ;
>>> sh:minCount 1 ;
>>> ]
>>> ]
>>> [
>>> sh:property [
>>> sh:predicate ex:b ;
>>> sh:minCount 1 ;
>>> ]
>>> ]
>>> )
>>> ] ;
>>> sh:property [
>>> sh:predicate ex:c ;
>>> ] .
>>>
>>>
>>> ex:Instance
>>> ex:a "value1";
>>> ex:b "value2";
>>> ex:c "value3";
>>>
>>> __________________________
>>>
>>> // Example 2: is the ex:Instance node valid for that shape ?
>>>
>>> ex:ClosedShapeExampleShape
>>> a sh:Shape ;
>>> sh:constraint [
>>> a sh:ClosedShapeConstraint ;
>>> ] ;
>>> sh:constraint [
>>> a sh:OrConstraint ;
>>> sh:shapes (
>>> [
>>> sh:property [
>>> sh:predicate ex:a ;
>>> sh:maxCount 0 ;
>>> ]
>>> ]
>>> [
>>> sh:property [
>>> sh:predicate ex:b ;
>>> sh:minCount 1 ;
>>> ]
>>> ]
>>> )
>>> ] ;
>>> sh:property [
>>> sh:predicate ex:a ;
>>> ] ;
>>> sh:property [
>>> sh:predicate ex:c ;
>>> ] .
>>>
>>>
>>> ex:Instance
>>> ex:a "value1";
>>> ex:b "value2";
>>> ex:c "value3".
>>>
>>>
>>> ______________________
>>>
>>> // Example 3: Is this constraining something ? Is this valid for every node ?
>>>
>>> ex:AShape
>>> a sh:Shape ;
>>> sh:property [
>>> sh:predicate ex:a ;
>>> ] ;
>>> sh:property [
>>> sh:predicate ex:c ;
>>> ] .
>>
>>
--
Iovka Boneva
Associate professor (MdC) Université de Lille
http://www.cristal.univ-lille.fr/~boneva/
+33 6 95 75 70 25
Received on Monday, 14 September 2015 07:43:07 UTC