Re: ISSUE-22: Proposal based on sh:hasShape

-----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