Re: FW: shapes-ISSUE-188 (define validation): "Validation" needs to be defined

On 10/17/16 6:15 PM, Holger Knublauch wrote:
> Hi Jan,
>
> thanks for your input. I have added a sentence similar to your first
> sentence, defining that validation is a process etc. I also switched
> back to "node" instead of "focus node".
>
> I do not agree though with the other edits that you suggested:
> - I think the current ordering of going from nodes to graphs makes more
> sense because definitions then stack on top of each other.
> - Your proposal uses the term "failure" with a different meaning than
> what we are using it for: A Failure is an unexpected situation such as
> an infinite loop. The term "validation result" is used throughout the
> document to express regular "violations".
>
> Irene, removing the term "focus node" has hopefully addressed your last
> paragraph from your email? If not, could you suggest specific changes so
> that I know what to do?
>
> Karen, what else is missing to close ISSUE-188?

A bit, I'm afraid. First, it isn't right to use the term being defined 
in the definition. It now reads:

Validation is the process of determining whether a <a>data graph</a>, or 
<a>nodes</a> in the <a>data graph</a>, validate against a <a>shapes 
graph</a>.

I had suggested:

"Validation is the process of determining whether a node in the data 
graph obeys the constraints expressed in a shapes graph. The validation 
result is true when the node in the data graph obeys the constraints, 
and false when it does not."

I still think this is a much better definition.

Looking at the statements in 3.0:

"Validation is the process of determining whether a data graph, or nodes 
in the data graph, validate against a shapes graph.

A node validates against a shape if and only if either it does not 
validate against some filter of the shape or none of the constraints in 
the shape produce a validation result or a failure for the focus node."

I think the term "validates" in the second sentence is being used in a 
different way from the term "validate" in the first sentence. That's 
what's tricky about "validate" - it can refer to a positive outcome of a 
process, as well as the process itself.

For this reason, Dimitris and I talked about possible using the terms 
"compare" and "comparison" rather than "validate" and "validation" 
because it is too easy to slip into using "validate" to mean "determine 
THAT IT IS TRUE" which the first sentence appears to say. Also, many 
readers will read the term validate to mean that. "Comparison" is a more 
neutral term because it cannot be confused with an outcome the way 
"validate" can.

If this isn't acceptable to the group, then the definition of 
"validation" will also need a sub-definition for "validate" which then 
will mean "to effect a comparison". And we'll need to check all of the 
uses in the document to make sure that they conform to that definition.

kc





>
> https://github.com/w3c/data-shapes/commit/7b12b1b9a67f16028499f987c52cc4e653723551
>
> Thanks,
> Holger
>
>
> On 18/10/2016 6:53, Irene Polikoff wrote:
>> Forwarding as per Jan’s request below
>>
>> Irene Polikoff
>>
>> From: Jan Voskuil <jan.voskuil@taxonic.com
>> <mailto:jan.voskuil@taxonic.com>>
>> Date: Monday, October 17, 2016 at 11:29 AM
>> To: Irene Polikoff <irene@topquadrant.com
>> <mailto:irene@topquadrant.com>>, Holger Knublauch
>> <holger@topquadrant.com <mailto:holger@topquadrant.com>>
>> Subject: Re: shapes-ISSUE-188 (define validation): "Validation" needs
>> to be defined
>>
>> Can you please forward this to the list. I just went through the
>> process of being allowed to post. However, the actual forwarding may
>> take another two days. Thanks, -Jan
>>
>>
>>
>> ------------------------------------------------------------------------
>> *Van:* Jan Voskuil
>> *Verzonden:* maandag 17 oktober 2016 17:23
>> *Aan:* Irene Polikoff; Holger Knublauch; public-data-shapes-wg@w3.org
>> <mailto:public-data-shapes-wg@w3.org>
>> *Onderwerp:* Re: shapes-ISSUE-188 (define validation): "Validation"
>> needs to be defined
>>
>>
>> I agree.
>>
>> Maybe something along the following lines would be easier to understand.
>>
>>
>> VALIDATION DEFINITION (B)
>>
>> > /Validation/ is the process of determining whether a data graph
>> /validates/ against a shapes graph.
>>
>> > A data graph /validates/ against a shapes graph if and only if the
>> data graph /validates/ against each shape in the shapes graph.
>>
>> > A data graph /validates/ against a shape if and only if each node in
>> the data graph /validates/ against the shape.
>>
>> > A node/validates/ against a shape if, and only if, the shape does not
>> /produce a failure/ for that node.
>>
>> > A shape /produces a failure/ for a node if, and only if, the shape defines a
>> filter that selects the node, and the shape contains [or: defines] a
>> constraint such that the node does not meet that constraint.
>>
>>
>> The concept of focus node is not used here, which I think is the
>> cleaner option.
>>
>>
>>  -Jan
>>
>>
>> ------------------------------------------------------------------------
>> *Van:* Irene Polikoff <irene@topquadrant.com
>> <mailto:irene@topquadrant.com>>
>> *Verzonden:* maandag 17 oktober 2016 21:06
>> *Aan:* Holger Knublauch; public-data-shapes-wg@w3.org
>> <mailto:public-data-shapes-wg@w3.org>
>> *Onderwerp:* Re: shapes-ISSUE-188 (define validation): "Validation"
>> needs to be defined
>>
>> I think the current definition doesn’t define “validation”. It defines
>> what it means for a data graph to be valid or to validate.
>>
>> The definition of the validation would need to start with  something
>> like what Karen proposes e.g., validation is a process that determines
>> if a data graph validates against a shape graph.
>>
>> As for the the definition of what it means to be valid, it seems that
>> there are some possible holes:
>>
>> Are these conditions cumulative – meaning all need to be true or does
>> any single one is enough?
>> What does it mean for a node to validate against a shape? The first
>> bullets says what it means for a*focus node* to validate. The second
>> one says that each node must validate without mentioning the word
>> focus. May be it is a bit picky, but I felt there was some discontinuity.
>>
>>
>> Irene
>>
>> From: Holger Knublauch <holger@topquadrant.com
>> <mailto:holger@topquadrant.com>>
>> Date: Monday, October 17, 2016 at 1:44 AM
>> To: <public-data-shapes-wg@w3.org <mailto:public-data-shapes-wg@w3.org>>
>> Subject: Re: shapes-ISSUE-188 (define validation): "Validation" needs
>> to be defined
>> Resent-From: <public-data-shapes-wg@w3.org
>> <mailto:public-data-shapes-wg@w3.org>>
>> Resent-Date: Mon, 17 Oct 2016 05:45:02 +0000
>>
>> Hi Karen,
>>
>> the current snapshot defines the term "validation" in the beginning of
>> section 3:
>>
>> The definition for validating a data graph <#dfn-data-graph> against
>> a shapes graph <#dfn-shapes-graph> as well as a node <#dfn-node> from
>> the data graph against a shape <#dfn-shape> from the shapes graph is
>> provided below:
>>
>> VALIDATION DEFINITION
>>
>>   * A focus node <#dfn-focus-node> validates against a shape
>>     <#dfn-shape> if and only if either it does not validate against
>>     some filter <#dfn-filter> of the shape or none of the constraints
>>     <#dfn-constraint> in the shape produce a validation result
>>     <#dfn-validation-results> or a failure <#dfn-failure> for the
>>     focus node.
>>   * A data graph <#dfn-data-graph> validates against a shape
>>     <#dfn-shape> if and only if each node that is in any of
>>     the targets <#dfn-target> of the shape validates against the shape.
>>   * A data graph <#dfn-data-graph> validates against a shapes graph
>>     <#dfn-shapes-graph> if and only if the data graph validates
>>     against eachshape <#dfn-shape> in the shapes graph.
>>
>> I believe this covers the terminology, esp with the different nuances
>> of validation, e.g. of a focus node. It also correctly identifies
>> failures as another possible outcome.
>>
>> Your proposal merely bases validation on another undefined term "obeys
>> the constraints", which IMHO just shifts the problem. The ultimate
>> definition may require an elaborated link to the evaluation mechanisms
>> including SPARQL queries, but Dimitris' prose above clarifies that
>> eventually it's about not producing any validation results and failures.
>>
>> What is missing for this ISSUE?
>>
>> Holger
>>
>>
>> On 9/10/2016 12:51, RDF Data Shapes Working Group Issue Tracker wrote:
>>> shapes-ISSUE-188 (define validation): "Validation" needs to be defined
>>>
>>> http://www.w3.org/2014/data-shapes/track/issues/188
>>>
>>> Raised by: Karen Coyle
>>> On product:
>>>
>>> The term validation as used in SHACL needs to be defined. (The English language term is ambiguous.) The XML schema has a clear defiinition [1]. Based on that, I suggest the following as a definition of validation in SHACL:
>>>
>>> [Definition:]   Validation is the process of determining whether a node in the data graph obeys the constraints expressed in a shapes graph. The validation result is true when the node in the data graph obeys the constraints, and false when it does not.
>>>
>>> Note that XML allows for 3 validation results: true, false, and undetermined. I do not know if SHACL also follows this pattern, so my true/false declaration above may need adjustment if that is the case. Here is what XML schema says:
>>>
>>> Note: As just defined, validation produces not a binary result, but a ternary one: if the information item is ·strictly assessed·, it will be either valid or invalid, but if no applicable declaration is found, its validity will be unknown (and its [validity] property will have the value notKnown). Whether in a particular application notKnown should be treated in the same way as invalid or differently is outside the scope of this specification; sometimes one choice is appropriate, sometimes the other.
>>>
>>>
>>> [1] See: https://www.w3.org/TR/2012/REC-xmlschema11-1-20120405/#key-vn
>>
>

-- 
Karen Coyle
kcoyle@kcoyle.net http://kcoyle.net
m: 1-510-435-8234
skype: kcoylenet/+1-510-984-3600

Received on Tuesday, 18 October 2016 01:50:15 UTC