Re: Proposal to close ISSUE-76 stating that execution order matters

I raised this issue because I believe that there are excellent reasons for not
requiring a particular order for the execution of the operands of the boolean
operators.  Some of these reasons are even independent of the treatment of
constraint violations that produce non-boolean results, although such results
do make it more difficult to come up with a good solution.

To me this is not a pseudo argument in any way, shape, or form nor do I
believe that I have been dishonest at all here.

Peter F. Patel-Schneider
Nuance Communications

On 07/28/2015 04:18 PM, Holger Knublauch wrote:
> On 7/29/2015 9:02, Peter F. Patel-Schneider wrote:
>> I would say instead that the *most relevant* computer languages, e.g., SQL and
>> SPARQL, do not work this way.  I believe that most users of SHACL will not see
>> that the connection to programming languages is so strong as to dictate how
>> SHACL works.
>>
>> In general, users cannot tell which constraint is most restrictive.
> 
> In many cases they can. Why else do languages like SPARQL have ( ... )
> brackets to control the execution order. According to your logic, those should
> be removed from SPARQL too.
> 
> Frankly, I believe the whole point of opening this ticket was to try to make
> it as hard as possible for us to make recursion work - the execution order is
> needed for error handling there. I would prefer an honest discussion instead
> of hiding behind pseudo arguments.
> 
> Thanks,
> Holger
> 
> 
>>    This is a
>> job better done by the analog of query optimizers.  Requiring a particular
>> order of evaluation will inhibit such optimiizations.
>>
>> peter
>>
>>
>> On 07/27/2015 05:27 PM, Holger Knublauch wrote:
>>> ISSUE-76 [1] is about whether the order of AND and OR operands should matter.
>>> I believe the order should matter, because this is how most computer languages
>>> work and therefore matches the expectation that users can put the most
>>> restrictive operands first to avoid unnecessary evaluations. It also helps
>>> produce consistent results in the face of errors. sh:AndConstraint and
>>> sh:OrConstraint use rdf:Lists for that reason.
>>>
>>> Holger
>>>
>>> [1] http://www.w3.org/2014/data-shapes/track/issues/76
>>>
> 
> 

Received on Wednesday, 29 July 2015 14:14:11 UTC