anchor.diff:      | BOUND OPEN_BRACE var CLOSE_BRACE -> ^(BOUND var)
       | IRI OPEN_BRACE expression CLOSE_BRACE -> ^(IRI expression)
       | URI OPEN_BRACE expression CLOSE_BRACE -> ^(URI expression)
  -    | BNODE (OPEN_BRACE expression CLOSE_BRACE| nil) -> ^(BNODE expression)
  +    | BNODE (OPEN_BRACE expression CLOSE_BRACE) -> ^(BNODE expression)
  +    | BNODE nil -> BNODE
       | RAND nil -> RAND
       | ABS OPEN_BRACE expression CLOSE_BRACE -> ^(ABS expression)
       | CEIL OPEN_BRACE expression CLOSE_BRACE -> ^(CEIL expression)
  
positive.code: 
  STRENDS : ('S'|'s')('T'|'t')('R'|'r')('E'|'e')('N'|'n')('D'|'d')('S'|'s');
  
  YEAR : ('Y'|'y')('E'|'e')('A'|'a')('R'|'r');
  
  MONTH : ('M'|'m')('O'|'o')('N'|'n')('T'|'t')('H'|'h');
  
negative.code:     ;
      		 
  groupCondition
      : builtInCall -> ^(GROUP_CONDITION builtInCall)
      | functionCall -> ^(GROUP_CONDITION functionCall)
      | OPEN_BRACE expression (AS var)? CLOSE_BRACE -> ^(GROUP_CONDITION expression ^(AS var)? )
      | var -> ^(GROUP_CONDITION var)
      ;
      
  havingClause
  