- From: Holger Knublauch <holger@topquadrant.com>
- Date: Tue, 4 Apr 2017 15:37:49 +1000
- To: Jose Emilio Labra Gayo <labra@uniovi.es>, "public-rdf-sha." <public-rdf-shapes@w3.org>
- Message-ID: <03287caa-14e2-c9ad-2428-53b87cafa53e@topquadrant.com>
Jose, as someone who is working on implementations for both SHACL and ShEx, and member of both groups, would you see a way to reformulate our current paragraph so that it would represent a more liberal definition of recursion? Currently in 3.4.3 we state: Thevalidation <http://w3c.github.io/data-shapes/shacl/#dfn-validation>withrecursive <http://w3c.github.io/data-shapes/shacl/#dfn-recursive-shape>shapes is not defined in SHACL and is left to SHACL processor implementations. For example, SHACL processors may support recursion scenarios or produce a failure when they detect recursion. I think there is generally no problem with the recursive use of sh:node, sh:property etc as long as no negation is used and no focus node/shape combination is reached twice. I can see that ShEx has http://shex.io/shex-semantics/#negation-requirement which looks related. (I am not at all confident that at this stage such changes could still be realistically made, yet we are not in CR yet). BTW of course many if not most implementations of SHACL will still support recursion, it's just that the spec doesn't prescribe this right now, so most likely the practical use of SHACL will diverge from the official document here. Thanks, Holger On 4/04/2017 15:23, Jose Emilio Labra Gayo wrote: > > > Unfortunately this exercise confirms my long-held belief that the > current work-around to avoid structural recursion leads to > unmaintainable and redundant shape definitions. SHACL users will > get negatively surprised by this. I believe we have made a mistake > in SHACL by generally making structural recursion undefined. > > > I completely agree on that. > > In fact, that is one of the main differences between ShEx and SHACL. > > -- > Regards, Jose Labra
Received on Tuesday, 4 April 2017 05:38:27 UTC