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

Simon Schenk wrote:
> Am Dienstag, den 26.05.2009, 13:12 +0100 schrieb Axel Polleres:
> 
>> When thinking about subqueries in FILTERs instead of just as 
>> UNSAID/NOTEXISTS, I had rather thought about use cases where the 
>> subquery appears in a complex filter expression...
>>
>>
>> E.g. let's say you look for persons who don't have an email address 
>> (foaf:mbox) but an foaf:mbox_sha1sum or a foaf:homepage.
>>
>>
>> SELECT ?x
>> { ?x a foaf:Person
>>    FILTER (  ! EXISTS{ ?x foaf:mbox [] }
>>             && ( EXISTS{ ?x foaf:mbox [] }
>>                  || EXISTS{ ?x foaf:homepage [] } ) )
>> }
>>
>>
>> How'd you write that with the non-filter version? How'd you write that 
>> with the non-filter version? Probably here a version with UNION and 
>> UNSAID instead would also not look much nicer.
> 
> SELECT ?x
> { ?x a foaf:Person .
>   UNSAID {?x foaf:mbox []} .
>   { { ?x foaf:mbox_sha1sum } 
>     UNION 
>     { ?x foaf:homepage [] } 
>   }
> }

aehm... you won. :-)
It starts to look to me like that nesting in FILTERs doesn't really have 
any advantages. Anybody arguments in favor of the FILTERed version?

Axel

> Cheers,
> Simon


-- 
Dr. Axel Polleres
Digital Enterprise Research Institute, National University of Ireland, 
Galway
email: axel.polleres@deri.org  url: http://www.polleres.net/

Received on Tuesday, 26 May 2009 13:18:40 UTC