Re: Test cases for blank node label scope - and a case for discussion

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