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

Re: [ACTION-18] use case on !ASK in FILTERS to emulate negation

From: Steve Harris <steve.harris@garlik.com>
Date: Tue, 26 May 2009 11:29:30 +0100
Cc: "Seaborne, Andy" <andy.seaborne@hp.com>, Ivan Mikhailov <imikhailov@openlinksw.com>, Axel Polleres <axel.polleres@deri.org>, "public-rdf-dawg@w3.org" <public-rdf-dawg@w3.org>
Message-Id: <EF1EC1E4-D5FF-469D-9F6B-9CA393E3BD57@garlik.com>
To: Simon Schenk <sschenk@uni-koblenz.de>
On 26 May 2009, at 11:10, Simon Schenk wrote:

> Am Montag, den 25.05.2009, 17:48 +0000 schrieb Seaborne, Andy:
>
>> Simon/Eric - you gave do you have examples where either MINUS or  
>> EXISTS can not easily be used where EXISTS or MINUS can?
>>
>> The distinguishing example is helpful - seem to me that MINUS needs  
>> a slightly artificial form to introduce ?name to be set-compatible  
>> with the preceding pattern.  But is this an artefact of the example  
>> and is there a counter example of EXISTs having to be slightly  
>> artificial?
>>
>> http://www.w3.org/2009/sparql/wiki/index.php?title=Design:Negation#Distinguish_MINUS_from_UNSAID
>
> I don't think there are cases, which can not be expressed using one of
> the forms: EXISTS can be translated into MINUS by extending the  
> pattern,
> if necessary. However, MINUS really is a bit ugly in many cases.
>
>>> In addition, I still think that EXISTS without FILTER around are a  
>>> bit
>>> confusing, esp. if the next clause is OPTIONAL {...}.
>>
>> I'm tending to both forms although underneath raw EXISTs because I  
>> thing using iut on its own is going to be common.  Internally, it  
>> behaves just like a FILTER which is not moved to the end of a BGP.
>
> I think FILTER better captures the intended semantics. I am not sure,
> whether an order dependent inline form is intuitive. On the other  
> hand,
> aesthetically I like it better. :) Why not completely translate it  
> into
> a FILTER, including a reordering?

Well, that means that you have to chuck in extra {}s to say what you  
mean, but I'm somewhat sympathetic to the viewpoint. Having two  
syntaxes that do the same thing is a bit odd. I prefer it outside  
FILTER() myself, but not that strongly.

Won't having it inside FILTER weird the syntax a fair bit? EXISTS(...)  
will have to include the whole BGP enchilada... hopefully except  
FILTER and EXISTS :)

- Steve
Received on Tuesday, 26 May 2009 10:30:09 GMT

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