Re: behaviour of ASK-based validators

On 02/09/2017 02:23 PM, Holger Knublauch wrote:
> 
> 
> On 10/02/2017 1:18, Peter F. Patel-Schneider wrote:
>> On 02/08/2017 10:50 PM, Holger Knublauch wrote:
>>> On 9/02/2017 8:54, Peter F. Patel-Schneider wrote:
>>>> This part of the description of the behaviour of ASK-based validators doesn't
>>>> make any sense at all.  I have no idea what is supposed to be going on here.
>>>>
>>>> "Let QS be the union of the solutions produced for each value node v in vs
>>>> so that the solution variable this is bound to the focus node and value is
>>>> bound to v."
>>> I don't see what's difficult or ambiguous here. QS is a set of solutions. Each
>>> solution is a set of name-value pairs (as defined by SPARQL) and I am
>>> enumerating these pairs.
>>>
>>> If you have a specific suggestion for wording that you would find clearer to
>>> understand, then I'd be happy to include that.
>>>
>>> Holger
>> What does produce mean here?
>> What is doing the producing?
>> What does "so that" mean?
> 
> I have reworded that paragraph, please let me know if things remain ambiguous
> from your point of view.

"For each value node v where the SPARQL ASK query returns false with v
pre-bound to the variable value, create one solution consisting of the
bindings ($this, focus node) and ($value, v). Let QS be the union of these
solutions."

Ok, so now the bindings don't come from SPARQL at all.  Instead the SHACL
impelementation constructs them.  That was previously not clear at all.

But now there appears to be several errors.

The construction of QS doesn't end up with a solution sequence or even
generally a solution at all.

Now ASK-based validators only get one pre-bound variable, value.  (Or is it
instead that the value node is the variable that is being pre-bound?)  This
doesn't seem right.

>> How is this bound to a focus node in a property shape?
> 
> That's consistent with how it works for SELECT queries and node shapes. I
> don't see that issue.

A quick examination of 5.3.1, *the* place where the pre-binding of this (by
the way, there are still $'s there) and also linked to from 6.3, produces:

$this  The value node.

I noticed this wording some time ago.  It looked to me like a nice change but
it is hard to see how the variable this can then end up bound to the focus
node in SPARQL-based constraint components in most property shapes.

> Holger

Peter F. Patel-Schneider
Nuance Communications

Received on Thursday, 9 February 2017 22:50:20 UTC