W3C home > Mailing lists > Public > public-data-shapes-wg@w3.org > April 2016

ISSUE-22: Suggested revision of wording on recursion

From: Holger Knublauch <holger@topquadrant.com>
Date: Thu, 14 Apr 2016 11:25:52 +1000
To: "public-data-shapes-wg@w3.org" <public-data-shapes-wg@w3.org>
Message-ID: <570EF1A0.8080807@topquadrant.com>
During recent discussions, I noticed that I made a mistake not objecting 
to our previous resolution on the handling of recursion:

https://www.w3.org/2015/12/16-shapes-minutes.html#resolution04

The resolution above talks about statically excluding recursion: as soon 
as shape declarations are causing loops, the shapes graph would be invalid.

This is an unnecessary restriction and excludes real-world scenarios 
such as tree structures. In tree structures, a parent may state that its 
children must have the same Shape, and algorithmically there is no 
problem because there can never be an infinite loop.

PROPOSAL: The starting point for recursion in SHACL is that dependency 
loops are invalid at run-time.

In other words, a run-time failure would be reported if the validation 
causes infinite loops (same node against same shape). This is how 
sh:hasShape already works.

Holger
Received on Thursday, 14 April 2016 01:26:28 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:30:31 UTC