- From: Andy Seaborne <andy.seaborne@talis.com>
- Date: Thu, 20 May 2010 20:05:28 +0100
- 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 UTC