anchor.diff:      ; 	
   
   triplesBlock
  -    : triplesSameSubjectPath ( DOT triplesSameSubjectPath)* DOT? -> triplesSameSubjectPath+
  +    : triplesSameSubjectPath ( DOT triplesSameSubjectPath)* DOT? -> ^(TRIPLES_BLOCK triplesSameSubjectPath+)
       ;
   
   graphPatternNotTriples
  
positive.code: 	
  triplesNode
      : OPEN_BRACE graphNode+ CLOSE_BRACE -> ^(COLLECTION graphNode+)
      | OPEN_SQUARE_BRACKET propertyListNotEmpty[new CommonTree(new CommonToken(VAR,"[ ]"))] CLOSE_SQUARE_BRACKET -> ^(VAR["[ ]"] propertyListNotEmpty)
      ;
  
  graphNode
  
negative.code:     ;
      	
  path
      : pathSequence ( PIPE pathSequence )* -> PATH pathSequence ( PIPE pathSequence )*
      ; 
  
  pathSequence
  