9 Structure Set and Mappings

Version 4.1 by Helena on 2025/05/19 23:53

9 Structure Set and Mappings

9.1 Scope

A StructureSet allows components in one structure to be mapped to components in another structure of the same type. In this context the term “structure” is used loosely to 1786 include types of ItemScheme, types of Structure, and types of StructureUsage. The allowable structures that can be mapped, and the components that can be mapped within 1788 these structures are:

Structure TypeComponent type
CodelistCode
Category SchemeCategory
Concept SchemeConcept
Organisation Scheme

Organisation – this allows mapping any type of Organisation to any type of Organisation (e.g. a Data Provider to an

Organisation Unit)

Hierarchical CodelistHierachical Code to Code or vice-versa
Data Structure Definition

Dimension, Measure Dimension, Time Dimension. Data Attribute, Primary

Measure

Metadata Structure DefinitionTarget Object, Metadata Attribute
Dataflow DefinitionNone
Metadataflow DefinitionNone

The StructureSet can contain one or more “maps” and can define related structures (via the association +relatedStructure) which group related DataStructureDefinitions, MetadataStructureDefinitions, DataflowDefinintions,

MetadataflowDefinintions.

9.2 Structure Set

9.2.1 Class Diagram – Inheritance

Figure 32: Inheritance Class Diagram of the Structure Set

9.2.2 Class Diagram – Relationship

Figure 33: Relationship Class diagram of the Structure Set

9.2.3 Explanation of the Diagram

9.2.3.1 Narrative

The StructureSet is a MaintainableArtefact. It can contain:

  1. A set of references to concrete sub-classes of Structure and StructureUsage (DataStructureDefinition, MetadataStructureDefinition, DataflowDefinition or MetadataflowDefinition) to indicate that a relationship exists between them. For example there may be a group of DataStructureDefinition which, together, form the definition of a cube, each

DataStructureDefinition defining a part of the cube.

  1. A set of StructureMaps which define which components of one structure are equivalent to those in another in a ComponentMap.
  2. A set of ItemSchemeMaps which define the mapping between two concrete classes of ItemScheme, and the mapping of the Items in these schemes, such as the mapping of Codes in two Codelists..
  3. A set of HybridCodelistMaps which define the mapping between a Codelist and a HierachicalCodelist.

The StructureMap references two Structures or StructureUsages. In concrete terms these references will be to DataStructureDefinitions, MetadataStructureDefinitions, DataflowDefinitions or MetadataflowDefinitions.

9.2.3.2 Definitions

ClassFeatureDescription
StructureSet

Inherits from

MaintainableArtefact

A maintainable collection of structural maps that link components together in a source/target relationship where there is a semantic equivalence between the source and the target components.
+relatedStructureAssociation to a set of Data Structure Definitions and Metadata Structure Definitions.
+relatedStructureUsageAssociation to a set of Dataflow Definition and Metadataflow Definition.
+mapAssociation to Structure Map.
+itemSchemeMapAssociation to Item Scheme Map
StructureMap

Inherits from

NameableArtefact

Links a source and target structure where there is a semantic equivalence between the source and the target structures.
sourceStructureAssociation to the source Structure.
targetStructureAssociation to the target Structure which must be of the same type as the source Structure.
sourceStructureUsageAssociation to the source Structure Usage.
targetStructureUsageAssociation to the target Structure Usage which must be of the same type as the source Structure Usage.

9.3 Structure Map

9.3.1 Class Diagram










<<enumeration>> ToValueType
name : String description : String id : String

Figure 34: Class diagram of the Structure Map

9.3.2 Explanation of the Diagram

9.3.2.1 Narrative

The StructureMap contains a set of ComponentMaps, each one indicating equivalence between Components of the referenced Structure. ComponentMap has a RepresentationMapping which can be one of the concete classes of ItemSchemeMap (e.g. for a Dimension this would be a CodelistMap) or ToTextFormat which takes values: id, name, description. This instructs mapping tools to use the id, name or description of a coded component to determine equivalence with an uncoded component's value.

An example of a ComponentMap is linking the source Component that is a Dimension in the source DataStructureDefinition (identified in the StructureMap) to the equivalent target Component that is a Dimension in the target DataStructureDefinition).

9.3.2.2 Definitions

ClassFeatureDescription
StructureMap

Inherits from

NameableArtefact

Links a source and target structure where there is a semantic equivalence between the source and the target structures.
aliasAn alternate identification of the map, that allows the relation of multiple maps to be expressed by the sharing of this value.
+mapAssociation to the Component Map.
ComponentMap

Inherits from

AnnotableArtefact

Links a source and target Component where there is a semantic equivalence between the source and the target Components.
aliasAn alternate identification of the map, that allows the relation of multiple maps to be expressed by the sharing of this value.
preferredLanguageSpecifies the language to use for the content of the To Text Format option of RepresentationMap
+sourceAssociation to the source Component.
+targetAssociation to the target Component.
+contentMapAssociation to the constructs that map the content of the Components – this will be either one of sub classes of Item Scheme or a mapping to text.
Representation Mapping

AbstractClass Sub classes:

SchemeMap

ToTextFormat

Defines the mapping of the content of the source Component to the content of the target Component.
SchemeMap

Inherits from

RepresentationMapping &nbsp;&nbsp;&nbsp;

Associates an Item Scheme Map
ToTextFormat

Inherits from

RepresentationMapping &nbsp;&nbsp;&nbsp;

Defines the text format
textFormatText format type.
toValueTypeIdentifies the construct to be taken from the Item of the source Component when mapping the content of the source Component to the content of the target Component.
ToValueTypeEnumeration of the construct in the Item.

9.4 Item Scheme Map

9.4.1 Context

The ItemSchemeMap is used to associate the Items in two different ItemSchemes. This is a generic mechanism that can be used to map Items. Specific models exist for mapping schemes where there is a semantic equivalence between Items in the ItemScheme. The model supports the mapping of any two ItemSchemes of the same type. These are:

  • ConceptScheme
  • CategoryScheme
  • OrganisationScheme
  • Codelist
  • ReportingTaxonomy

9.4.2 Class Diagram

SDMX_2-1_SECTION_2_InformationModel_2020-07_f7e5c308.png

Figure 35: Class diagram of the Item Scheme Map

9.4.3 Explanation of the Diagram

9.4.3.1 Narrative

Both the ItemSchemeMap and the ItemAssociation inherit from NameableArtefact.

Each of ConceptSchemeMap, CategorySchemeMap, CodelistMap and OrganisationSchemeMap, ReportingTaxonomyMap provides a mechanism for specifying semantic equivalence between the items (Concept, Category,Code, Organisation, ReportingCategory) in the scheme. Note that any type of OrganisationScheme and Organisation can be mapped (e.g. an Agency in an AgencyScheme can be mapped to an OrganisationUnit in an

OrganisationUnitScheme).

Each scheme map identifies a +source and +target scheme whose content is to be mapped. Note that many schemes can be joined together via a set of pair-wise mappings. The ConceptMap, CategoryMap, CodelistMap, OrganisationMap,and ReportingTaxonomyMap denotes which Concepts, Categorys, Codes, Organisations, and ReportingCategorys are semantically equivalent and a shared alias can be specified to refer to a set of mapped concepts to facilitate querying.

9.4.3.2 Definitions

ClassFeatureDescription
ItemSchemeMapInherits fromAssociates Schemes two Item

NameableArtefact

Sub Classes

ConceptSchemeMap

CategorySchemeMap

CodelistMap

OrganisationSchemeMap

ReportingTaxonomyScheme

Map


sourceAssociation to the source Item Scheme.
targetAssociation to the target Item Scheme.
ItemAssociationAssociation to the Item Association.
ItemAssociation

Inherits from

AnnotableArtefact

Sub Classes

ConceptMap

CategoryMap

CodeMap

OrganisationMap

ReportingCategoryMap


sourceAssociation to the source Item.
targetAssociation to the target Item.
ConceptSchemeMap

Inherits from

ItemSchemeMap

Associates a source and target Concept Scheme
/sourceAssociation to the source Concept Scheme.
/targetAssociation to the target Concept Scheme.
ConceptMap

Inherits from

ItemAssociation

Associates a source and target Concept.
/sourceAssociation to the source Concept.
/targetAssociation to the target Concept.
CodelistMap

Inherits from

ItemSchemeMap

Associates a source and target Code list.
/sourceAssociation to the source Code list.
/targetAssociation to the target Code list.
CodeMap

Inherits from

ItemAssociation

Associates a source and target Code.
/sourceAssociation to the source Code.
/targetAssociation to the target Code.
CategorySchemeMap

Inherits from

ItemSchemeMap

Associates a source and target Category Scheme.
/sourceAssociation to the source Category Scheme.
/targetAssociation to the target Category Scheme.
CategoryMap

Inherits from

ItemAssociation

Associates a source and target Category.
/sourceAssociation to the source Category.
/targetAssociation to the target Category.
OrganisationSchemeMap

Inherits from

ItemSchemeMap

Associates a source and target Organisation Scheme.
/sourceAssociation to the source Organisation Scheme.
/targetAssociation to the target Organisation Scheme.
OrganisationMap

Inherits from

ItemAssociation

Associates a source and target Organisation.
/sourceAssociation to the source Organisation.
/targetAssociation to the target Organisation.
ReportingTaxonomyMap

Inherits from

ItemSchemeMap

Associates a source and target Reporting

Taxonomy.

/sourceAssociation to the source Reporting Taxonomy.
/targetAssociation to the target Reporting Taxonomy.
ReportingCategoryMap

Inherits from

ItemAssociation

Associates a source and target Reporting

Category.

/sourceAssociation to the source Reporting Category.
/targetAssociation to the target Reporting Category.

9.5 Hybrid Codelist Map

9.5.1 Class Diagram

SDMX_2-1_SECTION_2_InformationModel_2020-07_44d2e12d.png

Figure 36: Class diagram of the Hybrid Codelist Map

9.5.2 Explanation of the Diagram

9.5.2.1 Narrative

The HybridCodelistMap maps the content of a Codelist and a HierachicalCodelist. It contains a mapping of the codes in the two schemes (HybridCodeMap). The HybridCodeMap maps either a Code or HierachicalCode to a Code or HierarchicalCode. The HierarchicalCode is identified by a combination of the Hierarchy and the HierarchicalCode.

9.5.2.2 Definitions

ClassFeatureDescription
HybridCodelist Map

Inherits from

NameableArtefact

Associates a Codelist and a Hierarchical Codelist.
aliasAn alternate identification of the map, that allows the relation of multiple maps to be expressed by the sharing of this value.
+sourceAssociation to the source List.
+targetAssociation to the target List.
+hybridCodeMapAssociation to the set of Hybrid Code Maps in the Hybrid Codelist Map.
SourceList

Abstract Class

Sub classes

SourceCodelist

SourceHierarchical

Codelist


TargetList

Abstract Class

Sub classes

TargetCodelist

TargetHierarchical

Codelist


SourceCodelist &nbsp;&nbsp;&nbsp;Identifies the Codelist where this is the source of the map.
TargetCodelist &nbsp;&nbsp;&nbsp;Identifies the Codelist where this is the target of the map.
SourceHierarchical Codelist &nbsp;&nbsp;&nbsp;Identifies the Hierarchical Codelist where this is the source of the map.
TargetHierarchical Codelist &nbsp;&nbsp;&nbsp;Identifies the Hierarchical Codelist where this is the target of the map.
HybridCodeMap

Inherits from

AnnotableArtefact

Associates the source and target codes in

Hybrid Codelist Map.

+sourceAssociates the Source Code Map.
+targetAssociates the Target Code Map.
SourceCodeMap

Abstract Class

Sub classes

SourceCode

SourceHierarchical

Code


TargetCodeMap

Abstract Class

Sub classes

TargetCode

TargetHierarchical

Code


SourceCode &nbsp;&nbsp;&nbsp;Identifies the Code where this is the source of the map.
TargetCode &nbsp;&nbsp;&nbsp;Identifies the Code where this is the target of the map.
SourceHierarchical Code &nbsp;&nbsp;&nbsp;Identifies the Hierarchical Code where this is the source of the map
TargetHierarchical Code &nbsp;&nbsp;&nbsp;Identifies the Hierarchical Code where this is the target of the map.
HierarchicalCode ReferenceReferences both the Hierarchy and the Hierarchical Code in a Hierarchical Codelist.

+hierarchy

+codeAssociation

Associates the Hierarchical Code in the Hierarchy of the Hierarchical Codelist.