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

Re: shapes-ISSUE-181: SHACL conformance for partial validation reports [SHACL Spec]

From: Holger Knublauch <holger@topquadrant.com>
Date: Fri, 30 Sep 2016 10:14:35 +1000
To: public-data-shapes-wg@w3.org
Message-ID: <1768b73f-1e87-0550-bdfe-820dd22bd222@topquadrant.com>


On 30/09/2016 10:06, Karen Coyle wrote:
>
>
> On 9/29/16 3:54 PM, Holger Knublauch wrote:
>> Hi Jose
>>
>> others may correct me, but my understanding is that all conformant SHACL
>> validation engines need to produce all the "mandatory" fields of the
>> results format.
>
> which are sh:focusNode and sh:severity - which is a bit awkward since 
> the focus node (isn't that "target node" now?) doesn't tell you what 
> constraints were evaluated.

Yes, we need to clarify the mandatory fields (see your recent ticket).

There is a subtle difference between focus node and target node:
- the focus node is the currently evaluated node
- the target node is a node specified as target by a shape
- target nodes becomes focus nodes for the duration of the validation
- but there are other ways for nodes to become focus nodes, e.g. via 
sh:shape

>
>
>  They may decide to return less, but that should only be
>> an option.
>>
>> Our test cases should also include the full info, because engines that
>> only produce true or false can still use these test cases, while the
>> inverse is not the case.
>
> Since severity is mandatory, how will T/F work?

Assuming that true means "no validations were found", then a test case 
would pass if no results are produced, or at least no results with 
severity violation.

Holger


>
> kc
>
>>
>> Holger
>>
>>
>> On 29/09/2016 19:59, RDF Data Shapes Working Group Issue Tracker wrote:
>>> shapes-ISSUE-181: SHACL conformance for partial validation reports
>>> [SHACL Spec]
>>>
>>> http://www.w3.org/2014/data-shapes/track/issues/181
>>>
>>> Raised by: Jose Emilio Labra Gayo
>>> On product: SHACL Spec
>>>
>>> When preparing the test-suite, it is not clear to me if we have to
>>> declare/check all the validation reports that must be returned by a
>>> SHACL processor or just a true/false.
>>>
>>> The spec contains the following phrase:
>>>
>>> "The validation process returns a validation report containing all
>>> validation results. For simpler validation scenarios, SHACL processors
>>> SHOULD provide an additional validation interface that returns only
>>> true for valid or false for invalid."
>>>
>>> A SHACL processor that wants to handle use case 3.31
>>> (https://www.w3.org/TR/shacl-ucr/#uc34-large-scale-dataset-validation)
>>> about validating very large datasets may decide to return just the
>>> first violation it finds, instead of continue processing/generating
>>> all the possible violations.
>>>
>>> Is that SHACL processor conformant with the spec? In that case, when
>>> defining the test-suite, is it enough if we just declare true/false as
>>> the possible result of SHACL validation? Or if a SHACL processor
>>> returns just the first violation report that it finds?
>>>
>>> In any case, I think the spec should be more clear about when a SHACL
>>> processor is conformant or not if it doesn't return all the violation
>>> reports and just returns the first one or signals that there was an
>>> error.
>>>
>>>
>>>
>>>
>>
>>
>>
>
Received on Friday, 30 September 2016 00:15:35 UTC

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