anchor.diff:  	
   triplesNode
       : OPEN_BRACE graphNode+ CLOSE_BRACE -> ^(COLLECTION graphNode+)
  -    | OPEN_SQUARE_BRACKET propertyListNotEmpty CLOSE_SQUARE_BRACKET -> ^(BLANKNODEPROPERTYLIST propertyListNotEmpty)
  +    | OPEN_SQUARE_BRACKET propertyListNotEmpty CLOSE_SQUARE_BRACKET -> BLANKNODE propertyListNotEmpty
       ;
   
   graphNode
  
positive.code:     ;
  
  objectList
      : graphNode ( COMMA graphNode )* -> ^(OBJECTLIST graphNode+)
      ;
  
  verb
  
negative.code:     ;
  
  triplesSameSubjectPath
      : varOrTerm propertyListNotEmptyPath -> ^(TRIPLE ^(SUBJECT varOrTerm*) propertyListNotEmptyPath*)
      | triplesNode propertyListPath -> ^(TRIPLE triplesNode* propertyListPath*)
      ;
    
  propertyListNotEmptyPath
      : ( verbPath | verbSimple ) objectList ( SEMICOLON ( ( verbPath | verbSimple ) objectList )? )* -> (^(PREDICATE verbPath? verbSimple?) objectList)+
      ;
  
  propertyListPath
  