- 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