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

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 UTC