anchor.diff:      ;
       
   triplesTemplate
  -    : triplesSameSubject ( DOT triplesSameSubject )* DOT? -> ^(TRIPLESTEMPLATE triplesSameSubject+)
  +    : triplesSameSubject ( DOT triplesSameSubject )* DOT? -> triplesSameSubject ^(TRIPLESTEMPLATE triplesSameSubject*)?
       ;
       	
   groupGraphPattern
  
positive.code: 
  triplesSameSubject
      : varOrTerm propertyListNotEmpty[(CommonTree) $varOrTerm.tree] -> propertyListNotEmpty
      | triplesNode propertyListNotEmpty[(CommonTree) $triplesNode.tree]? -> triplesNode propertyListNotEmpty?
      ;
  
  propertyListNotEmpty[CommonTree subject]
  
negative.code:     ;
  
  bindingsClause
      : (BINDINGS var* OPEN_CURLY_BRACE bindingValueList* CLOSE_CURLY_BRACE)? -> ^(BINDINGS var* bindingValueList*)?
      ;
      
  bindingValueList
  