- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Thu, 10 Mar 2016 20:22:02 -0800
- To: Holger Knublauch <holger@topquadrant.com>, public-data-shapes-wg@w3.org
Oops, I messed up the example. Sorry for the confusion.
Here is what I meant
ex:s a sh:Shape ;
sh:property _:c ;
sh:property [ sh:predicate ex:q ;
sh:valueShape [ sh:inverseProperty _:c ] ] .
_:c [ sh:predicate ex:p ;
sh:minCount 5 ] .
peter
On 03/10/2016 08:12 PM, Holger Knublauch wrote:
> On 11/03/2016 13:38, Peter F. Patel-Schneider wrote:
>> _:c will be both a sh:PropertyConstraint and sh:InversePropertyConstraint.
>> Which SPARQL query will it pick? Both? In this case things might work out,
>
> Yes both. I am glad we agree.
We don't agree, even here. Doing both works only because _:c was used in the
same place.
>
>> but what happens if the incoming links are from different places, as in
>>
>> ex:s a sh:Shape ;
>> sh:property _:c ;
>> sh:property [ sh:predicate ex:q ;
>> sh:valueShape [ sh:property _:c ] ] .
>>
>> _:c [ sh:predicate ex:p ;
>> sh:minCount 5 ] .
>
> I see no problem there. In both cases it's a sh:PropertyConstraint based on
> the sh:defaultValueType of sh:property. They are not executed at the same
> time, and on different focus nodes.
>
> Does this answer your ticket?
>
> Holger
>
>
>>
>> peter
>>
>>
>>
>> On 03/10/2016 04:43 PM, Holger Knublauch wrote:
>>> In the current draft this is handled by sh:defaultValueType:
>>>
>>> ex:s a sh:Shape ;
>>> sh:property _:c ;
>>> sh:inverseProperty _:c .
>>> _:c [ sh:predicate ex:p ;
>>> sh:minCount 5 ] .
>>>
>>>
>>> The engine will "add" two type triples:
>>>
>>> _:c a sh:PropertyConstraint .
>>> _:c a sh:InversePropertyConstraint .
>>>
>>> The engine can then pick the correct validator (SPARQL query) for each
>>> rdf:type of that constraint.
>>>
>>> Holger
>>>
>>>
>>> On 11/03/2016 7:15, RDF Data Shapes Working Group Issue Tracker wrote:
>>>> shapes-ISSUE-134 (knowing inverse): does SHACL syntax distinguish inverse
>>>> property constraints [SHACL Spec]
>>>>
>>>> http://www.w3.org/2014/data-shapes/track/issues/134
>>>>
>>>> Raised by: Peter Patel-Schneider
>>>> On product: SHACL Spec
>>>>
>>>>> From
>>>> https://lists.w3.org/Archives/Public/public-data-shapes-wg/2016Mar/0106.html
>>>>
>>>> Some constraint types require different SPARQL queries (or JavaScript or
>>>> whatever) depending on the direction of a property (or even worse, for an
>>>> arbitrary path). For example sh:minCount needs to count subjects versus
>>>> objects.
>>>>
>>>> Is it possible to determine whether a sh:minCount constraint is an inverse
>>>> or not? Consider
>>>>
>>>> ex:s a sh:Shape ;
>>>> sh:property _:c ;
>>>> sh:inverseProperty _:c .
>>>> _:c [ sh:predicate ex:p ;
>>>> sh:minCount 5 ] .
>>>>
>>>>
>>>>
>>>
>
>
Received on Friday, 11 March 2016 04:22:32 UTC