Re: about the CONSTRUCT productions

Alberto Reggiori wrote:
> 
> hi all,
> 
> while looking at the current editor's draft about CONSTRUCT
> 
> 	http://www.w3.org/2001/sw/DataAccess/rq23/#prod-sparql-ConstructPattern
> 
> it seems the production allows to have "blocks" by using braces, in 
> addition to simple sequences of triple-patterns:
> 
> [13]   ConstructPattern   ::=   ConstructElement+
> [14]   ConstructElement   ::=   TriplePattern | '{' ConstructPattern '}'
> 
> while I added simple TriplePattern and '{' ConstructPattern '}' blocks 
> to our CONSTRUCT DAWG testbed, I am not so convinced we need blocks at 
> that level - which might unnecessarily complicate the whole parsing and 
> processing.
> 
> Is there any particular reason to have the '{' ConstructPattern '}' 
> block syntax, a part being more homogenous with the rest of the 
> grammar? (perhaps if we would have bNodes _:foo scoped to the block it 
> might make some sense)
> 
> Why not simplify ConstructPattern to:
> 
> [13]   ConstructPattern   ::=   TriplePattern+
> 
> 
> ?
> 
> Any explanation is appreciated
> 
> thanks
> 
> Alberto
> 
> -
> Alberto Reggiori, Senior Partner, R&D @Semantics S.R.L.
> www.asemantics.com Milan Office
> 

Alberto:

The CONSTRUCT productions need some work:

1/ As you point out, no {} are necessary.

2/ The tokens are slightly different (bNodes in CONSTRUCT)

I thought of using the term "template" for the contents of CONSTRUCT and plan on 
having separate productions for such templates.  Roughly this is your modified 
[13] except a triple pattern can also have "_:a" (and this is removed from the 
plain triple pattern - legal in XML 1.1 as a qname but it confuses people in RDF).

The grammar should get updated this week - there are a number of things to do.

	Andy

Received on Tuesday, 25 January 2005 18:53:43 UTC