Skip to end of banner
Go to start of banner

ContextItem Data - 2016 ASABE AIM

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 5 Next »

Basic Concept: Identity and the Compound Identifier

The CompoundIdentifier serves two purposes.

First, it has a locally-scoped identifier (ReferenceId) which allows its parent object to be used by reference within a given dataset.

Second, it enables the association of multiple unique identifiers and their origin information (UniqueId) to an object. This results in an enhanced exchange of data between different systems because each system can include its internal, unique identifier for an object.

 

Systems vary in the way they choose to construct unique identifiers. It is for this reason, that the UniqueId class uses a combination of string (Id) and enumeration (CompoundIdentifierTypeEnum) to fully describe the unique identifier.

Almost as important is the need to capture the originating source, or issuing authority of the identifier. Again, a combination of string (Source) and enumeration (IdSourceTypeEnum) are used to fully describe the identifier's source. 

The ContextItem System Data Model: Bird's-eye view

(Note: showing all relationships)

asddasds

asdasd

Detailed ContextItem System Data Model

(Note: CompoundIdentifier not shown for clarity; see separate class diagram.)

A ContextItem is a single, specific, use of a ContextItemDefinition. Put a simpler way, a ContextItem is a key / value pair. Its Code property is the "key" (corresponding to the Code property of a ContextItemDefinition), while the rest of its properties describe the "value". 

The Value property is ALWAYS expressed as a string even though that may not be how it was collected or how it is expected to be used elsewhere. The ValueType property of the ContextItemDefinition, that corresponds to the "key" Code, supplies the user with this data type information. In some cases, like the presence of NestedItems, there is no real Value to record so this property is optional.

The ValueUOM property contains the optional unit of measure that should be associated with the Value.

The NestedItems collection allow ContextItems to be used in nested hierarchies if the ContextItemDefiniton's ValueType is "Nested". 

Notice the inclusion of an optional collection of TimeScope objects. This is used to record the relationships a given Value may have with time. For example, there could be a TimeScope that captures when the Value was recorded and another TimeScope that expresses the duration for which the Value is considered valid.

 

asddasd

 

  • No labels