Re: caution on using EXISTS and pre-binding in SHACL

It may be possible to define SPARQL pre-binding in a way that is suitable for
SHACL.  Unfortunately, even though most SPARQL implementations provide
pre-binding these implementations of pre-binding are, at best, described so
informally that it is not possible to determine how pre-binding works even for
very simple cases.

So currently SHACL has its own definition of pre-binding.  Unfortunately, none
of the SHACL definitions have been viable.  The current SHACL definition of
pre-binding doesn't even work correctly for any of the core constraint
components.  It may be possible to define pre-binding in SHACL in a way that
is suitable

Pre-binding is a central part of both the specification of the SHACL core
constraint components and of the SHACL extension mechanism.  If pre-binding
cannot be used then there will have to be major changes to the SHACL
specification document and to the SHACL extension mechanism.  Both of these
are possible.

peter


On 06/20/2016 02:15 PM, Karen Coyle wrote:
> Peter, I greatly appreciate the analyses you've done of SHACL, but because I
> know less than zero about SPARQL pre-binding I'm afraid I need to ask you a
> couple of questions that I am sure you think you have already answered:
> 
> Is the problem the way in which pre-binding has been implemented in SHACL, or
> is pre-binding, in your opinion, not viable at all?
> 
> If pre-binding is not viable, is SHACL still viable?
> 
> Thanks,
> kc
> 
> On 6/19/16 2:05 PM, Peter F. Patel-Schneider wrote:
>> 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 Monday, 20 June 2016 21:36:24 UTC