SWIM-INFO-008 Unique identifiers for concepts

Last updated:  AUGUST 26th, 2019

Page Table of Content

Requirement

Title

Unique identifiers for concepts

Identifier

SWIM-INFO-008

Requirement

An information definition shall provide explicit unique identifiers, in accordance with IETF RFC 3986 [RD 16], for each of its concepts or ensure that each concept is uniquely identifiable within the information definition.

Rationale

The unique identifiers can be used in statements of semantic correspondence to ensure that mappings are unambiguous.

Verification

Completeness

Examples/Notes

Note: Explicit unique identifiers can be provided, for example, as metadata fields attached to the concept in the information definition.

Level of Implementation

Mandatory

Guidance

IETF RFC 3986 is available at https://tools.ietf.org/html/rfc3986. It details the generic syntax for uniform resource identifiers (URIs). The standard gives the following examples of URI schemes:

  • ftp://ftp.is.co.za/rfc/rfc1808.txt
  • http://www.ietf.org/rfc/rfc2396.txt
  • ldap://[2001:db8::7]/c=GB?objectClass?one
  • mailto:[email protected]
  • news:comp.infosystems.www.servers.unix
  • tel:+1-816-555-1212
  • telnet://192.0.2.16:80/
  • urn:oasis:names:specification:docbook:dtd:xml:4.1.2

The ATM Information Reference Model uses the urn scheme.

The specification accepts that not all information definitions adopt the IETF RFC 3986 approach. Therefore it permits other ways to ensure a concept is uniquely identifiable. This means the requirement can be satisfied by:

  • ensuring the concept can be identified by being unique within its namespace. In effect the identifier becomes the namespace plus the concept name.
  • another identifier scheme. This may, for example, be an identifier scheme used in a service.

The specification does not put any requirements on who generates the identifier or how it is generated. However, it is assumed that they are generated by the organisation responsible for creating the information definition.

Verification Support

Completeness

Check that either:

[  ] Each concept has a unique identifier in accordance with IETF RFC 3986.

or

[  ] Each concept can be uniquely identified through some other mechanism e.g. by being uniquely named in a namespace.

Examples

The following examples show how to add explicit identifiers in XML Schema when needed.

Simple example

The example below shows how a simple identifier can be embedded into an XML schema. It makes use of the "id" attribute within the XML schema definition language. It is "simple" in the sense that the identifier has no intrinsic semantics of its own.

A complete example is available at: complete example.

Example of SWIM-INFO-008
<xs:element name="tobt" id="donlon003">

Advanced example

The example below shows a more advanced identifier. This takes the form of a URN that links to a given resource.

Example of SWIM-INFO-008
<xs:element name="tobt" id="http://swim.donlon-airport.com/property/tobt">