caution on using EXISTS and pre-binding in SHACL

I spent some time last week turning over rocks in the SPARQL specification
to see what's underneath them.  I found a lot of ugly stuff there,
particularly related to EXISTS.  It is even the case that different SPARQL
impleentations diverge on the behaviour of EXISTS.

This matters to SHACL in two ways.  First, EXISTS is used in the definitions
of many SHACL core constraint components.  I don't know if any of these uses
of EXISTS hit any problems, but I don't think that I have found all the
problems with EXISTS.  Even if the core constraint components don't hit any
problems, EXISTS is going to be important for extension constraint
components and these could easily hit problems with EXISTS.  Second, SHACL
pre-binding is defined in a way very similar to the way that EXISTS is
defined so it is entirely possible that the definition of pre-binding has
problems.  Pre-binding is central to the definition of SHACL and central
to the extension mechanism in SHACL so its definition is going to have be
examined extremely closely.

This all is in addition to the problems in the definition of pre-binding
that I have already pointed out.


Peter F. Patel-Schneider
Nuance Communications

Received on Sunday, 19 June 2016 21:05:49 UTC