- From: Seaborne, Andy <andy.seaborne@hp.com>
- Date: Mon, 29 Jan 2007 16:20:25 +0000
- To: Pat Hayes <phayes@ihmc.us>
- CC: 'RDF Data Access Working Group' <public-rdf-dawg@w3.org>
Pat Hayes wrote:
>> Attached are some tests (positive and negative) for reuse of blank
>> nodes labels only within BGPs.
>>
>> There is one case to point out: syn-bad-39.rq
>>
>> {
>> _:a ?p ?v . FILTER(true) . <x> ?q _:a
>> }
>>
>> 1/ By the principle that FILTERs apply to the whole group,
>
> Didnt we decide this, some time ago? That is, groups with filters are
> equivalent to the same group with all the filters at the end of the
> group. Which would rule out your 2/ interpretation, below.
>
> Pat
The principle has been that FILTERs apply across the group - not the BGP.
As I recall this is for two reasons:
1/ We explicitly took value constraints out of filters so that a BGP is purely
triple patterns, no value constraints. Filters can not contain syntax for
bnodes so
<x> ?p _:a . FILTER(_:a < 5 )
is not legal. FILTERs are not part of BGPs either way round.
2/ Uniformity with other graph patterns in the group. A group with one
element that is a BGP muddies the water.
(1) caused the grammar to change to put FILTERs in the group, not in BGPs.
Makes the grammar simpler. If we decide FILTERs do not end a BGP, then we
need to decide whether this is done via text or a grammar change.
Andy
Received on Monday, 29 January 2007 16:20:38 UTC