- From: Pat Hayes <phayes@ihmc.us>
- Date: Mon, 29 Jan 2007 10:08:16 -0600
- To: Steve Harris <steve.harris@garlik.com>
- Cc: RDF Data Access Working Group <public-rdf-dawg@w3.org>
>On 28 Jan 2007, at 20:51, Seaborne, Andy 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, it could
>>be taken as like:
>> { _:a ?p ?v . <x> ?q _:a . FILTER(true) }
>>which is one BGP.
>>
>>[Filter true
>> [BGP
>> _:b0 ?p ?v
>> <x> ?q _:b0
>> ]]
>>
>>2/ By the principle that BGPs are adjacent triple patterns, it has
>>appearance as if it were two BGPs like:
>>
>> { BGP( _:a ?p ?v . ) FILTER(true) BGP( [] ?q _:a . ) }
>>
>>so it would be:
>>[Filter true
>> [Join
>> [BGP _:a ?p ?v]
>> [BGP <x> ?q _:a]
>> ]]
>>which is illegal (_:a spans BGPs).
>>
>>Blank node labels can't appear in FILTERs so this also makes sense
>>by saying FILTERs end the blank node label scope.
>
>I prefer (1), but then I also think it's less confusing to require
>FILTERs be at the end of the BGP.
>
>To me it doesn't visually at all obvious that the FILTER divides the
>BGP into two:
>
>{
> something1 .
> something2 .
> something3 .
>}
>
>looks like one BGP, whether or not if something2 is a FILTER.
Yes. Particularly as the order of triples in a group isn't relevant,
so why should the order of filters be?
Pat
>
>- Steve
--
---------------------------------------------------------------------
IHMC (850)434 8903 or (650)494 3973 home
40 South Alcaniz St. (850)202 4416 office
Pensacola (850)202 4440 fax
FL 32502 (850)291 0667 cell
phayesAT-SIGNihmc.us http://www.ihmc.us/users/phayes
Received on Monday, 29 January 2007 16:08:26 UTC