- From: Seaborne, Andy <andy.seaborne@hp.com>
- Date: Mon, 18 Sep 2006 12:45:15 +0100
- 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 UTC