- 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