- From: Eric Prud'hommeaux <eric@w3.org>
- Date: Tue, 19 Oct 2010 02:03:29 -0400
- To: public-rdf-dawg@w3.org
* Eric Prud'hommeaux <eric@w3.org> [2010-10-18 23:21-0400]
> I updated the
> http://www.w3.org/2005/01/yacker/uploads/SPARQL_11?lang=perl
> yacker grammar to reflect
> http://www.w3.org/2009/sparql/docs/sparql-grammar-11
> with three small changes:
>
> Added a "top" to put all of SPARQL under one start production:
> + [0] Top ::= QueryUnit | UpdateUnit
Removed ()s around RHSs on:
~ [19] GroupCondition ::= BuiltInCall | FunctionCall | '(' Expression ( 'AS' Var )? ')' | Var
~ [24] LimitOffsetClauses ::= LimitClause OffsetClause? | OffsetClause LimitClause?
~ [62] ArgList ::= NIL | '(' 'DISTINCT'? Expression ( ',' Expression )* ')'
~ [63] ExpressionList ::= NIL | '(' Expression ( ',' Expression )* ')'
> Moved the WS*s out of 36-38 and split 39 to avoid the reduce-reuse-recyle error:
> ~ [36] InsertData ::= 'INSERT' 'DATA' QuadData
> ~ [37] DeleteData ::= 'DELETE' 'DATA' QuadData
> ~ [38] DeleteWhere ::= 'DELETE' 'WHERE' QuadPattern # ???
> ~ [39] Modify ::= ( DeleteClause InsertClause? | InsertClause ) UsingClause* 'WHERE' GroupGraphPattern
> ~ | ( 'WITH' IRIref ) ( DeleteClause InsertClause? | InsertClause ) UsingClause* 'WHERE' GroupGraphPattern
>
> Why do we need QuadData and QuadPattern?
> ~ [46] QuadData ::= '{' Quads '}' # ???
>
> Removing DeleteWhere and s/QuadPattern/QuadData/g gives no S/R errors.
Separated 'NOT' 'IN' and 'NOT' 'EXISTS' and shortened RelationalExpression
~ [99] RelationalExpression ::= NumericExpression RelativeExpression?
~ [00] RelativeExpression ::= '=' NumericExpression
| '!=' NumericExpression
| '<' NumericExpression
| '>' NumericExpression
| '<=' NumericExpression
| '>=' NumericExpression
| 'IN' ExpressionList
| 'NOT' 'IN' ExpressionList
~[109] NotExistsFunc ::= 'NOT' 'EXISTS' GroupGraphPattern
Grouped like aggregate expressions:
~ [110] Aggregate ::= 'COUNT' '(' 'DISTINCT'? ( '*' | Expression ) ')' | ( 'SUM' | 'MIN' | 'MAX' | 'AVG' | 'SAMPLE' ) '(' 'DISTINCT'? Expression ')' | 'GROUP_CONCAT' '(' 'DISTINCT'? Expression ( ';' 'SEPARATOR' '=' String )? ')'
> --
> -ericP
--
-ericP
Received on Tuesday, 19 October 2010 06:04:07 UTC