anchor.diff:  	
   triplesNode
       : OPEN_BRACE graphNode+ CLOSE_BRACE -> ^(COLLECTION graphNode+)
  -    | v=OPEN_SQUARE_BRACKET propertyListNotEmpty[(CommonTree) $v.tree] CLOSE_SQUARE_BRACKET -> propertyListNotEmpty
  +    | OPEN_SQUARE_BRACKET propertyListNotEmpty[new CommonTree(new CommonToken(VAR,"[ ]"))] CLOSE_SQUARE_BRACKET -> ^(VAR["[ ]"] propertyListNotEmpty)
       ;
   
   graphNode
  
positive.code: OBJECT;
  NOTEXISTS;
  FUNCTION;
  }
  
  @header {
  
negative.code:     ;
  
  triplesSameSubject
      : v=varOrTerm propertyListNotEmpty[(CommonTree) $varOrTerm.tree] -> ^(TRIPLE /*$v*/ propertyListNotEmpty)
      | (t=triplesNode -> $t) (p=propertyListNotEmpty[(CommonTree) $triplesNode.tree]? -> ^(TRIPLE $triplesSameSubject $p?))
      ;
  
  propertyListNotEmpty[CommonTree subject]
  