Unique Identifiers for NDEx Objects

Networks, Users, Groups, and some other objects stored on an NDEx are of the type NdexExternalObject. They are assigned a externalId that is a universally unique identifier (UUID) and can be referenced at URIs based on the address of their host NDEx, the type of the object, and the object's externalId.

An NdexExternalObject also has timestamps for its creation and last modification time. All server operations that modify an external object are expected to update the last modification time.

NDExExternalObject

  • externalId : 128-bit UUID
  • creationTime : timestamp
  • modificationTime : timestamp

NDEx Server URI

Each NDEx server may be assigned a stable URI at which it is deployed.

Implications for Copying Networks

"Unique" in UUID must really mean unique: when a network is copied, the copy gets a new UUID on the NDEx where it is created. This is a central design issue for NDEx, supporting the construction of network provenance histories that can be used to track the chain of sources and events leading to the current state of a given network.