- From: Steve Harris <steve.harris@garlik.com>
- Date: Tue, 17 Nov 2009 12:28:30 +0000
- To: Andy Seaborne <andy.seaborne@talis.com>
- Cc: "public-rdf-dawg@w3.org Group" <public-rdf-dawg@w3.org>
On 17 Nov 2009, at 12:03, Andy Seaborne wrote: > On 17/11/2009 11:44, Steve Harris wrote: >> >> - Steve, hoping sparql:noValue wasn't supposed to be a URI :) > > It can be a URI :) The other alternative is a literal that is in a > value space disjoint from all others. What about SELECT ?x WHERE { ?x :p :o . OPTIONAL { ?x :doesnotexist ?y . } FILTER(?y = sparql:noValue) } v's SELECT * WHERE { { SELECT (MAX(?y) AS ?max) WHERE { ?x :p :o . OPTIONAL { ?x :doesnotexist ?y . } } GROUP BY ?x } FILTER(?max = sparql:noValue) } It potentially has the opposite confusion problem to SQLs infamous WHERE x = NULL. It might be easier to make it same value that can't be written down, then users can't distinguish it from the "unbound" value. - Steve -- Steve Harris, CTO, Garlik Limited 2 Sheen Road, Richmond, TW9 1AE, UK +44(0)20 8973 2465 http://www.garlik.com/ Registered in England and Wales 535 7233 VAT # 849 0517 11 Registered office: Thames House, Portsmouth Road, Esher, Surrey, KT10 9AD
Received on Tuesday, 17 November 2009 12:29:20 UTC