- 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