anchor.diff:  	|	GREATER
   	;
   
  -LENGTH_LABEL
  -	:	'length'
  -	;
  -
  -MIN_LENGTH_LABEL
  -	:	'minLength'
  -	;
  -
  -MAX_LENGTH_LABEL
  -	:	'maxLength'
  -	;
  -
  -PATTERN_LABEL
  -	:	'pattern'
  -	;
  -
  -LANG_PATTERN_LABEL
  -	:	'langPattern'
  -	;
  -
   restrictionValue
   	:	literal
   	;
   
  -inverseObjectProperty
  -	:	INVERSE_LABEL objectPropertyIRI
  -	;
  -
  -INVERSE_LABEL
  -	:	'inverse'
  -	;
   
   decimalLiteral
   	: (PLUS | MINUS)? DIGIT+ DOT DIGIT+
  
positive.code: 	:	dataPrimary (AND_LABEL dataPrimary)*
  	;
  
  classIRI
  	: iri
  	;
  
  abbreviatedIRI
      : prefixName simpleIRI
      ;
  
      
  prefixName
      : PN_PREFIX? ':'
      ;
  
  //fragment
  PN_PREFIX
      : (PN_CHARS)* // ~TERMINALS
      ;
  
  fragment
  
negative.code: //	|	dataPropertyExpression EXACTLY_LABEL nonNegativeInteger (dataRange)?
  	;
  
  
  atomic
  	:	iri
  	|	OPEN_CURLY_BRACE individualList CLOSE_CURLY_BRACE
  	|	OPEN_BRACE description CLOSE_BRACE
  	;
  
  individualList
  	:	individual (COMMA individual)*
  	;
  
  COMMA	:	',';
  
  OPEN_BRACE
  