- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Wed, 29 Jul 2015 07:13:27 -0700
- To: Holger Knublauch <holger@topquadrant.com>, RDF Data Shapes Working Group <public-data-shapes-wg@w3.org>
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