nested SOURCE graph-patterns

hi all,

while doing a walk-through the grammar in the current editor draft [1] 
I found that we allow nested SOURCE patterns - these are two 
productions relative to it:

[6]   SourceGraphPattern   ::=   'source' '*' PatternElement | 'source' 
VarOrURI PatternElement
[10]   PatternElement   ::=   TriplePattern | GroupGraphPattern | 
SourceGraphPattern | OptionalGraphPattern | 'and'? Expression

which legally allow to write queries like (note the nesting of SOURCE)

PREFIX data: <http://example.org/foaf/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>

SELECT ?mbox ?age ?ppd
GRAPH  data:aliceFoaf data:bobFoaf
GRAPH  data:peterPanFoaf #this is being nested
WHERE
   SOURCE data:aliceFoaf
   {
     ( ?alice foaf:mbox <mailto:alice@work.example> )
     ( ?alice foaf:knows ?whom )
     ( ?whom foaf:mbox ?mbox )
     ( ?whom PersonalProfileDocument  ?ppd )

     # nested SOURCE
     SOURCE data:peterPanFoaf
      {
       ( ?peter foaf:mbox <mailto:peter_pan@not-working.example> )
       ( ?peter foaf:knows ?peter_whom )
       ( ?peter_whom foaf:mbox ?mbox )
       ( ?peter_whom PersonalProfileDocument  ?ppd )
      }
   }
   SOURCE ?ppd
   {
      ( ?w foaf:mbox ?mbox )
      ( ?w foaf:age ?age )
   }

Even if syntactically correct, it could make hard to the reader being 
convinced that such a query makes sense in the real world - by trying 
to follow the current editor's draft design it seems we have two nested 
"trusted graphs" (??).

Anyway, I find nesting of SOURCEs useful at some stage, but hard to fit 
in our design - also the GRAPH/LOAD design discussing at the 
face-to-face is less clearer when nesting is faced....

Does this make sense to you ?

Is the design meant to cover this part?

cheers

Alberto

[1] http://www.w3.org/2001/sw/DataAccess/rq23/
-
Alberto Reggiori, Senior Partner, R&D @Semantics S.R.L.
www.asemantics.com Milan Office

Received on Tuesday, 25 January 2005 14:50:51 UTC