- From: Steve Harris <steve.harris@garlik.com>
- Date: Wed, 27 Jun 2007 16:42:46 +0100
- To: RDF Data Access Working Group <public-rdf-dawg@w3.org>
I've a question regarding the filter-scope-1 test, I would have expected the results below, which would be equivalent to FILTER(0) after http://www.w3.org/TR/rdf-sparql-query/ § 6.2, but instead I see something equivalent to if the OPTIONAL block were missing entirely. I can't find anything in the spec which suggests that evaluating a FILTER() expression with out of scope variables should cause the entire enclosing block to be disregarded. Though, I may have just missed it. I'm also not sure I like this scoping rule, it rules out some potentially useful query forms, like: SELECT * WHERE { ?person :department ?dept . OPTIONAL { ?person :project ?proj . FILTER(?dept = :technology) } } Data: @prefix : <http://example/> . :x :p 1 . :x :p 2 . :x :p 3 . :x :p 4 . :x :q 1 . :x :q 2 . :x :q 3 . Query: PREFIX : <http://example/> SELECT * { :x :p ?v . { :x :q ?w OPTIONAL { :x :p ?v2 FILTER(?v = 1) } } } What I would expect: (excuse the use of NULL) ?v ?w ?v2 1 1 NULL 1 1 NULL 1 1 NULL 1 1 NULL 1 3 NULL 1 3 NULL 1 3 NULL 1 3 NULL 1 2 NULL 1 2 NULL 1 2 NULL 1 2 NULL 3 1 NULL 3 1 NULL 3 1 NULL 3 1 NULL 3 3 NULL 3 3 NULL 3 3 NULL 3 3 NULL 3 2 NULL 3 2 NULL 3 2 NULL 3 2 NULL 2 1 NULL 2 1 NULL 2 1 NULL 2 1 NULL 2 3 NULL 2 3 NULL 2 3 NULL 2 3 NULL 2 2 NULL 2 2 NULL 2 2 NULL 2 2 NULL 4 1 NULL 4 1 NULL 4 1 NULL 4 1 NULL 4 3 NULL 4 3 NULL 4 3 NULL 4 3 NULL 4 2 NULL 4 2 NULL 4 2 NULL 4 2 NULL -- Steve Harris Garlik Limited Gainsborough House 2 Sheen Road Richmond TW9 1AE T +44(0)20 8973 2465 F +44(0)20 8973 2301 www.garlik.com Registered in England and Wales 535 7233 VAT # 849 0517 11 Registered office: 42-46 High Street, Esher, Surrey KT10 9QY
Received on Wednesday, 27 June 2007 15:42:58 UTC