anchor.diff:      | MAX OPEN_BRACE DISTINCT? expression CLOSE_BRACE -> ^(MAX DISTINCT* expression)
       | AVG OPEN_BRACE DISTINCT? expression CLOSE_BRACE -> ^(AVG DISTINCT* expression)
       | SAMPLE OPEN_BRACE DISTINCT? expression CLOSE_BRACE -> ^(SAMPLE DISTINCT? expression)
  -    | GROUP_CONCAT OPEN_BRACE DISTINCT? expression ( SEMICOLON SEPARATOR '=' string )? CLOSE_BRACE -> ^(GROUP_CONCAT DISTINCT* expression string*)
  +    | GROUP_CONCAT OPEN_BRACE DISTINCT? expression ( SEMICOLON SEPARATOR '=' string )? CLOSE_BRACE -> ^(GROUP_CONCAT DISTINCT* expression string?)
       ;
       
   iriRefOrFunction
  
positive.code:     ;
  
  regexExpression
      : REGEX OPEN_BRACE expression COMMA expression ( COMMA expression )? CLOSE_BRACE -> ^(REGEX expression*)
      ;
      
  subStringExpression
      : SUBSTR OPEN_BRACE expression COMMA expression ( COMMA expression )? CLOSE_BRACE -> ^(SUBSTR expression*)
      ;
      
  existsFunction
  
negative.code:     ;
  
  expressionList
      : OPEN_BRACE expression ( COMMA expression )* CLOSE_BRACE -> ^(EXPRESSIONLIST expression+)
      | nil -> ^(EXPRESSIONLIST nil)
      ;	
  
  constructTemplate
  