W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > July to September 2006

Re: test cases for FILTER scope and order

From: Seaborne, Andy <andy.seaborne@hp.com>
Date: Mon, 18 Sep 2006 12:45:15 +0100
Message-ID: <450E86CB.5040402@hp.com>
To: Lee Feigenbaum <feigenbl@us.ibm.com>
CC: RDF Data Access Working Group <public-rdf-dawg@w3.org>

((I fixed the syntax errors in the manifest file - RDF collections don't have 
","'s in them.  Hope that's OK.))


Lee Feigenbaum wrote:
> 
> 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) .
> }

Did you mean FILTER(?x=1), or FILTER(?x>0), or FILTER ( !(?x>1) ), here and 
throughout below?

FILTER(?x>1) is false whether ?x is bound or not on this data.

	Andy

> 
> ==> {}
> 
> 
> -- 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 Monday, 18 September 2006 11:45:41 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:15:27 GMT