Interface IRI

All Superinterfaces:
Resource, Serializable, Value
All Known Implementing Classes:
AbstractIRI, CorruptIRI, CorruptIRIOrBNode, InternedIRI, LmdbIRI, MemIRI, NativeIRI, SimpleIRI

public interface IRI extends Resource
An Internationalized Resource Identifier (IRI). IRIs may contain characters from the Universal Character Set (Unicode/ISO 10646), including Chinese or Japanese kanji, Korean, Cyrillic characters, and so forth. It is defined by RFC 3987.

An IRI can be split into a namespace part and a local name part, which are derived from an IRI string by splitting it in two using the following algorithm:

  • Split after the first occurrence of the '#' character,
  • If this fails, split after the last occurrence of the '/' character,
  • If this fails, split after the last occurrence of the ':' character.
The last step should never fail as every legal (full) IRI contains at least one ':' character to separate the scheme from the rest of the IRI. The implementation should check this upon object creation.
Author:
Jeen Broekstra
See Also: