- From: Lee Feigenbaum <feigenbl@us.ibm.com>
- Date: Sat, 16 Sep 2006 17:20:22 -0400
- To: RDF Data Access Working Group <public-rdf-dawg@w3.org>
- Message-ID: <OF1A3BEE2A.C5B2A864-ON852571EB.00727187-852571EB.00753D22@us.ibm.com>
Hi DAWGers, I've cheked into CVS six test cases for the scope and order of FILTER clauses as per this (unresolved) email thread: http://lists.w3.org/Archives/Public/public-rdf-dawg/2006JulSep/0186.html What I've checked in (results-wise) is my *personal* thought on what the behavior of FILTER is. My original message points out that the current spec. is underspecified, so these test cases are not based on it. I'd welcome discussion on what the results of these tests should be, and hopefully from there we can determine an overall design and from there we can fashion spec text. The tests are described in this test manifest: http://www.w3.org/2001/sw/DataAccess/tests/data/Filter/manifest.n3 I'm summarizing them here: -- data -- @prefix ex: <http://example.org/> ex:s ex:p 1. -- FILTER scope test cases -- -- dawg-filter-scope-001-- Opinion: A FILTER appearing in the same FilteredBasicGraphPattern (a sibling in the query tree) as a triple pattern matching the graph should constrain bindings arising from that triple pattern. PREFIX ex: <http://example.org/> SELECT ?x { ex:s ex:p ?x . FILTER(?x > 1) . } ==> {} -- dawg-filter-scope-002 Opinion: A FILTER appearing in the same (inntermost) Group (an uncle in the query tree) as a triple pattern matching the graph should constrain bindings arising from that triple pattern. PREFIX ex: <http://example.org/> SELECT ?x { { ex:s ex:p ?x } FILTER(?x > 1) . } ==> {} -- dawg-filter-scope-003 Opinion: Bindings introduced by a matching triple pattern which appears in a BGP which is a sibling of a Group in which a FILTER appears is unconstrained by that FILTER. (In this relationship, the FILTER is a nephew of the triple pattern in the query tree.) PREFIX ex: <http://example.org/> SELECT ?x { ex:s ex:p ?x . { FILTER(?x > 1) } } ==> {?x/1} -- dawg-filter-scope-004 Opinion: Bindings introduced by a matching triple pattern which appears in a BGP in a sibling Group of a Group in which a FILTER appears is unconstrained by that FILTER. (In this relationship, the FILTER is a cousin of the triple pattern in the query tree.) PREFIX ex: <http://example.org/> SELECT ?x { { ex:s ex:p ?x } . { FILTER(?x > 1) } . } ==> {?x/1} -- FILTER order test cases -- --dawg-filter-order-001 Opinion: The order in which a FILTER appears vis a vis triple patterns in the same FilteredBasicGraphPattern does not matter. PREFIX ex: <http://example.org/> SELECT ?x { ex:s ex:p ?x . FILTER(?x=1) . } => {?x/1} -- dawg-filter-order-002 Opinion: The order in which a FILTER appears vis a vis triple patterns in the same FilteredBasicGraphPattern does not matter. PREFIX ex: <http://example.org/> SELECT ?x { FILTER(?x=1) . ex:s ex:p ?x . } ==> {?x/1} Lee
Received on Saturday, 16 September 2006 21:20:37 UTC