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

Re: Negation section text updated.

From: Andy Seaborne <andy.seaborne@talis.com>
Date: Thu, 20 May 2010 20:05:28 +0100
Message-ID: <4BF587F8.6010103@talis.com>
To: Steve Harris <steve.harris@garlik.com>
CC: Olivier Corby <Olivier.Corby@sophia.inria.fr>, SPARQL Working Group <public-rdf-dawg@w3.org>


On 20/05/2010 9:23 AM, Steve Harris wrote:
>> >  Note that there are two syntax for negation :
>> >
>> >  filter(not exists PAT)
>> >
>> >  filter(! exists PAT)
> However, NOT doesn't appear to by a synonym of !, so it's not legal to write FILTER(NOT ?x=1), which seems a little odd.
>
> I think we should either add a NOT operator, or remove NOT from EXISTS, and just use !.
>

NOT is used in two places:

     NOT EXISTS
     ?x NOT IN (1,2,3)

It is part of the token for the operator, which makes it easier for the 
implementer.  The tokens are "NOTws*EXISTS" and "NOTws*IN".

The second one in particular is used in a way that is an infix operator. 
"NOT IN" is the operator taking a LHS expression and a RHS list of 
expressions.

We can introduce a general NOT if you want, as a synonym for ! but that 
does not remove it's need elsewhere.

We use ! elsewhere : !=

By the way:

If FILTER(NOT ?x=1) => FILTER(! ?x=1) it means FILTER( (!?x)=1)

	Andy
Received on Thursday, 20 May 2010 19:05:56 GMT

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