W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > April to June 2010

Re: Negation decision : unexpected effects

From: Andy Seaborne <andy.seaborne@talis.com>
Date: Mon, 12 Apr 2010 15:25:27 +0100
Message-ID: <4BC32D57.5060300@talis.com>
To: Lee Feigenbaum <lee@thefigtrees.net>
CC: SPARQL Working Group <public-rdf-dawg@w3.org>


On 12/04/2010 2:09 PM, Lee Feigenbaum wrote:
>>> I believe this difference only occurs in the case of what the Chileans
>>> call not-well-formed queries - a variable occurs inside the NOT EXISTS,
>>> but not on the left-hand side of the NOT EXISTS, and also occurs
>>> elsewhere in the query. (Same as with procedural vs. compositional
>>> OPTIONAL.)
>>
>> Confused about the reference to not-well-formed queries: they are to do
>> with doubley nested optionals where a variable appears in the LHS of the
>> outer OPTIONAL and the RHS for the inner OPTIONAL but not in between.
>
> I do not believe that this is the case; I think my understanding of
> well-formed (actually "well-designed) patterns is accurate. Please see
> Definition 4 of http://www.dcc.uchile.cl/~cgutierr/papers/sparql.pdf .


[[
Definition 4. A graph pattern P is well designed if for every occurrence 
of a sub-pattern P0 = (P1 OPT P2) of P and for every variable ?X 
occurring in P, the following condition holds:

   if ?X occurs both inside P2 and outside P0, then it also occurs in P1.
]]

There is an difference that needs further proof. OPTIONAL has the 
characteristic that it may or may not bind a variable and so place it in 
scope further out depending on the data.

Double nested optional exhibit that in a data dependent way because the 
deepest variable may get bound to possibilities that exclude matching at 
the outer level but, being OPTIONAL, that binding need not be done.

NOT EXISTS does not have that characteristic (nor does MINUS for that 
matter, for difference reasons).

	Andy
Received on Monday, 12 April 2010 14:26:14 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:15:42 GMT