anchor.diff:  	:	dataPrimary (AND_LABEL dataPrimary)*
   	;
   
  -classIRI
  -	: iri
  -	;
  -
  -abbreviatedIRI
  -    : prefixName simpleIRI
  -    ;
  -
  -    
  -prefixName
  -    : PN_PREFIX? ':'
  -    ;
  -
   //fragment
  +//ABBREVIATED_IRI
  +//    : PREFIX_NAME SIMPLE_IRI
  +//    ;
  +
  +fragment
  +PREFIX_NAME
  +    : PN_PREFIX ':'
  +    ;
  +
  +fragment
   PN_PREFIX
  -    : (PN_CHARS)* // ~TERMINALS
  +    : (PN_CHARS)*
       ;
   
   fragment
  
positive.code:     | '\u203F'..'\u2040'
      ;
  
  simpleIRI
  	:	PN_LOCAL
  	;
  
  PN_LOCAL
      : ( PN_CHARS_U | DIGIT ) ((PN_CHARS|DOT)* PN_CHARS)?
      ;
  
  
  fragment
  EOL
      : '\n' | '\r'
      ;
  
  fragment
  TERMINALS
  	:	AND_LABEL
  	|	OR_LABEL
  	|	INVERSE_LABEL
  	|	LENGTH_LABEL
  	|	MAX_LABEL
  	|	MAX_LENGTH_LABEL
  	|	PATTERN_LABEL
  	|	SOME_LABEL
  	|	ONLY_LABEL
  	|	VALUE_LABEL
  	|	SELF_LABEL
  	|	INTEGER_LABEL
  	|	DECIMAL_LABEL
  	|	FLOAT_LABEL
  	|	STRING_LABEL
  	;
  
negative.code: nonNegativeInteger
  	: DIGIT+
  	;
  
  dataPrimary
  	:	NOT_LABEL? dataAtomic
  