@@ -468,13 +468,21 @@ PrefixDecl
468
468
}
469
469
;
470
470
SelectQuery
471
- : SelectClause DatasetClause* WhereClause SolutionModifier -> extend ($1 , groupDatasets ($2 ), $3 , $4 )
471
+ : SelectClauseWildcard DatasetClause* WhereClause SolutionModifierNoGroup -> extend ($1 , groupDatasets ($2 ), $3 , $4 )
472
+ | SelectClauseVars DatasetClause* WhereClause SolutionModifier -> extend ($1 , groupDatasets ($2 ), $3 , $4 )
472
473
;
473
- SubSelect
474
- : SelectClause WhereClause SolutionModifier ValuesClause? -> extend ($1 , $2 , $3 , $4 , { type: ' query' })
474
+ SelectClauseWildcard
475
+ : SelectClauseBase '*' -> extend ($1 , {variables: [new Wildcard ()]})
476
+ ;
477
+ SelectClauseVars
478
+ : SelectClauseBase SelectClauseItem+ -> extend ($1 , { variables: $2 })
475
479
;
476
- SelectClause
477
- : 'SELECT' ( 'DISTINCT' | 'REDUCED' )? ( SelectClauseItem+ | '*' ) -> extend ({ queryType: ' SELECT' , variables: $3 === ' *' ? [new Wildcard ()] : $3 }, $2 && ($1 = lowercase ($2 ), $2 = {}, $2 [$1 ] = true , $2 ))
480
+ SelectClauseBase
481
+ : 'SELECT' ( 'DISTINCT' | 'REDUCED' )? -> extend ({ queryType: ' SELECT' }, $2 && ($1 = lowercase ($2 ), $2 = {}, $2 [$1 ] = true , $2 ))
482
+ ;
483
+ SubSelect
484
+ : SelectClauseWildcard WhereClause SolutionModifierNoGroup ValuesClause? -> extend ($1 , $2 , $3 , $4 , { type: ' query' })
485
+ | SelectClauseVars WhereClause SolutionModifier ValuesClause? -> extend ($1 , $2 , $3 , $4 , { type: ' query' })
478
486
;
479
487
SelectClauseItem
480
488
: VAR -> toVar ($1 )
@@ -497,7 +505,10 @@ WhereClause
497
505
: 'WHERE' ? GroupGraphPattern -> { where: $2 .patterns }
498
506
;
499
507
SolutionModifier
500
- : GroupClause? HavingClause? OrderClause? LimitOffsetClauses? -> extend ($1 , $2 , $3 , $4 )
508
+ : GroupClause? SolutionModifierNoGroup -> extend ($1 , $2 )
509
+ ;
510
+ SolutionModifierNoGroup
511
+ : HavingClause? OrderClause? LimitOffsetClauses? -> extend ($1 , $2 , $3 )
501
512
;
502
513
GroupClause
503
514
: 'GROUP' 'BY' GroupCondition+ -> { group: $3 }
0 commit comments