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 page. View the current version.

Compare with Current View Version History

« Previous Version 10 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 collection of data (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 unique Code property of a single 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 associated ContextItemDefinition 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, further defining the Value. A DefaultUOM property is included with the associated ContextItemDefinition and may be used instead of including it locally with the ContextItem. In an effort to foster the broadest appeal, UN Rec 20 codes will be the default vocabulary for expressing units of measure.

If the ContextItemDefinition has a ValueType of "Nested", the NestedItems collection allows a resulting ContextItem to support a hierarchical structure of organizing other instances of ContextItem. See the below discussion about the NestedItemIds property of ContextItemDefinition for further information.

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.

 

ContextItemDefinition

Code

  • Structure
  • Central issuing authority

Version: Change detection

Status: Active or Inactive?

ValueType: Supported data types

  • Bool
  • String
  • Double
  • Integer
  • Enum
  • Nested

Description: Friendly name for use in a pick list.

Keywords: Aid for querying

Lexicalizations:  External controlled vocabulary for Language using IANA Language Subtag Registry.

Properties: Additional information needed to use the definition correctly.

NestedDefIds

Presentations: Mechanism to validate input and format display of values

EnumItems: How we support enumerated lists.

DefaultUOM

AllowConversion: Can the value be entered in a unit compatible with DefaultUOM, or does it have to be in the default units?

TimeScopes: When this Definition was created, updated, date range it is valid for.

ModelScopeIds: Internal controlled vocabulary of ADAPT & ISO11783 objects. Expandable to other models.

GeoPoliticalContextIds: External controlled vocabulary using FAO Geopolitical Ontology.

 

 

  • No labels