anchor.diff:      ;
   
   groupOrUnionGraphPattern
  -    : groupGraphPattern (UNION groupGraphPattern)* -> groupGraphPattern ^(UNION groupGraphPattern*)?
  +    : groupGraphPattern (UNION ^groupGraphPattern)*
       ;
   
   filter
  
positive.code:     ; 	
  
  triplesBlock
      : triplesSameSubjectPath ( DOT triplesSameSubjectPath)* DOT? -> ^(TRIPLESBLOCK triplesSameSubjectPath+)
      ;
  
  graphPatternNotTriples
  
negative.code:     ;
  
  triplesSameSubjectPath
      : varOrTerm propertyListNotEmptyPath -> ^(TRIPLE varOrTerm* propertyListNotEmptyPath*)
      | triplesNode propertyListPath -> ^(TRIPLE triplesNode* propertyListPath*)
      ;
    
  propertyListNotEmptyPath
  