anchor.diff:      ;
       
   pathMod
  -    : ASTERISK 
  -    | QUESTION_MARK 
  -    | PLUS 
  -    | OPEN_CURLY_BRACE ( INTEGER ( COMMA ( CLOSE_CURLY_BRACE | INTEGER CLOSE_CURLY_BRACE ) | CLOSE_CURLY_BRACE ) | COMMA INTEGER CLOSE_CURLY_BRACE ) 
  +    : ( ASTERISK | QUESTION_MARK | PLUS | OPEN_CURLY_BRACE ( INTEGER ( COMMA ( CLOSE_CURLY_BRACE | INTEGER CLOSE_CURLY_BRACE ) | CLOSE_CURLY_BRACE ) | COMMA INTEGER CLOSE_CURLY_BRACE ) )
       ;
   
   pathPrimary
  -    : iriRef 
  -    | A 
  -    | NEGATION pathNegatedPropertySet 
  -    | OPEN_BRACE! path CLOSE_BRACE!
  +    : ( iriRef | A | NEGATION pathNegatedPropertySet | OPEN_BRACE path CLOSE_BRACE )
       ;
   
   pathNegatedPropertySet
  
positive.code:     ;   
      
  load 	  
      : LOAD SILENT? iriRef ( INTO graphRef )? -> ^(LOAD SILENT? iriRef graphRef?)
      ;
      
  clear
      : CLEAR  SILENT? graphRefAll -> ^(CLEAR SILENT? graphRefAll)
      ;
      
  drop
      : DROP SILENT? graphRefAll -> ^(DROP SILENT? graphRefAll)
      ; 
  
  create
      : CREATE SILENT? graphRef -> ^(CREATE SILENT? graphRef)
      ;
      
  add
      : ADD SILENT? graphOrDefault TO graphOrDefault -> ^(ADD SILENT? graphOrDefault graphOrDefault)
      ;
      
  move
      : MOVE SILENT? graphOrDefault TO graphOrDefault -> ^(MOVE SILENT? graphOrDefault graphOrDefault)
      ;
      
  copy
      : COPY SILENT? graphOrDefault TO graphOrDefault -> ^(COPY SILENT? graphOrDefault graphOrDefault)
      ;
  
  insert
  
negative.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
  