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: Simon Schenk <sschenk@uni-koblenz.de>
Date: Tue, 26 May 2009 12:54:03 +0000
To: Axel Polleres <axel.polleres@deri.org>
Cc: Steve Harris <steve.harris@garlik.com>, "Seaborne, Andy" <andy.seaborne@hp.com>, Ivan Mikhailov <imikhailov@openlinksw.com>, "public-rdf-dawg@w3.org" <public-rdf-dawg@w3.org>
Message-Id: <1243342443.13942.83.camel@tweety>
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 [] } 
  }
}

Cheers,
Simon
-- 
Simon Schenk | ISWeb | Uni Koblenz
http://isweb.uni-koblenz.de
http://www.uni-koblenz.de/~sschenk


Received on Tuesday, 26 May 2009 12:54:44 GMT

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