anchor.diff:  PREDICATE;
   OBJECT;
   NOTEXISTS;
  +FUNCTION;
   }
   
   @header {
  
positive.code:     ;	
  
  constructTemplate
      : OPEN_CURLY_BRACE constructTriples? CLOSE_CURLY_BRACE -> constructTriples?
      ;
  
  constructTriples
      : triplesSameSubject ( DOT triplesSameSubject )* DOT? -> ^(CONSTRUCTTRIPLES triplesSameSubject+)
      ;
  
  triplesSameSubject
  
negative.code:     ;
  
  functionCall
      : iriRef argList -> ^(FUNCTION iriRef ^(ARGLIST argList))
      ;
  
  argList
      : ( nil | OPEN_BRACE DISTINCT? expression ( COMMA expression )* CLOSE_BRACE ) -> DISTINCT? nil* expression*
      ;
  
  expressionList
  