Re: Question on Handling of Ill-formed Shapes Graphs

Hi Lars,

there are two major reasons for the current wording, basically due to 
the complexity of the many syntax rules:

1) If we were to make it a MUST then each SHACL implementation would 
have to implement all the syntax rules, and we as the WG would need to 
define test cases for all kinds of invalid structures. The SHOULD lowers 
the barrier of entry and the formal process issues significantly.

2) It would require validation (for well-formedness) of the shapes graph 
and this is a very expensive operation. In many scenarios such as 
interactive data entry tools, the shapes graph is identical to the data 
graph (or at least is part of the imports closure). If you make an edit, 
then the shapes may become invalid. This means that a validator would 
have to perform checking of the shapes before each validation, and this 
is prohibitively expensive in cases like form validation in real time, 
for each instance.

Having said this, many syntax rules can be expressed in SHACL itself. 
The expectation of the WG is that a meta-schema for SHACL will emerge 
(e.g. as an open source project) outside of the W3C process. Not 
everything needs to be done by the WG or the spec.

Hope this clarifies it.
Holger


On 16/02/2017 19:36, Svensson, Lars wrote:
> Hello all,
>
> Section 3.4.2 [1] states that if a shapes graph is ill-formed, the SHACL processor SHOULD produce a failure. Why is that a SHOULD and not a MUST? Or put differently: In which cases would it be acceptable for a processor not to produce a failure when processing an ill-formed shapes graph?
>
> [1] https://w3c.github.io/data-shapes/shacl/#ill-formed-shape-graphs
>
> Thanks,
>
> Lars
>
> *** Lesen. Hören. Wissen. Deutsche Nationalbibliothek ***

Received on Thursday, 16 February 2017 21:55:14 UTC