Changes for page SDMX 3.0 Standards. Summary of Major Changes and New Functionality
Last modified by Helena on 2025/09/10 11:19
Summary
-
Page properties (4 modified, 0 added, 0 removed)
-
Objects (0 modified, 0 added, 1 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 - SDMXSTANDARDS1 +1 Overview - Parent
-
... ... @@ -1,1 +1,0 @@ 1 -Methodology.WebHome - Content
-
... ... @@ -1,13 +1,9 @@ 1 -{{box title="**Contents**"}} 2 -{{toc/}} 3 -{{/box}} 4 - 1 +{{box title="**Contents**"}}{{toc/}}{{/box}} 5 5 **Revision History** 6 6 7 -(% style="width:738.039px" %) 8 -|(% style="width:187px" %)Revision|(% style="width:157px" %)Date|(% style="width:390px" %)Contents 9 -|(% style="width:187px" %)DRAFT 1.0|(% style="width:157px" %)May 2021|(% style="width:390px" %)Draft release updated for SDMX 3.0 for public consultation 10 -|(% style="width:187px" %)1.0|(% style="width:157px" %)October 2021|(% style="width:390px" %)Public Release for SDMX 3.0 4 +|Revision|Date|Contents 5 +|DRAFT 1.0|May 2021|Draft release updated for SDMX 3.0 for public consultation 6 +|1.0|October 2021|Public Release for SDMX 3.0 11 11 12 12 = 1 Overview = 13 13 ... ... @@ -25,7 +25,7 @@ 25 25 26 26 **Versioning of Structural Metadata Artefacts** 27 27 28 - *Adoption of the three-number semantic versioning standard for structural metadata artefacts ([[https:~~/~~/semver.org/>>https://semver.org/||rel="noopenernoreferrer" target="_blank"]])24 +• Adoption of the three-number semantic versioning standard for structural metadata artefacts [[(>>url:https://semver.org/]][[__https:~~/~~/semver.org__>>url:https://semver.org/]][[)>>url:https://semver.org/]] 29 29 30 30 **REST Web Services Application Programming Interface (API)** 31 31 ... ... @@ -36,7 +36,7 @@ 36 36 37 37 **SOAP Web Services API** 38 38 39 - *The SOAP web services API has been deprecated with version 3.0 standardising on REST**;**35 +• The SOAP web services API has been deprecated with version 3.0 standardising on REST** ** 40 40 41 41 **XML, JSON, CSV and EDI Transmission formats** 42 42 ... ... @@ -65,10 +65,9 @@ 65 65 66 66 Version 3.0 introduces breaking changes into the web services API, transmission formats and information model. A summary is given in the table below. 67 67 68 -== 2.1 Web Services API == 64 +== //2.1 Web Services API// == 69 69 70 -(% style="width:948.039px" %) 71 -|**REST API**|(% style="width:818px" %)((( 66 +|**REST API**|((( 72 72 The REST API is not backwardly compatible due to modifications to the URLs and query parameters resulting in breaking changes in four of the five main resources: 73 73 74 74 * Structure queries ... ... @@ -84,13 +84,14 @@ 84 84 85 85 Implementors are also recommended to version their API services providing users with an explicit choice of which version to use. 86 86 ))) 87 -|**SOAP API**| (% style="width:818px" %)The SOAP API has been deprecated.82 +|**SOAP API**|The SOAP API has been deprecated. 88 88 89 -== 2.2 Transmission Formats == 84 +== //2.2 Transmission Formats// == 90 90 86 +: 87 + 91 91 ((( 92 -(% style="width:952.039px" %) 93 -|(% style="width:130px" %)**SDMX-ML**|(% style="width:820px" %)((( 89 +|**SDMX-ML**|((( 94 94 The following legacy XML data messages have been deprecated: 95 95 96 96 SDMX-ML 1.0/2.0 Generic (time-series) data message ... ... @@ -106,27 +106,34 @@ 106 106 The SDMX-ML structure message is not backwardly compatible primarily due to: 107 107 108 108 * Changes to the information model 109 -* Changes to the way the structures are organised into ‘collections’ within the message 105 +* Changes to the way the structures are organised into 106 + 107 +‘collections’ within the message 108 + 110 110 * Deprecation of the Agency, ID, Version option for referencing of structures in messages 111 111 ))) 112 -| (% style="width:130px" %)**SDMX-JSON**|(% style="width:820px" %)(((111 +|**SDMX-JSON**|((( 113 113 The JSON data message is not backwardly compatible with version 2.1 primarily due to changes needed to support the improved REST API data queries, in particular the ability to retrieve in one operation data from multiple datasets with potentially different Data Structure Definitions. 114 114 115 115 The JSON structure message is not backwardly compatible primarily due to: 116 116 117 117 * Changes to the information model 118 -* Changes to the way the structures are organised into ‘collections’ within the message 117 +* Changes to the way the structures are organised into 118 + 119 +‘collections’ within the message 120 + 119 119 * Deprecation of the Agency, ID, Version option for referencing of structures in messages 120 120 ))) 121 -| (% style="width:130px" %)**SDMX-EDI**|(% style="width:820px" %)The EDI format for both structures and data has been deprecated.122 -| (% style="width:130px" %)**SDMX-CSV**|(% style="width:820px" %)The CSV data and reference metadata messages are not backwardly compatible with those under version 2.1 due to changes to the structure of the messages needed to support new features such as the improved REST API data queries.123 +|**SDMX-EDI**|The EDI format for both structures and data has been deprecated. 124 +|**SDMX-CSV**|The CSV data and reference metadata messages are not backwardly compatible with those under version 2.1 due to changes to the structure of the messages needed to support new features such as the improved REST API data queries.** ** 123 123 ))) 124 124 125 -== 2.3 Information Model == 127 +== //2.3 Information Model// == 126 126 129 +: 130 + 127 127 ((( 128 -(% style="width:955.039px" %) 129 -|(% style="width:132px" %)**Data Structure Definition**|(% style="width:819px" %)((( 132 +|**Data Structure Definition**|((( 130 130 The version 3.0 Data Structure Definition (DSD) model is not directly backwardly compatible with 2.1 primarily due to the deprecation of the special MeasureDimension. 131 131 132 132 //Conversion guidance for implementors// ... ... @@ -135,7 +135,7 @@ 135 135 136 136 Version 3.0 DSDs cannot be reliably converted to the 2.1 model due to the introduction of new features such as multiple measures and value arrays for measures and attributes. 137 137 ))) 138 -| (% style="width:132px" %)**Structure mapping model**|(% style="width:819px" %)(((141 +|**Structure mapping model**|((( 139 139 The structure mapping model has changed significantly in version 3.0 with deprecation of the Structure Set maintainable artefact and introduction of five new ones: Representation Map and four variants of item scheme map. 140 140 141 141 //Conversion guidance for implementors// ... ... @@ -144,7 +144,7 @@ 144 144 145 145 Conversion from the version 3.0 structure mapping model to 2.1 is generally possible. However, when attempting to convert mapping rules from 2.1 to 3.0 and back to 2.1, the resulting Structure Set will not be precisely the same as the original. In converting to version 3.0, the system must generate IDs for each of the new maintainable artefacts, but details of the original Structure Set artefacts are lost. 146 146 ))) 147 -| (% style="width:132px" %)**Reference metadata model**|(% style="width:819px" %)(((150 +|**Reference metadata model**|((( 148 148 The reference metadata model has changed in version 3.0 with modifications to the role of the Data Structure Definition, Metadata Structure Definition and Metadataflow artefacts. Metadata Provision Agreement and Metadata Provider Scheme have been added. Metadatasets are now identifiable. 149 149 150 150 Version 2.1 reference metadata models are not valid in version 3.0. ... ... @@ -151,11 +151,14 @@ 151 151 152 152 //Conversion guidance for implementors// 153 153 154 -A version 2.1 Metadata Structure Definition can be converted to the version 3.0 model under some circumstances, but target information is either lost or has to be translated into a metadataflow. Further, conversion of a Data Structure Definition for collecting reference metadata against a dataset would need to make changes to the dataset’s Data Structure Definition. As the Data Structure Definition may not actually be specified, judgement would need to be taken, perhaps determining the most likely candidate by examining which already have metadata reported against their datasets. A 2.1 metadata report could be converted to a version 3.0 Metadataset if it is attached to a structure, but requires a Metadata Provision Agreement which would need to be created if not already in existence. 157 +A version 2.1 Metadata Structure Definition can be converted to the version 3.0 model under some circumstances, but target information is either lost or has to be translated into a metadataflow. Further, conversion of a Data Structure Definition for collecting reference metadata against a dataset would need to make changes to the dataset’s Data Structure Definition. As the Data Structure Definition may not actually be specified, judgement would need to be taken, perhaps determining the most likely candidate by examining which 158 +))) 159 +| |((( 160 +already have metadata reported against their datasets. A 2.1 metadata report could be converted to a version 3.0 Metadataset if it is attached to a structure, but requires a Metadata Provision Agreement which would need to be created if not already in existence. 155 155 156 156 Conversion from the version 3.0 model to version 2.1 cannot be performed reliably. The process would need target information to be derived from analysis of the Metadataflows and Metadata Provision Agreements. Depending on the complexity it may not be possible to express that information in a version 2.1 Data Structure Definition. 157 157 ))) 158 -| (% style="width:132px" %)**Constraint model**|(% style="width:819px" %)(((164 +|**Constraint model**|((( 159 159 The version 2.1 Content Constraint artefact has been deprecated in version 3.0 and replaced by the Data Constraint for data, and the Metadata Constraint for reference metadata. 160 160 161 161 //Conversion guidance for implementors// ... ... @@ -164,7 +164,7 @@ 164 164 165 165 Conversion from 3.0 to 2.1 presents challenges where wildcards have been used, in those cases requiring expansion of the wildcard into explicit values. 166 166 ))) 167 -| (% style="width:132px" %)**Hierarchical codelist structures**|(% style="width:819px" %)(((173 +|**Hierarchical codelist structures**|((( 168 168 The version 2.1 Hierarchical Codelist artefact has been deprecated in version 3.0 and replaced by two new artefacts, Hierarchy and Hierarchy Association. 169 169 170 170 //Conversion guidance for implementors// ... ... @@ -177,7 +177,7 @@ 177 177 178 178 = 3 Information Model = 179 179 180 -== 3.1 Version 3.0 Information Model == 186 +== //3.1 Version 3.0 Information Model// == 181 181 182 182 [[image:SDMX 3-0-0 Major Changes FINAL-1.0_en_6fc573fe.png||height="404" width="718"]] 183 183 ... ... @@ -187,7 +187,7 @@ 187 187 188 188 A number of ancillary structures including organisation schemes, process and reporting taxonomy are unchanged and have not been shown. Similarly, Organisation Scheme Map and Reporting Taxonomy Map have been omitted for simplicity. A schematic of the 2.1 model is given in Appendix A for comparison purposes. 189 189 190 -== 3.2 Key Changes from Version 2.1 == 196 +== //3.2 Key Changes from Version 2.1// == 191 191 192 192 New Maintainable Artefacts 193 193 ... ... @@ -215,8 +215,7 @@ 215 215 Removed Maintainable Artefacts 216 216 217 217 * Structure Set – replaced by Structure Map and the four item scheme maps 218 -* Hierarchical Codelist – replaced by Hierarchy and Hierarchy Association 219 -* Constraint – replaced by Data Constraint and Metadata Constraint 224 +* Hierarchical Codelist – replaced by Hierarchy and Hierarchy Association • Constraint – replaced by Data Constraint and Metadata Constraint 220 220 221 221 Changed Maintainable Artefacts 222 222 ... ... @@ -230,7 +230,7 @@ 230 230 231 231 * GeospatialInformation – a string type where the value is an expression defining a set of geographical features using a purpose-designed syntax 232 232 233 -== 3.3 Areas Unchanged from Version 2.1 == 238 +== //3.3 Areas Unchanged from Version 2.1// == 234 234 235 235 The following areas of the information model are unchanged from version 2.1: 236 236 ... ... @@ -243,7 +243,7 @@ 243 243 * Reporting taxonomy 244 244 * Process 245 245 246 -== 3.4 Reference Metadata == 251 +== //3.4 Reference Metadata// == 247 247 248 248 Reference metadata has been substantially re-designed for version 3.0 to simplify the model and better support practical use cases. 249 249 ... ... @@ -271,96 +271,158 @@ 271 271 * TITLE – a multi-lingual data attribute 272 272 * SOURCE_AGENCY – a multi-value data attribute 273 273 274 -> <Obs xsi:type="dsd:ObsType" OBS_VALUE="112" OBS_STAUS=”A” TIME_PERIOD="2010-09"> 275 -> <!—- complex multi-value and multi-lingual data attributes ~-~-> 276 -> <Comp id="TITLE" xsi:type="ns1:TITLE_ATTRIBUTE"> 277 -> <Value> 278 -> <common:Text xml:lang="en">Some English Text</common:Text> 279 -> <common:Text xml:lang="fr">Quelques textes en anglais</common:Text> 280 -> </Value> 281 -> </Comp> 282 -> <Comp id="SOURCE_AGENCY" xsi:type="ns1:SOURCE_AGENCY_ATTRIBUTE"> 283 -> <Value>4F0</Value> 284 -> <Value>4D0</Value> 285 -> <Value>CZ2</Value> 286 -> </Comp> 287 -> <!—- metadata attributes are reported like in metadata messages ~-~-> 288 -> <Metadata> 289 -> <Attribute id="COLLECTION"> 290 -> <Attribute id="METHOD"> 291 -> <Text lang="en">AAA</Text> 292 -> </Attribute> 293 -> </Attribute> 294 -> <Attribute id="CONTACT"> 295 -> <Value>CONTACT 1</Value> 296 -> <Attribute id="NAME"> 297 -> <Value>Contact 1 Name 1</Value> 298 -> </Attribute> 299 -> <Attribute id="NAME"> 300 -> <Value>Contact 1 Name 2</Value> 301 -> </Attribute> 302 -> </Attribute> 303 -> <Attribute id="CONTACT"> 304 -> <Value>CONTACT 2</Value> 305 -> <Attribute id="NAME"> 306 -> <Value>Contact 2 Name 1</Value> 307 -> </Attribute> 308 -> <Attribute id="NAME"> 309 -> <Value>Contact 2 Name 2</Value> 310 -> </Attribute> 311 -> </Attribute> 312 -> </Metadata> 313 -> </Obs> 279 +<Obs xsi:type="dsd:ObsType" OBS_VALUE="112" OBS_STAUS=”A” TIME_PERIOD="2010-09"> 314 314 315 -(% class="wikigeneratedid" id="HNew-MetadataProvisionAgreement" %) 316 -**New - Metadata Provision Agreement** 281 +<!—- complex multi-value and multi-lingual data attributes ~-~-> 282 + 283 +<Comp id="TITLE" xsi:type="ns1:TITLE_ATTRIBUTE"> 284 + 285 +<Value> 286 + 287 +<common:Text xml:lang="en">Some English Text</common:Text> 288 + 289 +<common:Text xml:lang="fr">Quelques textes en anglais</common:Text> 290 + 291 +</Value> 292 + 293 +</Comp> 294 + 295 +<Comp id="SOURCE_AGENCY" xsi:type="ns1:SOURCE_AGENCY_ATTRIBUTE"> 296 + 297 +<Value>4F0</Value> 298 + 299 +<Value>4D0</Value> 300 + 301 +<Value>CZ2</Value> 302 + 303 +</Comp> 304 + 305 +<!—- metadata attributes are reported like in metadata messages ~-~-> 306 + 307 +<Metadata> 308 + 309 +<Attribute id="COLLECTION"> 310 + 311 +<Attribute id="METHOD"> 312 + 313 +<Text lang="en">AAA</Text> 314 + 315 +</Attribute> 316 + 317 +</Attribute> 318 + 319 +<Attribute id="CONTACT"> 320 + 321 +<Value>CONTACT 1</Value> 322 + 323 +<Attribute id="NAME"> 324 + 325 +<Value>Contact 1 Name 1</Value> 326 + 327 +</Attribute> 328 + 329 +<Attribute id="NAME"> 330 + 331 +<Value>Contact 1 Name 2</Value> 332 + 333 +</Attribute> 334 + 335 +</Attribute> 336 + 337 +<Attribute id="CONTACT"> 338 + 339 +<Value>CONTACT 2</Value> 340 + 341 +<Attribute id="NAME"> 342 + 343 +<Value>Contact 2 Name 1</Value> 344 + 345 +</Attribute> 346 + 347 +<Attribute id="NAME"> 348 + 349 +<Value>Contact 2 Name 2</Value> 350 + 351 +</Attribute> 352 + 353 +</Attribute> 354 + 355 +</Metadata> 356 + 357 +</Obs> 358 + 359 +=== New - Metadata Provision Agreement === 360 + 317 317 In version 2.1 a Provision Agreement could be used to report information against a Dataflow or Metadataflow. From version 3.0 this is managed by two separate structures, the Data Provision Agreement and the Metadata Provision Agreement. 318 318 319 - (% class="wikigeneratedid" id="HMovetargettoMetadataflowandMetadataProvisionAgreement"%)320 - **Move target to Metadataflow and Metadata Provision Agreement**363 +=== Move target to Metadataflow and Metadata Provision Agreement === 364 + 321 321 For reference metadata that is reported against structures, the allowable targets information which is used to specify what structures the reference metadata can be reported against, has moved to the Metadataflow and can be further refined in the Metadata Provision Agreement. 322 322 323 - (% class="wikigeneratedid" id="HAddmaintainablepropertiestoreferencemetadata"%)324 - **Add maintainable properties to reference metadata**367 +=== Add maintainable properties to reference metadata === 368 + 325 325 A Metadataset now has mandatory identification information, (owner id, id, version) enabling metadata providers to uniquely identify their reports for create, update or delete maintenance operations. 326 326 327 -== 3.5 Microdata Exchange == 371 +== //3.5 Microdata Exchange// == 328 328 329 329 Several changes have been made the Data Structure Definition to support microdata use cases in addition to aggregated time series. 330 330 331 -(% class="wikigeneratedid" id="HMultiplemeasures" %) 332 -**Multiple measures** 333 -Multiple measures are a common characteristic of microdatasets. To support this use case, the MeasureDimension has been deprecated and replaced with the option to define zero or more measures. Measures now act like any other component in that they use concepts, can have their own local coded or uncoded representation defined within the Data Structure Definition, and can be either mandatory or conditional. Creating a measure with the “MEASURE” concept role applied emulates the version 2.1 MeasureDimension behaviour as illustrated in the SDMX-ML example below: 375 +=== Multiple measures === 334 334 335 -> <str:MeasureList id=”MeasureDescriptor”> 336 -> <str:Measure id=”OBS_VALUE” minOccurs=”1” maxOccurs=”1” usage=”mandatory” > <str:ConceptIdentity> 337 -> <Ref id=”OBS_VALUE” maintainableParentID=”CONCEPTS” agencyID=”SDMX” maintainableParentVersion=”1.0.0” /> 338 -> </str:ConceptIdentity> 339 -> <str:LocalRepresentation> 340 -> <str:TextFormat textType=”String” isMultiLingual=”true” /> 341 -> </str:LocalRepresentation> 342 -> <str:ConceptRole> 343 -> <Ref id=”MEASURE” maintainableParentID=”SDMX_CONCEPT_ROLES” agencyID=”SDMX” maintainableParentVersion=”1.0.0” /> 344 -> </str:ConceptRole> 345 -> </str:Measure> 346 -> ... 347 -> <str:Measure> 348 -> </str:MeasureList> 377 +Multiple measures are a common characteristic of microdatasets. To support this use case, the MeasureDimension has been deprecated and replaced with the option to define zero or more measures. Measures now act like any other component in that they use concepts, can have their own local coded or uncoded representation defined within the 349 349 350 -(% class="wikigeneratedid" id="HMulti-valuemeasuresandattributes" %) 351 -**Multi-value measures and attributes** 352 -Both measures and attributes have been extended with the option to take ‘arrays’ of 193 multiple coded or uncoded values. This supports use cases like multiple observation 194 status flags. New //minOccurs// and //maxOccurs// properties define the valid number of 195 values. The //usage// property separately defines whether the measure or attribute is //mandatory// or optional. In the SDMX-ML measure example above, the properties //minOccurs=”1” maxOccurs=”1” usage=”mandatory”// specify that OBS_VALUE must be 198 reported, and can only consist of a single value. 379 +Data Structure Definition, and can be either mandatory or conditional. Creating a measure with the “MEASURE” concept role applied emulates the version 2.1 353 353 354 -(% class="wikigeneratedid" id="HAttributesrelationshiptomeasures" %) 355 -**Attributes relationship to measures** 381 +MeasureDimension behaviour as illustrated in the SDMX-ML example below: 382 + 383 +<str:MeasureList id=”MeasureDescriptor”> 384 + 385 +<str:Measure id=”OBS_VALUE” minOccurs=”1” maxOccurs=”1” usage=”mandatory” > <str:ConceptIdentity> 386 + 387 +<Ref id=”OBS_VALUE” maintainableParentID=”CONCEPTS” agencyID=”SDMX” maintainableParentVersion=”1.0.0” /> 388 + 389 +</str:ConceptIdentity> 390 + 391 +<str:LocalRepresentation> 392 + 393 +<str:TextFormat textType=”String” isMultiLingual=”true” /> 394 + 395 +</str:LocalRepresentation> 396 + 397 +<str:ConceptRole> 398 + 399 +<Ref id=”MEASURE” maintainableParentID=”SDMX_CONCEPT_ROLES” agencyID=”SDMX” maintainableParentVersion=”1.0.0” /> 400 + 401 +</str:ConceptRole> 402 + 403 +</str:Measure> 404 + 405 +... 406 + 407 +<str:Measure> 408 + 409 +</str:MeasureList> 410 + 411 +=== Multi-value measures and attributes === 412 + 413 +Both measures and attributes have been extended with the option to take ‘arrays’ of 193 multiple coded or uncoded values. This supports use cases like multiple observation 194 status flags. New //minOccurs// and //maxOccurs// properties define the valid number of 195 values. The //usage// property separately defines whether the measure or attribute is 414 + 415 +//mandatory// or optional. In the SDMX-ML measure example above, the properties 416 + 417 +//minOccurs=”1” maxOccurs=”1” usage=”mandatory”// specify that OBS_VALUE must be 198 reported, and can only consist of a single value. 418 + 419 +=== Attributes relationship to measures === 420 + 356 356 In addition to attaching attributes to a specific level within the dataset, their relationship 202 to measures can also be defined. 357 357 358 -(% class="wikigeneratedid" id="HValuelists" %) 359 -**Value lists** 360 -Value lists help in modelling microdata by providing an enumeration similar to code lists 206 but allowing any string values without being restricted to the rules of SDMX identifiers. That allows ValueItems (the equivalent to Code) to contain symbols like ‘¥’ and ‘€’, but also means they are not identifiable. 423 +=== Value lists === 361 361 362 - ==3.6GeospatialDataExchange==425 +Value lists help in modelling microdata by providing an enumeration similar to code lists 206 but allowing any string values without being restricted to the rules of SDMX identifiers. 363 363 427 +That allows ValueItems (the equivalent to Code) to contain symbols like ‘¥’ and ‘€’, but 208 also means they are not identifiable. 428 + 429 +== //3.6 Geospatial Data Exchange// == 430 + 364 364 The version 3.0 model has been extended to provide explicit support for geospatial data. 365 365 366 366 === GeospatialInformation type === ... ... @@ -374,14 +374,14 @@ 374 374 * GeographicCodelist – each item includes an element to represent a specific Geo Feature Set which is described using the same expression syntax as for GeospatialInformation type. 375 375 * GeoGridCodelist – A code list defining a geographical grid composed of cells representing regular squared portions of the Earth. Each item references a cell within the grid. 376 376 377 -== 3.7 Structure Mapping == 444 +=== //3.7 Structure Mapping// === 378 378 379 379 The Structure Set in version 2.1 is a container for many mapping structures including Data Structure Map, Codelist Map and Concept Map. For version 3.0 the Structure Set artefact has been deprecated and replaced with a number of new maintainables giving better flexibility and reusability, specifically: Structure Map, Concept Scheme Map, Representation Map, Reporting Taxonomy Map, Category Scheme Map and Organisation Scheme Map. 380 380 381 381 The version 2.1 Codelist Map been replaced with Representation Map which allows mappings to be defined between any combination of Code Lists, Value Lists and noncoded representations such as text strings and numbers. 382 382 383 - (% class="wikigeneratedid" id="HMany-to-manysourceandtargetcomponents"%)384 - **Many-to-many source and target components**450 +==== Many-to-many source and target components ==== 451 + 385 385 Structure mapping rules may be defined with both multiple source components and multiple target components in contrast to version 2.1 where only one source and target was allowed. That supports many-to-many (n-n) mapping use cases where the output of a mapping rule may be dependent on the combination of a number of input components. For instance: 386 386 387 387 Set the output component INDICATOR=”DE_A” if the input components are FREQ=”A” and REF_AREA=”DE”. ... ... @@ -391,21 +391,22 @@ 391 391 Set the output components FREQ=”A”, REF_AREA=”DE” if the input component INDICATOR=”DE_A”. 392 392 393 393 **Fixed source and target** 461 + 394 394 The Structure Map may now define input or output components which have a fixed value. 395 395 396 - (% class="wikigeneratedid" id="HTimerepresentationsmapping"%)397 - **Time representations mapping**464 +==== Time representations mapping ==== 465 + 398 398 Non SDMX time representations may now be described in a Structure Map, allowing them to be mapped into SDMX time formats. 399 399 400 - (% class="wikigeneratedid" id="HRegularexpressionandsubstringmappings"%)401 - **Regular expression and substring mappings**468 +==== Regular expression and substring mappings ==== 469 + 402 402 All item maps allow the use of regular expressions and substrings to match source values, specifically: Concept Scheme Map, Reporting Taxonomy Map, Category Scheme Map and Organisation Scheme Map. 403 403 404 - (% class="wikigeneratedid" id="HItemmapsvalidityperiod"%)405 - **Item maps validity period**472 +==== Item maps validity period ==== 473 + 406 406 Item maps may further define the period for which the mapping is valid, meaning the mapping rule will only be applied if the row of information being mapped is within the period. 407 407 408 -== 3.8 Constraints == 476 +=== //3.8 Constraints// === 409 409 410 410 Constraints in version 3.0 are modelled using two separate artefacts which replace the version 2.1 content constraint: 411 411 ... ... @@ -420,23 +420,23 @@ 420 420 421 421 Attachment constraints have been deprecated due to a lack of use cases. 422 422 423 -== 3.9 Code List Extension == 491 +=== //3.9 Code List Extension// === 424 424 425 425 In addition to the two new specialised geospatial forms, the option has been added to define a code list as an extension of, or by inheriting codes from, other lists. An optional prefix can be added to inherited codes to disambiguate duplicates. 426 426 427 427 This feature allows new code lists to be easily derived from existing lists without the need to make and manually maintain copies. When querying for extended code list structures using the REST API, the option has been added to retrieve either the definition or the materialised list. Traditional literal lists of codes continue to be supported. 428 428 429 -== 3.10 Discriminated Union of Code Lists == 497 +=== //3.10 Discriminated Union of Code Lists// === 430 430 431 431 Combining code list extension with wildcarded constraints solves the discriminated union of code lists problem where a classification or breakdown has multiple “variants” which are all valid but mutually exclusive. A common example is economic activity where several alternative classification schemes are in use including ISIC revisions 1 to 4 and NACE as used in the European Community. 432 432 433 -== 3.11 Code Hierarchies == 501 +=== //3.11 Code Hierarchies// === 434 434 435 435 Code hierarchies allow the definition of complex hierarchies of codes from potentially multiple lists for data discovery purposes. Hierarchical Codelist has been deprecated and replaced by two new artefacts: Hierarchy – the actual hierarchy of codes, and Hierarchy Association links hierarchies directly to any other identifiable object, a capability missing 312 from the version 2.1 model. Further, the linkage can be within a particular context, for instance linking a hierarchy to a dimension within the context of a specific Dataflow (dimension REF_AREA in the context of the ECB:EXR Dataflow). 436 436 437 437 = 4 Versioning of Structural Metadata Artefacts = 438 438 439 -Version 3.0 adopts semantic versioning principles for versioning of metadata artefacts following the rules set out at __[[https:~~/~~/semver.org>>https://semver.org]]__However, this is not mandatory, and organisations may continue to use the pre-existing two-digit versioning strategy, or not to version artefacts by omitting the //version// property. The version number no longer defaults to 1.0 if not explicitly set.507 +Version 3.0 adopts semantic versioning principles for versioning of metadata artefacts following the rules set out at [[__https:~~/~~/semver.org__>>url:https://semver.org/]][[.>>url:https://semver.org/]] However, this is not mandatory, and organisations may continue to use the pre-existing two-digit versioning strategy, or not to version artefacts by omitting the //version// property. The version number no longer defaults to 1.0 if not explicitly set. 440 440 441 441 Semantic version numbers are three digits: 442 442 ... ... @@ -478,7 +478,7 @@ 478 478 479 479 = 5 REST Web Services API = 480 480 481 -== 5.1 Simplified list of resources == 549 +== //5.1 Simplified list of resources// == 482 482 483 483 The version 3.0 REST API has just five main resources: 484 484 ... ... @@ -492,7 +492,7 @@ 492 492 493 493 This and changes in the URLs and query parameters on the data, availability and metadata resources means that, with the exception of schema queries, the version 3.0 API is not backwardly compatible. 494 494 495 -== 5.2 Improved data queries == 563 +== //5.2 Improved data queries// == 496 496 497 497 Data queries have been changed to provide more granular selections from contexts wider than just a Dataflow. 498 498 ... ... @@ -518,12 +518,11 @@ 518 518 519 519 /data/dataflow/ESTAT/ICP?c[REF_AREA]=DE&c[ICP_ITEM]=sw:01&c[TIME_PERIOD]=ge:2015 Operators include: 520 520 521 -(% style="width:531.039px" %) 522 -|(% style="width:151px" %)eq|(% style="width:378px" %)Equals 523 -|(% style="width:151px" %)ne|(% style="width:378px" %)Not equal to 524 -|(% style="width:151px" %)le|(% style="width:378px" %)Less than 525 -|(% style="width:151px" %)ge|(% style="width:378px" %)Greater than or equal to 526 -|(% style="width:151px" %)sw|(% style="width:378px" %)Starts with 589 +|eq|Equals 590 +|ne|Not equal to 591 +|le|Less than 592 +|ge|Greater than or equal to 593 +|sw|Starts with 527 527 528 528 === Support for multiple keys === 529 529 ... ... @@ -531,7 +531,7 @@ 531 531 532 532 /data/dataflow/ESTAT/ICP/1.0.0/M…A.ANR,M…A.INX,M…B.CTG 533 533 534 -== 5.3 Improved reference metadata queries == 601 +== //5.3 Improved reference metadata queries// == 535 535 536 536 Reference metadata queries have been improved with a number of new options to retrieve metadata reports. 537 537 ... ... @@ -547,7 +547,7 @@ 547 547 548 548 /metadata/structure/datastructure/BIS/BIS_CBS/1.0 549 549 550 -== 5.4 Structural metadata maintenance == 617 +== //5.4 Structural metadata maintenance// == 551 551 552 552 Support has been added for maintenance of structural metadata. 553 553 ... ... @@ -555,7 +555,7 @@ 555 555 556 556 = 6 XML, JSON, CSV and EDI Transmission formats = 557 557 558 -== 6.1 SDMX-ML == 625 +== //6.1 SDMX-ML// == 559 559 560 560 The SDMX-ML XML messages have been modified and updated for version 3.0. While they broadly follow the same principles, there have been significant changes which break backward compatibility. 561 561 ... ... @@ -565,49 +565,47 @@ 565 565 566 566 Additionally, the way the individual artefacts are organised into ‘collections’ within the message has been significantly revised with a simpler flat structure adopted as set out in the following table: 567 567 568 -(% style="width:1102.04px" %) 569 -|(% style="width:321px" %)**Artefact type**|(% style="width:351px" %)**Version 2.1 Collection**|(% style="width:426px" %)**Version 3.0 Collection** 570 -|(% style="width:321px" %)AgencyScheme|(% style="width:351px" %)OrganisationSchemes|(% style="width:426px" %)AgencySchemes 571 -|(% style="width:321px" %)DataConsumerScheme|(% style="width:351px" %)OrganisationSchemes|(% style="width:426px" %)DataConsumerSchemes 572 -|(% style="width:321px" %)DataProviderScheme|(% style="width:351px" %)OrganisationSchemes|(% style="width:426px" %)DataProviderSchemes 573 -|(% style="width:321px" %)MetadataProviderScheme|(% style="width:351px" %)OrganisationSchemes|(% style="width:426px" %)MetadataProviderSchemes 574 -|(% style="width:321px" %)OrganisationUnitScheme|(% style="width:351px" %)OrganisationSchemes|(% style="width:426px" %)OrganisationUnitSchemes 575 -|(% style="width:321px" %)GeographicCodelist|(% style="width:351px" %)Codelists|(% style="width:426px" %)GeographicCodelists 576 -|(% style="width:321px" %)GeoGridCodelist|(% style="width:351px" %)Codelists|(% style="width:426px" %)GeoGridCodelists 577 -|(% style="width:321px" %)ConceptScheme|(% style="width:351px" %)Concepts|(% style="width:426px" %)ConceptSchemes 578 -|(% style="width:321px" %)ValueList|(% style="width:351px" %)Codelists|(% style="width:426px" %)ValueLists 579 -|(% style="width:321px" %)StructureMap|(% style="width:351px" %)StructureMappings|(% style="width:426px" %)StructureMaps 580 -|(% style="width:321px" %)RepresentationMap|(% style="width:351px" %)StructureMappings|(% style="width:426px" %)RepresentationMaps 581 -|(% style="width:321px" %)ConceptSchemeMap|(% style="width:351px" %)StructureMappings|(% style="width:426px" %)ConceptSchemeMaps 582 -|(% style="width:321px" %)CategorySchemeMap|(% style="width:351px" %)StructureMappings|(% style="width:426px" %)CategorySchemeMaps 583 -|(% style="width:321px" %)OrganisationSchemeMap|(% style="width:351px" %)StructureMappings|(% style="width:426px" %)OrganisationSchemeMaps 584 -|(% style="width:321px" %)ReportingTaxonomyMap|(% style="width:351px" %)StructureMappings|(% style="width:426px" %)ReportingTaxonomyMaps 585 -|(% style="width:321px" %)DataConstraint|(% style="width:351px" %)Constraints|(% style="width:426px" %)DataConstraints 586 -|(% style="width:321px" %)MetadataConstraint|(% style="width:351px" %)Constraints|(% style="width:426px" %)MetadataConstraints 587 -|(% style="width:321px" %)MetadataProvisionAgreement|(% style="width:351px" %)ProvisionAgreement|(% style="width:426px" %)MetadataProvisionAgreements 588 -|(% style="width:321px" %)CustomTypeScheme|(% style="width:351px" %)CustomTypes|(% style="width:426px" %)CustomTypeSchemes 589 -|(% style="width:321px" %)VtlMappingScheme|(% style="width:351px" %)VtlMappings|(% style="width:426px" %)VtlMappingSchemes 590 -|(% style="width:321px" %)NamePersonalisationScheme|(% style="width:351px" %)NamePersonalisations|(% style="width:426px" %)NamePersonalisationSchemes 591 -|(% style="width:321px" %)RulesetScheme|(% style="width:351px" %)Rulesets|(% style="width:426px" %)RulesetSchemes 592 -|(% style="width:321px" %)TransformationScheme|(% style="width:351px" %)Transformations|(% style="width:426px" %)TransformationSchemes 593 -|(% style="width:321px" %)UserDefinedOperatorScheme|(% style="width:351px" %)UserDefinedOperators|(% style="width:426px" %)UserDefinedOperatorSchemes 635 +|**Artefact type**|**Version 2.1 Collection**|**Version 3.0 Collection** 636 +|AgencyScheme|OrganisationSchemes|AgencySchemes 637 +|DataConsumerScheme|OrganisationSchemes|DataConsumerSchemes 638 +|DataProviderScheme|OrganisationSchemes|DataProviderSchemes 639 +|MetadataProviderScheme|OrganisationSchemes|MetadataProviderSchemes 640 +|OrganisationUnitScheme|OrganisationSchemes|OrganisationUnitSchemes 641 +|GeographicCodelist|Codelists|GeographicCodelists 642 +|GeoGridCodelist|Codelists|GeoGridCodelists 643 +|ConceptScheme|Concepts|ConceptSchemes 644 +|ValueList|Codelists|ValueLists 645 +|StructureMap|StructureMappings|StructureMaps 646 +|RepresentationMap|StructureMappings|RepresentationMaps 647 +|ConceptSchemeMap|StructureMappings|ConceptSchemeMaps 648 +|CategorySchemeMap|StructureMappings|CategorySchemeMaps 649 +|OrganisationSchemeMap|StructureMappings|OrganisationSchemeMaps 650 +|ReportingTaxonomyMap|StructureMappings|ReportingTaxonomyMaps 651 +|DataConstraint|Constraints|DataConstraints 652 +|MetadataConstraint|Constraints|MetadataConstraints 653 +|MetadataProvisionAgreement|ProvisionAgreement|MetadataProvisionAgreements 654 +|CustomTypeScheme|CustomTypes|CustomTypeSchemes 655 +|VtlMappingScheme|VtlMappings|VtlMappingSchemes 656 +|NamePersonalisationScheme|NamePersonalisations|NamePersonalisationSchemes 657 +|RulesetScheme|Rulesets|RulesetSchemes 658 +|TransformationScheme|Transformations|TransformationSchemes 659 +|UserDefinedOperatorScheme|UserDefinedOperators|UserDefinedOperatorSchemes 594 594 595 595 No changes have been made to the way the following artefacts are organised in the structure message: 596 596 597 -(% style="width:1106.04px" %) 598 -|(% style="width:326px" %)**Artefact type**|(% style="width:776px" %)**Collection** 599 -|(% style="width:326px" %)Dataflow|(% style="width:776px" %)Dataflows 600 -|(% style="width:326px" %)Metadataflow|(% style="width:776px" %)Metadataflows 601 -|(% style="width:326px" %)CategoryScheme|(% style="width:776px" %)CategorySchemes 602 -|(% style="width:326px" %)Categorisation|(% style="width:776px" %)Categorisations 603 -|(% style="width:326px" %)Codelist|(% style="width:776px" %)Codelists 604 -|(% style="width:326px" %)Hierarchy|(% style="width:776px" %)Hierarchies 605 -|(% style="width:326px" %)HierarchyAssociation|(% style="width:776px" %)HierarchyAssociations 606 -|(% style="width:326px" %)MetadataStructure|(% style="width:776px" %)MetadataStructures 607 -|(% style="width:326px" %)DataStructure|(% style="width:776px" %)DataStructures 608 -|(% style="width:326px" %)ReportingTaxonomy|(% style="width:776px" %)ReportingTaxonomies 609 -|(% style="width:326px" %)Process|(% style="width:776px" %)Processes 610 -|(% style="width:326px" %)ProvisionAgreement|(% style="width:776px" %)ProvisionAgreements 663 +|**Artefact type**|**Collection** 664 +|Dataflow|Dataflows 665 +|Metadataflow|Metadataflows 666 +|CategoryScheme|CategorySchemes 667 +|Categorisation|Categorisations 668 +|Codelist|Codelists 669 +|Hierarchy|Hierarchies 670 +|HierarchyAssociation|HierarchyAssociations 671 +|MetadataStructure|MetadataStructures 672 +|DataStructure|DataStructures 673 +|ReportingTaxonomy|ReportingTaxonomies 674 +|Process|Processes 675 +|ProvisionAgreement|ProvisionAgreements 611 611 612 612 From version 3.0, collections can appear in any order within a structure message. 613 613 ... ... @@ -641,7 +641,7 @@ 641 641 642 642 The option to reference structures using Agency, ID and Version has been removed. From SDMX version 3.0 URN is used for all referencing purposes with the exception of local references such as where groups reference dimensions within a DSD. 643 643 644 -== 6.2 SDMX-JSON == 709 +== //6.2 SDMX-JSON// == 645 645 646 646 Like SDMX-ML, the SDMX-JSON messages have been significantly modified and updated for version 3.0. They are not backwardly compatible with version 2.1. 647 647 ... ... @@ -661,7 +661,7 @@ 661 661 662 662 As for SDMX-ML, the option to reference structures using Agency, ID and Version has been removed with URN used for all non-local referencing purposes. 663 663 664 -== 6.3 SDMX-CSV == 729 +== //6.3 SDMX-CSV// == 665 665 666 666 CSV in SDMX is used transmission of data and reference metadata only. 667 667 ... ... @@ -679,7 +679,7 @@ 679 679 680 680 The SDMX-CSV metadata message is new for version 3.0 and, like the SDMX-ML and SDMX-JSON equivalents, is used for the transmission reference metadata sets. 681 681 682 -=== 6.4 EDI deprecation === 747 +=== //6.4 EDI deprecation// === 683 683 684 684 The EDI format for transmission of both structures and data has been deprecated. Version 3.0 is therefore not backwardly compatible with legacy EDI messages. 685 685
- SUZ.Methodology.Code.MethodologyClass[0]
-