ISSUE-225: Draft response

Here is a possible response to the first part of Peter's issue on 
validation reports, see

https://lists.w3.org/Archives/Public/public-rdf-shapes/2017Feb/0001.html


Hi Peter,

 > The processor must produce these validation results no matter whether
 > they are going to show up in the final validation report or not.
 > The processor must produce these validation results even if it not going
 > to return a validation report at all.

In 3.6 we state that a SHACL-compliant processor must be *capable* of 
returning all these results. However, when executed with certain 
parameters, specific implementations may prune the results, for example 
to exclude results that have severity sh:Warning or sh:Info. Likewise, 
an engine is not required to produce nested results - these can go into 
a temporary graph (which is how I am implementing it too). However, the 
formal description is assuming that all results are reported.

 > This mixing of conformance requirements into the
 > definition of validation introduces an unnecessary and problematic
 > procedural aspect into the underlying definitions of SHACL.

I don't see a problem and believe this is largely a matter of "taste". A 
procedural description is very easy to understand for implementers, and 
these are the main target audience of this topic.


 > Although it is mandated that a SHACL processor much produce these 
validation
 > results it is completely unclear how many must be produced.  A SHACL
 > processor may end up checking whether a particular node satisfies a
 > particular constraint numerous times.
 > Must it produce a validation result for each of these times?
 > Must it only produce one validation result for all of these times?
 > Or is the number of times it produce a validation result undetermined?
 > This multiplicity problem can show up at top-level due to converging 
sh:property chains.

I have just added a sentence to the introduction of section 4:

---
Furthermore, the validators always produce/new/result nodes, i.e. when 
the textual definition states that "...a validation result/must/be 
produced..." then this refers to a distinct new node in a results graph.
---

which I believe clarifies the three options above - it's the first.


Please let me know where this response could be improved.

Thanks,
Holger

Received on Monday, 20 February 2017 02:37:24 UTC