9 Structure Set and Mappings

Last modified by Helena on 2025/07/20 13:05

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
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

1747903802866-183.png

Figure 32: Inheritance Class Diagram of the Structure Set

9.2.2 Class Diagram – Relationship

1747903826235-315.png

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.
  2. A set of StructureMaps which define which components of one structure are equivalent to those in another in a ComponentMap.
  3. 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..
  4. 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

1747903909967-668.png

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

Associates an Item Scheme Map
ToTextFormat

Inherits from
RepresentationMapping

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.
ToValueType Enumeration 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 Identifies the Codelist where this is the source of the map.
TargetCodelist Identifies the Codelist where this is the target of the map.
SourceHierarchical Codelist Identifies the Hierarchical Codelist where this is the source of the map.
TargetHierarchical Codelist  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 Identifies the Code where this is the source of the map.
TargetCode Identifies the Code where this is the target of the map.
SourceHierarchical Code Identifies the Hierarchical Code where this is the source of the map
TargetHierarchical Code Identifies the Hierarchical Code where this is the target of the map.
HierarchicalCode Reference References both the Hierarchy and the Hierarchical Code in a Hierarchical Codelist.
 

+hierarchy
+codeAssociation

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