- 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