- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Thu, 11 Jun 2015 17:15:48 -0700
- To: Arnaud Le Hors <lehors@us.ibm.com>, Holger Knublauch <holger@topquadrant.com>
- CC: RDF Data Shapes Working Group <public-data-shapes-wg@w3.org>
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Recursions through negations (including XOR, QCRs, etc.) are much tougher. There has been quite a bit of discussion on this in the working group mailing list already. peter On 06/11/2015 04:29 PM, Arnaud Le Hors wrote: > Holger Knublauch <holger@topquadrant.com> wrote on 06/10/2015 06:11:24 > PM: > >> From: Holger Knublauch <holger@topquadrant.com> To: RDF Data Shapes >> Working Group <public-data-shapes-wg@w3.org> Date: 06/10/2015 06:13 PM >> Subject: ISSUE-22: Proposal based on sh:hasShape >> >> I would like to write down the solution to the recursion issue that I >> have currently implemented in my prototype, and welcome comments >> whether this would resolve the issue. >> >> Recursive evaluation of shapes can only be triggered via the >> sh:hasShape function. sh:hasShape takes three arguments: >> >> sh:hasShape(?focusNode, ?shape, ?shapesGraph) >> >> Proposal: sh:hasShape must fail with a constraint violation, if it >> encounters a recursive call involving the same combination of >> arguments. > > I'd like to know what makes you choose to declare this a failure. > Couldn't we just as well decide that in this case the recursion stops > there assuming the constraint is satisfied (for the next iteration)? This > would mean that Peter's example in ISSUE-66 would be valid: > > ex:i rdf:type ex:C . ex:i ex:p ex:i . > > with the shape > > exs:S rdf:type sh:Shape; sh:classScope ex:C ; sh:property [ sh:predicate > ex:p ; sh:minCount 1 ; sh:maxCount 1 ; sh:valueShape exs:S ] . > > As a user this seems quite natural to me but maybe there are other > examples for which this wouldn't be the case. I don't know. -- Arnaud Le > Hors - Senior Technical Staff Member, Open Web Technologies - IBM > Software Group > >> The constraint violation could have a system generated message such as >> "Failed to evaluate constraint due to unsupported recursive use of >> sh:hasShape" and point at the focus node that was visited twice. >> >> This would still allow most interesting cases that involve recursion >> between shapes, but excludes cases where the same instances are >> visited more than once. >> >> What am I missing? >> >> Thanks, Holger >> >> > -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJVeiS0AAoJECjN6+QThfjzjLAH/iz2NaV+6dFmiWZHCbPNItIA +UhFZFtvRIG3JZJaV8r4pBGYZu8eRiXovtmxlV9U9H7TOnCPt0JHZK5mDNpvQbxk MnJrxu/68Q1qYcVGN1j2ZReX9GPRNuF7bwhSgPmUv239LRv30ROtZXwCRpJ7sMEl 3ME3Er3pHjGbugrHxG/ZwJiFQJbgds89Qw5z+wCbWmPzR/rh4UE4VOu5t4b0IWAj /3dxqPQWMNldTg1auVd2Dct9eZop6ToxochxImkbPkMFj762NcFfkbcD+tF6Fy3t SpiOzWj/kMdmgDUTec0n9e+YznZWvcVPwktFKN7+pHpt08mm7ODiRnW3Q0um3DU= =8nfB -----END PGP SIGNATURE-----
Received on Friday, 12 June 2015 00:16:23 UTC