Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Identifiable objects are identifiable by agency, id, and version. This identifier is universally unique. Sometimes, the id alone is universally unique – there is an extra field in AnnotatedIdentifiable to document this.
  • AnnotatedIdentifiable: Within a given context you can define a localId and a localVersion. Example: in the context of a dataset, a variable name is unique and is therefore a localId.

 

Modelling nested collections (added by Flavio)

The new collection structure has a container (Collection) and members (Member). In order to allow for nested collections without resorting to multiple inheritance, we have to make Member a subclass of Collection. That has implications in cases like Node and NodeSet, since it will make Node a Collection too. We need to discuss this. The following diagram illustrates the model:

Image Added

 

Modelling correspondences/maps (added by Flavio)

We have two different ways of modelling correspondences at the member level. A correspondence between members is a set containing all members that map to each other, i.e. they are equivalent of similar. In such a generic representation there is no order between members. However, order might be needed in some cases, e.g. GSIM Map has a source and a target. There are two ways to introduce order in this scenario. The first one is by making the MemberCorrespondence object a subtype of Collection, in which case we could define precedence as an order relation, as shown in the following diagram:

Image RemovedImage Added

 The The second option is to create a subtype of MemberCorrespondence to deal with order, as shown in the following diagram:

Image RemovedImage Added

We need to decide which one to use.

...