- From: Axel Polleres <axel.polleres@deri.org>
- Date: Tue, 19 May 2009 13:23:31 +0100
- To: "public-rdf-dawg@w3.org" <public-rdf-dawg@w3.org>
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. ============================================================= -- 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 12:24:12 UTC