Changes for page 13 Structure Mapping

Last modified by Helena on 2025/09/10 11:19

From version 23.4
edited by Elena
on 2025/06/17 20:01
Change comment: There is no comment for this version
To version 23.2
edited by Artur
on 2025/06/06 12:55
Change comment: Update document after refactoring.

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -xwiki:XWiki.elenasemanticproorg
1 +xwiki:XWiki.arturkryazhev
Content
... ... @@ -8,7 +8,7 @@
8 8  
9 9  Structure mapping does not alter the [[observation values>>doc:Glossary.Observation value.WebHome]] and is not intended to perform any aggregations or calculations.
10 10  
11 -An input series maps to:
11 +An input series (% style="color:#e74c3c" %)maps(%%) to:
12 12  
13 13  1. Exactly one output series; or
14 14  1. Multiple output series with different [[Series Keys>>doc:Glossary.Series key.WebHome]], but the same [[observation values>>doc:Glossary.Observation value.WebHome]]; or
... ... @@ -25,7 +25,7 @@
25 25  
26 26  1-1 (pronounced 'one to one') mappings support the simple use case where the value of a [[Component>>doc:Glossary.Component.WebHome]] in the source structure is translated to a different value in the target, usually where different classification schemes are used for the same Concept.
27 27  
28 -In the example below, ISO 2-character country [[codes>>doc:Glossary.Code.WebHome]] are mapped to their ISO 3character equivalent.
28 +In the example below, ISO 2-character country [[codes>>doc:Glossary.Code.WebHome]] are (% style="color:#e74c3c" %)mapped(%%) to their ISO 3character equivalent.
29 29  
30 30  (% style="width:666.294px" %)
31 31  |(% style="width:217px" %)**Country**|(% style="width:251px" %)**Alpha-2 code**|(% style="width:195px" %)**Alpha-3 code**
... ... @@ -36,7 +36,7 @@
36 36  |(% style="width:217px" %)Andorra|(% style="width:251px" %)AD|(% style="width:195px" %)AND
37 37  |(% style="width:217px" %)etc…|(% style="width:251px" %) |(% style="width:195px" %)
38 38  
39 -Different source values can also map to the same target value, for example when deriving regions from country [[codes>>doc:Glossary.Code.WebHome]].
39 +Different source values can also (% style="color:#e74c3c" %)map(%%) to the same target value, for example when deriving regions from country [[codes>>doc:Glossary.Code.WebHome]].
40 40  
41 41  (% style="width:674.294px" %)
42 42  |(% style="width:284px" %)**Source Component:
... ... @@ -50,7 +50,7 @@
50 50  
51 51  == 13.3 N-n structure maps ==
52 52  
53 -N-n (pronounced 'N to N') mappings describe rules where a specified combination of values in multiple source [[Components>>doc:Glossary.Component.WebHome]] map to specified values in one or more target [[Components>>doc:Glossary.Component.WebHome]]. For example, when mapping a partial [[Series Key>>doc:Glossary.Series key.WebHome]] from a highly multidimensional cube (like Balance of Payments) to a single 'Indicator' [[Dimension>>doc:Glossary.Dimension.WebHome]] in a target Data Structure.
53 +N-n (pronounced 'N to N') mappings describe rules where a specified combination of values in multiple source [[Components>>doc:Glossary.Component.WebHome]] (% style="color:#e74c3c" %)map(%%) to specified values in one or more target [[Components>>doc:Glossary.Component.WebHome]]. For example, when mapping a partial [[Series Key>>doc:Glossary.Series key.WebHome]] from a highly multidimensional cube (like Balance of Payments) to a single 'Indicator' [[Dimension>>doc:Glossary.Dimension.WebHome]] in a target Data Structure.
54 54  
55 55  Example:
56 56  
... ... @@ -95,9 +95,9 @@
95 95  
96 96  == 13.4 Ambiguous mapping rules ==
97 97  
98 -A structure [[map>>doc:Glossary.Map.WebHome]] is ambiguous if the rules result in a [[dataset>>doc:Glossary.Data set.WebHome]] containing multiple series with the same Series Key.
98 +A structure (% style="color:#e74c3c" %)map(%%) is ambiguous if the rules result in a [[dataset>>doc:Glossary.Data set.WebHome]] containing multiple series with the same Series Key.
99 99  
100 -A simple example mapping a source [[dataset>>doc:Glossary.Data set.WebHome]] with a single [[dimension>>doc:Glossary.Dimension.WebHome]] to one with multiple [[dimensions>>doc:Glossary.Dimension.WebHome]] is shown below:
100 +A simple example (% style="color:#e74c3c" %)mapping(%%) a source [[dataset>>doc:Glossary.Data set.WebHome]] with a single [[dimension>>doc:Glossary.Dimension.WebHome]] to one with multiple [[dimensions>>doc:Glossary.Dimension.WebHome]] is shown below:
101 101  
102 102  (% style="width:819.294px" %)
103 103  |(% style="width:240px" %)**Source**|(% style="width:246px" %)**Target**|(% style="width:329px" %)**Output Series Key**
... ... @@ -124,15 +124,15 @@
124 124  
125 125  == 13.5 Representation maps ==
126 126  
127 -[[Representation>>doc:Glossary.Representation.WebHome]] Maps replace the [[SDMX>>doc:Glossary.Statistical data and metadata exchange.WebHome]] 2.1 Codelist Maps and are used describe explicit mappings between source and target [[Component>>doc:Glossary.Component.WebHome]] values.
127 +[[Representation>>doc:Glossary.Representation.WebHome]] (% style="color:#e74c3c" %)Maps(%%) replace the [[SDMX>>doc:Glossary.Statistical data and metadata exchange.WebHome]] 2.1 Codelist (% style="color:#e74c3c" %)Maps(%%) and are used describe explicit mappings between source and target [[Component>>doc:Glossary.Component.WebHome]] values.
128 128  
129 -The source and target of a [[Representation>>doc:Glossary.Representation.WebHome]] Map can reference any of the following:
129 +The source and target of a [[Representation>>doc:Glossary.Representation.WebHome]] (% style="color:#e74c3c" %)Map(%%) can reference any of the following:
130 130  
131 131  1. Codelist
132 132  1. Free Text (restricted by type, e.g String, Integer, Boolean)
133 133  1. Valuelist
134 134  
135 -A [[Representation>>doc:Glossary.Representation.WebHome]] Map mapping ISO 2-character to ISO 3-character Codelists would take the following form:
135 +A [[Representation>>doc:Glossary.Representation.WebHome]] (% style="color:#e74c3c" %)Map(%%) mapping ISO 2-character to ISO 3-character Codelists would take the following form:
136 136  
137 137  (% style="width:763.294px" %)
138 138  |(% style="width:252px" %)**CL_ISO_ALPHA2**|(% style="width:508px" %)**CL_ISO_ALPHA3**
... ... @@ -143,7 +143,7 @@
143 143  |(% style="width:252px" %)AD|(% style="width:508px" %)AND
144 144  |(% style="width:252px" %)etc…|(% style="width:508px" %)
145 145  
146 -A [[Representation>>doc:Glossary.Representation.WebHome]] Map mapping free text country names to an ISO 2-character Codelist could be similarly described:
146 +A [[Representation>>doc:Glossary.Representation.WebHome]] (% style="color:#e74c3c" %)Map(%%) mapping free text country names to an ISO 2-character Codelist could be similarly described:
147 147  
148 148  (% style="width:770.294px" %)
149 149  |(% style="width:247px" %)**Text**|(% style="width:520px" %)**CL_ISO_ALPHA2**
... ... @@ -157,7 +157,7 @@
157 157  
158 158  Valuelists, introduced in [[SDMX>>doc:Glossary.Statistical data and metadata exchange.WebHome]] 3.0, are equivalent to Codelists but allow the maintenance of non-[[SDMX>>doc:Glossary.Statistical data and metadata exchange.WebHome]] identifiers. Importantly, their IDs do not need to conform to IDType, but as a consequence are not Identifiable.
159 159  
160 -When used in [[Representation>>doc:Glossary.Representation.WebHome]] Maps, Valuelists allow Non-[[SDMX>>doc:Glossary.Statistical data and metadata exchange.WebHome]] identifiers containing characters like £, $, % to be mapped to [[Code>>doc:Glossary.Code.WebHome]] IDs, or [[Codes>>doc:Glossary.Code.WebHome]] mapped to non-[[SDMX>>doc:Glossary.Statistical data and metadata exchange.WebHome]] identifiers.
160 +When used in [[Representation>>doc:Glossary.Representation.WebHome]] (% style="color:#e74c3c" %)Maps(%%), Valuelists allow Non-[[SDMX>>doc:Glossary.Statistical data and metadata exchange.WebHome]] identifiers containing characters like £, $, % to be (% style="color:#e74c3c" %)mapped(%%) to [[Code>>doc:Glossary.Code.WebHome]] IDs, or [[Codes>>doc:Glossary.Code.WebHome]] (% style="color:#e74c3c" %)mapped(%%) to non-[[SDMX>>doc:Glossary.Statistical data and metadata exchange.WebHome]] identifiers.
161 161  
162 162  In common with Codelists, each item in a Valuelist has a multilingual name giving it a human-readable label and an optional description. For example:
163 163  
... ... @@ -167,25 +167,25 @@
167 167  |(% style="width:126px" %)%|(% style="width:153px" %)En|(% style="width:498px" %)Percentage
168 168  |(% style="width:126px" %) |(% style="width:153px" %)fr|(% style="width:498px" %)Pourcentage
169 169  
170 -Other characteristics of [[Representation>>doc:Glossary.Representation.WebHome]] Maps:
170 +Other characteristics of [[Representation>>doc:Glossary.Representation.WebHome]] (% style="color:#e74c3c" %)Maps(%%):
171 171  
172 -* Support the mapping of multiple source [[Component>>doc:Glossary.Component.WebHome]] values to multiple Target [[Component>>doc:Glossary.Component.WebHome]] values as described in section 13.3 on n-to-n mappings; this covers also the case of mapping an [[Attribute>>doc:Glossary.Attribute.WebHome]] with an array [[representation>>doc:Glossary.Representation.WebHome]] to map combinations of values to a single target value;
173 -* Allow source or target mappings for an Item to be optional allowing rules such as 'A maps to nothing' or 'nothing maps to A'; and
174 -* Support for mapping rules where regular expressions or substrings are used to match source [[Component>>doc:Glossary.Component.WebHome]] values. Refer to section 13.6 for more on this topic.
172 +* Support the (% style="color:#e74c3c" %)mapping(%%) of multiple source [[Component>>doc:Glossary.Component.WebHome]] values to multiple Target [[Component>>doc:Glossary.Component.WebHome]] values as described in section 13.3 on n-to-n mappings; this covers also the case of (% style="color:#e74c3c" %)mapping(%%) an [[Attribute>>doc:Glossary.Attribute.WebHome]] with an array [[representation>>doc:Glossary.Representation.WebHome]] to (% style="color:#e74c3c" %)map(%%) combinations of values to a single target value;
173 +* Allow source or target mappings for an Item to be optional allowing rules such as 'A (% style="color:#e74c3c" %)maps(%%) to nothing' or 'nothing (% style="color:#e74c3c" %)maps(%%) to A'; and
174 +* Support for (% style="color:#e74c3c" %)mapping(%%) rules where regular expressions or substrings are used to match source [[Component>>doc:Glossary.Component.WebHome]] values. Refer to section 13.6 for more on this topic.
175 175  
176 176  == 13.6 Regular expression and substring rules ==
177 177  
178 178  It is common for classifications to contain meanings within the identifier, for example the [[code>>doc:Glossary.Code.WebHome]] Id 'XULADS' may refer to a particular seasonality because it starts with the letters XU.
179 179  
180 -With [[SDMX>>doc:Glossary.Statistical data and metadata exchange.WebHome]] 2.1 each [[code>>doc:Glossary.Code.WebHome]] that starts with XU had to be individually mapped to the same seasonality, and additional mappings added when new [[Codes>>doc:Glossary.Code.WebHome]] were added to the Codelists. This led to many hundreds or thousands of mappings which can be more efficiently summarised in a single conceptual rule:
180 +With [[SDMX>>doc:Glossary.Statistical data and metadata exchange.WebHome]] 2.1 each [[code>>doc:Glossary.Code.WebHome]] that starts with XU had to be individually (% style="color:#e74c3c" %)mapped(%%) to the same seasonality, and additional mappings added when new [[Codes>>doc:Glossary.Code.WebHome]] were added to the Codelists. This led to many hundreds or thousands of mappings which can be more efficiently summarised in a single conceptual rule:
181 181  
182 -//If starts with 'XU' [[map>>doc:Glossary.Map.WebHome]] to 'Y'//
182 +//If starts with 'XU' (% style="color:#e74c3c" %)map(%%) to 'Y'//
183 183  
184 184  These rules are described using either regular expressions, or substrings for simpler use cases.
185 185  
186 186  === 13.6.1 Regular expressions ===
187 187  
188 -Regular expression mapping rules are defined in the [[Representation>>doc:Glossary.Representation.WebHome]] Map.
188 +Regular expression (% style="color:#e74c3c" %)mapping(%%) rules are defined in the [[Representation>>doc:Glossary.Representation.WebHome]] (% style="color:#e74c3c" %)Map(%%).
189 189  
190 190  Below is an example set of regular expression rules for a particular [[component>>doc:Glossary.Component.WebHome]].
191 191  
... ... @@ -230,7 +230,7 @@
230 230  |(% style="width:191px" %)ABC_DEF_XYZ|(% style="width:154px" %)5|(% style="width:211px" %)3|(% style="width:182px" %)DEF
231 231  |(% style="width:191px" %)XULADS|(% style="width:154px" %)1|(% style="width:211px" %)2|(% style="width:182px" %)XU
232 232  
233 -Sub-strings can therefore be used for the conceptual rule //If starts with 'XU' [[map>>doc:Glossary.Map.WebHome]] to Y// as shown in the following example:
233 +Sub-strings can therefore be used for the conceptual rule //If starts with 'XU' (% style="color:#e74c3c" %)map(%%) to Y// as shown in the following example:
234 234  
235 235  (% style="width:740.294px" %)
236 236  |(% style="width:194px" %)**Start**|(% style="width:151px" %)**Length**|(% style="width:208px" %)**Source**|(% style="width:183px" %)**Target**
... ... @@ -238,7 +238,7 @@
238 238  
239 239  == 13.7 Mapping non-SDMX time formats to SDMX formats ==
240 240  
241 -Structure mapping allows non-[[SDMX>>doc:Glossary.Statistical data and metadata exchange.WebHome]] compliant time values in source [[datasets>>doc:Glossary.Data set.WebHome]] to be mapped to an [[SDMX>>doc:Glossary.Statistical data and metadata exchange.WebHome]] compliant time format.
241 +Structure mapping allows non-[[SDMX>>doc:Glossary.Statistical data and metadata exchange.WebHome]] compliant time values in source [[datasets>>doc:Glossary.Data set.WebHome]] to be (% style="color:#e74c3c" %)mapped(%%) to an [[SDMX>>doc:Glossary.Statistical data and metadata exchange.WebHome]] compliant time format.
242 242  
243 243  Two types of time input are defined:
244 244  
... ... @@ -262,7 +262,7 @@
262 262  There are two important points to note:
263 263  
264 264  1. The output frequency determines the output date format, but the default output can be redefined using a Frequency Format mapping to force explicit rules on how the output [[time period>>doc:Glossary.Time period.WebHome]] is formatted.
265 -1. To support the use case of changing frequency the structure [[map>>doc:Glossary.Map.WebHome]] can optionally provide a start of year [[attribute>>doc:Glossary.Attribute.WebHome]], which defines the year start date in MM-DD format. For example: YearStart=04-01.
265 +1. To support the use case of changing frequency the structure (% style="color:#e74c3c" %)map(%%) can optionally provide a start of year [[attribute>>doc:Glossary.Attribute.WebHome]], which defines the year start date in MM-DD format. For example: YearStart=04-01.
266 266  
267 267  === 13.7.1 Pattern based dates ===
268 268  
... ... @@ -456,7 +456,7 @@
456 456  
457 457  [[image:1747377208446-496.png]]
458 458  
459 -The bold [[Dimensions>>doc:Glossary.Dimension.WebHome]] map from source to target verbatim. The mapping simply specifies:
459 +The bold [[Dimensions>>doc:Glossary.Dimension.WebHome]] (% style="color:#e74c3c" %)map(%%) from source to target verbatim. The mapping simply specifies:
460 460  
461 461  FREQ => FREQ
462 462  REF_AREA=> REF_AREA
... ... @@ -464,7 +464,7 @@
464 464  
465 465  No [[Representation>>doc:Glossary.Representation.WebHome]] Mapping is required. The source value simply copies across unmodified.
466 466  
467 -The remaining [[Dimensions>>doc:Glossary.Dimension.WebHome]] all map to the Indicator [[Dimension>>doc:Glossary.Dimension.WebHome]]. This is an example of many [[Dimensions>>doc:Glossary.Dimension.WebHome]] mapping to one [[Dimension>>doc:Glossary.Dimension.WebHome]]. In this case a [[Representation>>doc:Glossary.Representation.WebHome]] Mapping is required, and the mapping first describes the input 'partial key' and how this maps to the target indicator:
467 +The remaining [[Dimensions>>doc:Glossary.Dimension.WebHome]] all (% style="color:#e74c3c" %)map(%%) to the Indicator [[Dimension>>doc:Glossary.Dimension.WebHome]]. This is an example of many [[Dimensions>>doc:Glossary.Dimension.WebHome]] mapping to one [[Dimension>>doc:Glossary.Dimension.WebHome]]. In this case a [[Representation>>doc:Glossary.Representation.WebHome]] Mapping is required, and the mapping first describes the input 'partial key' and how this (% style="color:#e74c3c" %)maps(%%) to the target indicator:
468 468  
469 469  N:S1:S1:B:B5G => IND_ABC
470 470  
... ... @@ -476,7 +476,7 @@
476 476  
477 477  In the case where the incoming data type is not a string and not a [[code>>doc:Glossary.Code.WebHome]] identifier i.e. the source [[Dimension>>doc:Glossary.Dimension.WebHome]] is of type Integer and the target is Codelist. This is supported by the RepresentationMap. The RepresentationMap source can reference a Codelist, Valuelist, or be free text, the free text can include regular expressions.
478 478  
479 -The following [[representation>>doc:Glossary.Representation.WebHome]] mapping can be used to explicitly map each [[age>>doc:Glossary.Age.WebHome]] to an output [[code>>doc:Glossary.Code.WebHome]].
479 +The following [[representation>>doc:Glossary.Representation.WebHome]] mapping can be used to explicitly (% style="color:#e74c3c" %)map(%%) each [[age>>doc:Glossary.Age.WebHome]] to an output [[code>>doc:Glossary.Code.WebHome]].
480 480  
481 481  (((
482 482  (% style="width:669.294px" %)
... ... @@ -549,7 +549,7 @@
549 549  |(% style="width:165px" %)**Source Value**|(% style="width:133px" %)**Source Mapping**|(% style="width:191px" %)**Target Dimension**|(% style="width:264px" %)**Frequency**|(% style="width:167px" %)**Output**
550 550  |(% style="width:165px" %)1981|(% style="width:133px" %)yyyy|(% style="width:191px" %)D – End of Period|(% style="width:264px" %) |(% style="width:167px" %)1981-12-31
551 551  
552 -When the start of year is April 1^^st^^ the Structure Map has YearStart=04-01:
552 +When the start of year is April 1^^st^^ the Structure (% style="color:#e74c3c" %)Map(%%) has YearStart=04-01:
553 553  
554 554  (% style="width:892.294px" %)
555 555  |(% style="width:165px" %)**Source Value**|(% style="width:133px" %)**Source Mapping**|(% style="width:191px" %)**Target Dimension**|(% style="width:264px" %)**Frequency**|(% style="width:167px" %)**Output**