- From: Axel Polleres <axel.polleres@deri.org>
- Date: Tue, 19 May 2009 14:25:40 +0100
- To: "Seaborne, Andy" <andy.seaborne@hp.com>
- CC: "public-rdf-dawg@w3.org" <public-rdf-dawg@w3.org>
Seaborne, Andy wrote: > >> -----Original Message----- >> From: public-rdf-dawg-request@w3.org [mailto:public-rdf-dawg- >> request@w3.org] On Behalf Of Axel Polleres >> Sent: 19 May 2009 13:24 >> To: public-rdf-dawg@w3.org >> Subject: [ACTION-18] use case on !ASK in FILTERS to emulate negation >> >> This completes Action-18: >> >> http://www.w3.org/2009/sparql/track/actions/18 >> >> ============================================================= >> >> The current spec has the following example of a query emulating >> NEGATION, asking for people with a name but no expressed date: >> >> >> PREFIX foaf: <http://xmlns.com/foaf/0.1/> >> PREFIX dc: <http://purl.org/dc/elements/1.1/> >> SELECT ?name >> WHERE { ?x foaf:givenName ?name . >> OPTIONAL { ?x dc:date ?date } . >> FILTER (!bound(?date)) } >> >> If ASK queries were allowed within FILTER expressions, this could be >> written as: >> >> >> PREFIX foaf: <http://xmlns.com/foaf/0.1/> >> PREFIX dc: <http://purl.org/dc/elements/1.1/> >> SELECT ?name >> WHERE { ?x foaf:givenName ?name . >> FILTER (! {ASK { ?x dc:date ?date }}) >> } >> >> >> Note here, that the subquery in the FILTER needs to "access" the >> bindings from the superquery. This should not be a problem with the >> algebra or order dependence since per definition, FILTER expressions >> need to have access to the bindings of the group they appear in, but it >> would mean that such ASK queries in FILTERS (similar to OPTIONAL >> patterns in FILTERs) are not entirely compositional in their evaluation. > > Because the evaluation semantics of this FILTER ASK are different [*] to > plain subquery, I currently prefer to have a clearer syntax keword like EXISTS, !EXISTS. You mean in FILTERs "EXISTS" instead of "ASK", yes? Indeed, makes sense to me. best Axel > Andy > > [*] A plain subquery being (semantically) like a join with the other elements in a group. > > >> ============================================================= >> >> >> >> -- >> Dr. Axel Polleres >> Digital Enterprise Research Institute, National University of Ireland, >> Galway >> email: axel.polleres@deri.org url: http://www.polleres.net/ > -- 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, 19 May 2009 13:26:27 UTC