Collection Data Models


Preliminary Definition: see third definition in

We divide collections into two genesis groups:

  • Explicitly generated by naming each member's identifier.
  • Implicitly generated via a generating rule.

By definition, a collection can contain other subcollections.

Every collection bears a PID. Items in a collection are referenced by their identifier, which may be a globally resolvable PID, but also an identifier that is only locally resolvable.

Collection traits

Applications that use collections will typically support a specific interpretation on what a collection implies. These collection semantics have a direct influence on the actions possible on a collection. For example, an archival application may not allow users to remove objects from a collection or prevent all modifications of a collection after a certain point in time. In other cases, a collection may be created with the explicit goal to persistently refer to a growing number of objects, thereby making changes to a collection a default case. The idea of collection models is to describe these differences and unambiguously state which actions are possible by describing several collection traits. Each collection implementation may support one or more traits, which must be stated for every collection, and each trait implies a specific set of collection operations or properties.


Option A:

Option B: