anchor.diff:      ;
   
   triplesSameSubject
  -    : ^(TRIPLE propertyListNotEmpty)
  -    | ^(TRIPLE triplesNode (propertyListNotEmpty)?)
  +    : ^(TRIPLES_SAME_SUBJECT ^(SUBJECT varOrTerm) propertyListNotEmpty)
  +    | ^(TRIPLES_SAME_SUBJECT triplesNode (^(SUBJECT BLANK_NODE) propertyListNotEmpty)?)
       ;
       
   propertyListNotEmpty
  -    : (^(SUBJECT varOrTerm) ^(PREDICATE verb) objectList)+
  +    : (^(PREDICATE verb)  objectList)+
       ;
   
   objectList
  
positive.code:     ;  	
  
  pathOneInPropertySet
      : INVERSE? ( iriRef | A )
      ;
  	
  triplesNode
      : ^(COLLECTION graphNode+)
      | ^(PROPERTY_LIST propertyListNotEmpty)
      ;
  
  graphNode
  
negative.code:     ;
  
  triplesBlock
      : triplesSameSubjectPath+
      ;
  
  graphPatternNotTriples
  