Wiki source code of SDMX STANDARDS

Version 19.5 by Helena on 2025/05/16 15:56

Hide last authors
Helena 7.2 1 {{box title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
4
Helena 2.1 5 **Revision History**
6
Helena 7.5 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
Helena 2.1 11
12 = 1 Overview =
13
Helena 19.2 14 [[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] (% style="color:#2ecc71" %)version(%%) 3.0 introduces new features, improvements and changes to the Standard in the following key areas:
Helena 2.1 15
16 **Information Model**
17
Helena 19.2 18 * Simplification and improvement of the [[reference metadata>>doc:xwiki:Glossary.Reference metadata.WebHome]] model
Helena 2.1 19 * Support for microdata
20 * Support for geospatial data
Helena 19.2 21 * Support for [[code list>>doc:xwiki:Glossary.Code list.WebHome]] extension and discriminated union of [[code>>doc:xwiki:Glossary.Code.WebHome]] lists
Helena 2.1 22 * Improvements to structure mapping
Helena 19.2 23 * Improvements to [[code>>doc:xwiki:Glossary.Code.WebHome]] [[hierarchies>>doc:xwiki:Glossary.Hierarchy.WebHome]] for data discovery
Helena 2.1 24 * Improvements to constraints
25
26 **Versioning of Structural Metadata Artefacts**
27
Helena 19.2 28 * Adoption of the three-number semantic versioning standard for [[structural metadata>>doc:xwiki:Glossary.Structural metadata.WebHome]] [[artefacts>>doc:xwiki:Glossary.Artefact.WebHome]] ([[https:~~/~~/semver.org/>>https://semver.org/||rel="noopener noreferrer" target="_blank"]])
Helena 2.1 29
30 **REST Web Services Application Programming Interface (API)**
31
32 * Change to a single ‘structure’ resource for structure queries simplifying the REST API specification by reducing the number of resources to five
33 * Improvements to data queries
Helena 19.2 34 * Improvements to [[reference metadata>>doc:xwiki:Glossary.Reference metadata.WebHome]] queries
35 * Support for [[structural metadata>>doc:xwiki:Glossary.Structural metadata.WebHome]] maintenance using HTTP PUT, POST and DELETE verbs
Helena 2.1 36
37 **SOAP Web Services API**
38
Helena 19.2 39 * The SOAP web services API has been deprecated with (% style="color:#2ecc71" %)version(%%) 3.0 standardising on REST**;**
Helena 2.1 40
41 **XML, JSON, CSV and EDI Transmission formats**
42
Helena 19.2 43 * The [[SDMX-ML>>doc:xwiki:Glossary.SDMX-ML.WebHome]], [[SDMX-JSON>>doc:xwiki:Glossary.SDMX-JSON.WebHome]] and [[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]]-CSV specifications have been extended and modified where needed to support the new features and changes such as [[reference metadata>>doc:xwiki:Glossary.Reference metadata.WebHome]] and microdata
44 * Obsolete [[SDMX-ML>>doc:xwiki:Glossary.SDMX-ML.WebHome]] data message variants including Generic, Compact, Utility and Cross-sectional have been deprecated standardising on Structure Specific Data as the sole XML format for data exchange
45 * The [[SDMX-EDI>>doc:xwiki:Glossary.SDMX-EDI.WebHome]] transmission format for structures and data has been deprecated
46 * The organisation of structures into ‘collections’ in [[SDMX-ML>>doc:xwiki:Glossary.SDMX-ML.WebHome]] and [[SDMX-JSON>>doc:xwiki:Glossary.SDMX-JSON.WebHome]] structure messages has been flattened and simplified
47 * The option to reference structures in [[SDMX-ML>>doc:xwiki:Glossary.SDMX-ML.WebHome]] and [[SDMX-JSON>>doc:xwiki:Glossary.SDMX-JSON.WebHome]] messages using Agency, ID and (% style="color:#2ecc71" %)Version(%%) has been deprecated with URN now exclusively used for all non-local referencing purpose
Helena 2.1 48
49 **Breaking Changes**
50
Helena 19.2 51 Many of the changes made are ‘breaking’ meaning that, while conversion between (% style="color:#2ecc71" %)versions(%%) may be possible in certain circumstances, the 3.0 specification is not directly backwardly compatible with earlier (% style="color:#2ecc71" %)versions(%%) of the Standard.
Helena 2.1 52
53 A summary of the main breaking changes is given in chapter 2.
54
55 **Content of the Document**
56
Helena 19.2 57 The remainder of the document provides a summary of the main changes. More detailed information can be found the [[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] 3.0 Technical Specifications, in particular:
Helena 2.1 58
59 * Section 2 – Information Model
60 * Section 5 – Registry Specification
61 * Section 6 – Technical Notes
Helena 19.2 62 * [[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]]-TWG GitHub for the REST API and the XML, JSON and CSV formats
Helena 2.1 63
64 = 2 Summary of Breaking Changes in 3.0 =
65
Helena 19.3 66 (% style="color:#2ecc71" %)Version(%%) 3.0 introduces breaking changes into the web services API, transmission formats and information model. A summary is given in the table below.
Helena 2.1 67
Helena 11.1 68 == 2.1 Web Services API ==
Helena 2.1 69
Helena 7.4 70 (% style="width:948.039px" %)
71 |**REST API**|(% style="width:818px" %)(((
Helena 2.1 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
74 * Structure queries
75 * Data queries
76 * Metadata queries
77 * Availability queries
78
79 Schema queries are backwardly compatible.
80
81 //Guidance for implementors//
82
Helena 19.3 83 REST API implementors may provide partial backward compatibility by using web server URL rewriting rules to translate (% style="color:#2ecc71" %)version(%%) 2.1 structure queries to the 3.0 equivalent.
Helena 2.1 84
Helena 19.3 85 Implementors are also recommended to (% style="color:#2ecc71" %)version(%%) their API services providing users with an explicit choice of which (% style="color:#2ecc71" %)version(%%) to use.
Helena 2.1 86 )))
Helena 7.4 87 |**SOAP API**|(% style="width:818px" %)The SOAP API has been deprecated.
Helena 2.1 88
Helena 11.1 89 == 2.2 Transmission Formats ==
Helena 2.1 90
91 (((
Helena 7.4 92 (% style="width:952.039px" %)
93 |(% style="width:130px" %)**SDMX-ML**|(% style="width:820px" %)(((
Helena 2.1 94 The following legacy XML data messages have been deprecated:
95
Helena 19.3 96 [[SDMX-ML>>doc:xwiki:Glossary.SDMX-ML.WebHome]] 1.0/2.0 Generic (time-series) data message
97 [[SDMX-ML>>doc:xwiki:Glossary.SDMX-ML.WebHome]] 1.0/2.0 Compact (time-series) data message
98 [[SDMX-ML>>doc:xwiki:Glossary.SDMX-ML.WebHome]] 1.0/2.0 Utility (time-series) data message
99 [[SDMX-ML>>doc:xwiki:Glossary.SDMX-ML.WebHome]] 1.0/2.0 Cross-Sectional data message [[SDMX-ML>>doc:xwiki:Glossary.SDMX-ML.WebHome]] 2.1 Generic data messages (for observations, time-series and cross-sectional data)
Helena 2.1 100
Helena 19.3 101 Structure Specific is the only data message option in (% style="color:#2ecc71" %)version(%%) 3.0 but is not backwardly compatible with (% style="color:#2ecc71" %)version(%%) 2.1 due to several changes including deprecation of the option to reference structures like the [[DSD>>doc:xwiki:Glossary.Data structure definition.WebHome]], [[Dataflow>>doc:xwiki:Glossary.Dataflow.WebHome]] and [[Provision Agreement>>doc:xwiki:Glossary.Provision agreement.WebHome]] using their Agency, ID and (% style="color:#2ecc71" %)Version(%%). The time series variant of the message has also been deprecated.
Helena 2.1 102
Helena 19.3 103 The [[SDMX-ML>>doc:xwiki:Glossary.SDMX-ML.WebHome]] structure message is not backwardly compatible primarily due to:
Helena 2.1 104
105 * Changes to the information model
Helena 7.5 106 * Changes to the way the structures are organised into ‘collections’ within the message
Helena 19.3 107 * Deprecation of the Agency, ID, (% style="color:#2ecc71" %)Version(%%) option for referencing of structures in messages
Helena 2.1 108 )))
Helena 7.4 109 |(% style="width:130px" %)**SDMX-JSON**|(% style="width:820px" %)(((
Helena 19.3 110 The JSON data message is not backwardly compatible with (% style="color:#2ecc71" %)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>>doc:xwiki:Glossary.Data set.WebHome]] with potentially different Data Structure Definitions.
Helena 2.1 111
112 The JSON structure message is not backwardly compatible primarily due to:
113
114 * Changes to the information model
Helena 7.6 115 * Changes to the way the structures are organised into ‘collections’ within the message
Helena 19.3 116 * Deprecation of the Agency, ID, (% style="color:#2ecc71" %)Version(%%) option for referencing of structures in messages
Helena 2.1 117 )))
Helena 7.4 118 |(% style="width:130px" %)**SDMX-EDI**|(% style="width:820px" %)The EDI format for both structures and data has been deprecated.
Helena 19.3 119 |(% style="width:130px" %)**SDMX-CSV**|(% style="width:820px" %)The CSV data and [[reference metadata>>doc:xwiki:Glossary.Reference metadata.WebHome]] messages are not backwardly compatible with those under (% style="color:#2ecc71" %)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.
Helena 2.1 120 )))
121
Helena 11.1 122 == 2.3 Information Model ==
Helena 2.1 123
124 (((
Helena 7.4 125 (% style="width:955.039px" %)
126 |(% style="width:132px" %)**Data Structure Definition**|(% style="width:819px" %)(((
Helena 19.3 127 The (% style="color:#2ecc71" %)version(%%) 3.0 [[Data Structure Definition>>doc:xwiki:Glossary.Data structure definition.WebHome]] ([[DSD>>doc:xwiki:Glossary.Data structure definition.WebHome]]) model is not directly backwardly compatible with 2.1 primarily due to the deprecation of the special MeasureDimension.
Helena 2.1 128
129 //Conversion guidance for implementors//
130
Helena 19.3 131 (% style="color:#2ecc71" %)Version(%%) 2.1 DSDs can be converted to the 3.0 model by creating a [[measure>>doc:xwiki:Glossary.Measure.WebHome]] with the “[[MEASURE>>doc:xwiki:Glossary.Measure.WebHome]]” (% style="color:#2ecc71" %)concept(%%) role applied as described in paragraph 3.5.
Helena 2.1 132
Helena 19.3 133 (% style="color:#2ecc71" %)Version(%%) 3.0 DSDs cannot be reliably converted to the 2.1 model due to the introduction of new features such as multiple [[measures>>doc:xwiki:Glossary.Measure.WebHome]] and value arrays for [[measures>>doc:xwiki:Glossary.Measure.WebHome]] and [[attributes>>doc:xwiki:Glossary.Attribute.WebHome]].
Helena 2.1 134 )))
Helena 7.4 135 |(% style="width:132px" %)**Structure mapping model**|(% style="width:819px" %)(((
Helena 19.3 136 The structure mapping model has changed significantly in (% style="color:#2ecc71" %)version(%%) 3.0 with deprecation of the [[Structure Set>>doc:xwiki:Glossary.Structure set.WebHome]] [[maintainable artefact>>doc:xwiki:Glossary.Maintainable artefact.WebHome]] and introduction of five new ones: [[Representation>>doc:xwiki:Glossary.Representation.WebHome]] (% style="color:#2ecc71" %)Map(%%) and four variants of [[item scheme>>doc:xwiki:Glossary.Item scheme.WebHome]] (% style="color:#2ecc71" %)map(%%).
Helena 2.1 137
138 //Conversion guidance for implementors//
139
Helena 19.3 140 (% style="color:#2ecc71" %)Version(%%) 2.1 [[structure sets>>doc:xwiki:Glossary.Structure set.WebHome]] can be practically converted to the (% style="color:#2ecc71" %)version(%%) 3.0 structure mapping model.
Helena 2.1 141
Helena 19.3 142 Conversion from the (% style="color:#2ecc71" %)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>>doc:xwiki:Glossary.Structure set.WebHome]] will not be precisely the same as the original. In converting to (% style="color:#2ecc71" %)version(%%) 3.0, the system must generate IDs for each of the new [[maintainable artefacts>>doc:xwiki:Glossary.Maintainable artefact.WebHome]], but details of the original [[Structure Set>>doc:xwiki:Glossary.Structure set.WebHome]] [[artefacts>>doc:xwiki:Glossary.Artefact.WebHome]] are lost.
Helena 2.1 143 )))
Helena 7.4 144 |(% style="width:132px" %)**Reference metadata model**|(% style="width:819px" %)(((
Helena 19.3 145 The [[reference metadata>>doc:xwiki:Glossary.Reference metadata.WebHome]] model has changed in (% style="color:#2ecc71" %)version(%%) 3.0 with modifications to the role of the [[Data Structure Definition>>doc:xwiki:Glossary.Data structure definition.WebHome]], [[Metadata Structure Definition>>doc:xwiki:Glossary.Metadata structure definition.WebHome]] and [[Metadataflow>>doc:xwiki:Glossary.Metadataflow.WebHome]] [[artefacts>>doc:xwiki:Glossary.Artefact.WebHome]]. Metadata [[Provision Agreement>>doc:xwiki:Glossary.Provision agreement.WebHome]] and Metadata Provider Scheme have been added. Metadatasets are now identifiable.
Helena 2.1 146
Helena 19.3 147 (% style="color:#2ecc71" %)Version(%%) 2.1 [[reference metadata>>doc:xwiki:Glossary.Reference metadata.WebHome]] models are not valid in (% style="color:#2ecc71" %)version(%%) 3.0.
Helena 2.1 148
149 //Conversion guidance for implementors//
150
Helena 19.3 151 A (% style="color:#2ecc71" %)version(%%) 2.1 [[Metadata Structure Definition>>doc:xwiki:Glossary.Metadata structure definition.WebHome]] can be converted to the (% style="color:#2ecc71" %)version(%%) 3.0 model under some circumstances, but target information is either lost or has to be translated into a [[metadataflow>>doc:xwiki:Glossary.Metadataflow.WebHome]]. Further, conversion of a [[Data Structure Definition>>doc:xwiki:Glossary.Data structure definition.WebHome]] for collecting [[reference metadata>>doc:xwiki:Glossary.Reference metadata.WebHome]] against a [[dataset>>doc:xwiki:Glossary.Data set.WebHome]] would need to make changes to the [[dataset>>doc:xwiki:Glossary.Data set.WebHome]]’s [[Data Structure Definition>>doc:xwiki:Glossary.Data structure definition.WebHome]]. As the [[Data Structure Definition>>doc:xwiki:Glossary.Data structure definition.WebHome]] 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>>doc:xwiki:Glossary.Data set.WebHome]]. A 2.1 metadata report could be converted to a (% style="color:#2ecc71" %)version(%%) 3.0 Metadataset if it is attached to a structure, but requires a Metadata [[Provision Agreement>>doc:xwiki:Glossary.Provision agreement.WebHome]] which would need to be created if not already in existence.
Helena 2.1 152
Helena 19.3 153 Conversion from the (% style="color:#2ecc71" %)version(%%) 3.0 model to (% style="color:#2ecc71" %)version(%%) 2.1 cannot be performed reliably. The process would need target information to be derived from analysis of the [[Metadataflows>>doc:xwiki:Glossary.Metadataflow.WebHome]] and Metadata [[Provision Agreements>>doc:xwiki:Glossary.Provision agreement.WebHome]]. Depending on the complexity it may not be possible to express that information in a (% style="color:#2ecc71" %)version(%%) 2.1 [[Data Structure Definition>>doc:xwiki:Glossary.Data structure definition.WebHome]].
Helena 2.1 154 )))
Helena 7.4 155 |(% style="width:132px" %)**Constraint model**|(% style="width:819px" %)(((
Helena 19.3 156 The (% style="color:#2ecc71" %)version(%%) 2.1 Content (% style="color:#2ecc71" %)Constraint(%%) [[artefact>>doc:xwiki:Glossary.Artefact.WebHome]] has been deprecated in (% style="color:#2ecc71" %)version(%%) 3.0 and replaced by the Data (% style="color:#2ecc71" %)Constraint(%%) for data, and the Metadata (% style="color:#2ecc71" %)Constraint(%%) for reference metadata.
Helena 2.1 157
158 //Conversion guidance for implementors//
159
Helena 19.3 160 2.1 Content (% style="color:#2ecc71" %)Constraints(%%) can be converted without loss to the equivalent (% style="color:#2ecc71" %)version(%%) 3.0 Data (% style="color:#2ecc71" %)Constraint(%%) model.
Helena 2.1 161
162 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.
163 )))
Helena 7.4 164 |(% style="width:132px" %)**Hierarchical codelist structures**|(% style="width:819px" %)(((
Helena 19.3 165 The (% style="color:#2ecc71" %)version(%%) 2.1 Hierarchical Codelist [[artefact>>doc:xwiki:Glossary.Artefact.WebHome]] has been deprecated in (% style="color:#2ecc71" %)version(%%) 3.0 and replaced by two new [[artefacts>>doc:xwiki:Glossary.Artefact.WebHome]], [[Hierarchy>>doc:xwiki:Glossary.Hierarchy.WebHome]] and [[Hierarchy>>doc:xwiki:Glossary.Hierarchy.WebHome]] Association.
Helena 2.1 166
167 //Conversion guidance for implementors//
168
Helena 19.3 169 (% style="color:#2ecc71" %)Version(%%) 2.1 Hierarchical Codelists can be successfully converted to the (% style="color:#2ecc71" %)version(%%) 3.0 [[hierarchy>>doc:xwiki:Glossary.Hierarchy.WebHome]] model. Information on which [[artefacts>>doc:xwiki:Glossary.Artefact.WebHome]] to link the [[hierarchies>>doc:xwiki:Glossary.Hierarchy.WebHome]] to on what context would need to be added as a separate procedure.
Helena 2.1 170
Helena 19.3 171 Conversion from the (% style="color:#2ecc71" %)version(%%) 3.0 model to (% style="color:#2ecc71" %)version(%%) 2.1 is possible, but with loss of the linking information
Helena 2.1 172 )))
173 )))
174
175 = 3 Information Model =
176
Helena 11.1 177 == 3.1 Version 3.0 Information Model ==
Helena 2.1 178
179 [[image:SDMX 3-0-0 Major Changes FINAL-1.0_en_6fc573fe.png||height="404" width="718"]]
180
181 //Figure 1 Version 3.0 simplified Information Model UML class diagram with ‘heat map’ illustrating the areas with most change//
182
Helena 19.3 183 The schematic above is a simplified UML class diagram of the [[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] 3.0 information model illustrating the major areas of change as a ‘heat (% style="color:#2ecc71" %)map(%%)’. Darker colours indicate where new structures have been added in (% style="color:#2ecc71" %)version(%%) 3.0 or where structures have been significantly changed.
Helena 2.1 184
Helena 19.3 185 A number of ancillary structures including organisation schemes, process and [[reporting taxonomy>>doc:xwiki:Glossary.Reporting taxonomy.WebHome]] are unchanged and have not been shown. Similarly, Organisation Scheme (% style="color:#2ecc71" %)Map(%%) and [[Reporting Taxonomy>>doc:xwiki:Glossary.Reporting taxonomy.WebHome]] (% style="color:#2ecc71" %)Map(%%) have been omitted for simplicity. A schematic of the 2.1 model is given in Appendix A for comparison purposes.
Helena 2.1 186
Helena 11.1 187 == 3.2 Key Changes from Version 2.1 ==
Helena 2.1 188
189 New Maintainable Artefacts
190
Helena 19.3 191 * Structure (% style="color:#2ecc71" %)Map
192 * [[Representation>>doc:xwiki:Glossary.Representation.WebHome]] (% style="color:#2ecc71" %)Map
193 * Organisation Scheme (% style="color:#2ecc71" %)Map
194 * (% style="color:#2ecc71" %)Concept(%%) Scheme (% style="color:#2ecc71" %)Map
195 * Category Scheme (% style="color:#2ecc71" %)Map
196 * Reporting Taxonomy (% style="color:#2ecc71" %)Map
Helena 2.1 197 * Value List
Helena 19.3 198 * [[Hierarchy>>doc:xwiki:Glossary.Hierarchy.WebHome]]
199 * [[Hierarchy>>doc:xwiki:Glossary.Hierarchy.WebHome]] Association
200 * Metadata (% style="color:#2ecc71" %)Constraint
201 * Data (% style="color:#2ecc71" %)Constraint
Helena 2.1 202 * Metadata Provision Agreement
203 * Metadata Provider Scheme
204 * Metadataset
205
206 New Identifiable Artefacts
207
208 * GeoFeatureSetCode
209 * GeoGridCode
210 * Metadata Provider
211
212 Removed Maintainable Artefacts
213
Helena 19.3 214 * Structure Set – replaced by Structure (% style="color:#2ecc71" %)Map(%%) and the four [[item scheme>>doc:xwiki:Glossary.Item scheme.WebHome]] maps
215 * Hierarchical Codelist – replaced by [[Hierarchy>>doc:xwiki:Glossary.Hierarchy.WebHome]] and [[Hierarchy>>doc:xwiki:Glossary.Hierarchy.WebHome]] Association
216 * (% style="color:#2ecc71" %)Constraint(%%) – replaced by Data (% style="color:#2ecc71" %)Constraint(%%) and Metadata (% style="color:#2ecc71" %)Constraint
Helena 2.1 217
218 Changed Maintainable Artefacts
219
Helena 19.3 220 * Data Structure Definition – support for microdatasets and [[reference metadata>>doc:xwiki:Glossary.Reference metadata.WebHome]] linked to data
221 * Metadataflow – simplifies exchange of [[reference metadata>>doc:xwiki:Glossary.Reference metadata.WebHome]], in particular those linked to structures
222 * Metadata Structure Definition – simplified model for [[reference metadata>>doc:xwiki:Glossary.Reference metadata.WebHome]]
Helena 2.1 223 * Codelist – support for codelist extension and geospatial specialised codelists (GeographicCodelist, GeoGridCodelist)
Helena 19.3 224 * [[VTL>>doc:xwiki:Glossary.Validation and transformation language.WebHome]] Mapping Scheme – [[VTL>>doc:xwiki:Glossary.Validation and transformation language.WebHome]] (% style="color:#2ecc71" %)Concept(%%) Mapping Scheme removed to align the [[VTL>>doc:xwiki:Glossary.Validation and transformation language.WebHome]] / [[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] interface with the 3.0 model
Helena 2.1 225
Helena 19.3 226 New [[Component>>doc:xwiki:Glossary.Component.WebHome]] [[Representation>>doc:xwiki:Glossary.Representation.WebHome]] Types
Helena 2.1 227
228 * GeospatialInformation – a string type where the value is an expression defining a set of geographical features using a purpose-designed syntax
229
Helena 10.2 230 == 3.3 Areas Unchanged from Version 2.1 ==
Helena 2.1 231
Helena 19.3 232 The following areas of the information model are unchanged from (% style="color:#2ecc71" %)version(%%) 2.1:
Helena 2.1 233
234 * Categories
235 * Concepts
236 * Data providers
237 * Agencies
238 * Data consumers
Helena 19.3 239 * [[VTL>>doc:xwiki:Glossary.Validation and transformation language.WebHome]] transformation and expressions – with the exception of [[VTL>>doc:xwiki:Glossary.Validation and transformation language.WebHome]] mapping scheme as already noted
Helena 2.1 240 * Reporting taxonomy
241 * Process
242
Helena 10.2 243 == 3.4 Reference Metadata ==
Helena 2.1 244
Helena 19.3 245 [[Reference metadata>>doc:xwiki:Glossary.Reference metadata.WebHome]] has been substantially re-designed for (% style="color:#2ecc71" %)version(%%) 3.0 to simplify the model and better support practical use cases.
Helena 2.1 246
Helena 16.2 247 (% class="wikigeneratedid" id="HSimplifyMetadataStructureDefinition" %)
248 **Simplify Metadata Structure Definition**
Helena 19.3 249 The [[Metadata Structure Definition>>doc:xwiki:Glossary.Metadata structure definition.WebHome]] ([[MSD>>doc:xwiki:Glossary.Metadata structure definition.WebHome]]) has been simplified to remove target information, and the support of multiple report structures. The [[MSD>>doc:xwiki:Glossary.Metadata structure definition.WebHome]] now only contains Metadata [[Attributes>>doc:xwiki:Glossary.Attribute.WebHome]] which are used to define the structure of a report.
Helena 2.1 250
251 [[image:SDMX 3-0-0 Major Changes FINAL-1.0_en_ad5f5c97.png||height="346" width="494"]]
252
253 //Figure 2 version 2.1 Metadata Structure Definition (MSD)//
254
255 [[image:SDMX 3-0-0 Major Changes FINAL-1.0_en_f2695ed5.png||height="172" width="374"]]
256
257 //Figure 3 the simplified version 3.0 MSD//
258
Helena 15.7 259 (% class="wikigeneratedid" id="HChangetoreferencemetadatareportedagainstdata" %)
260 **Change to reference metadata reported against data**
Helena 2.1 261
Helena 19.3 262 (% class="wikigeneratedid" id="HChangetoreferencemetadatareportedagainstdata" %)
263 [[Reference metadata>>doc:xwiki:Glossary.Reference metadata.WebHome]] associated with [[datasets>>doc:xwiki:Glossary.Data set.WebHome]], data series or observations are now reported with the data. The [[dataset>>doc:xwiki:Glossary.Data set.WebHome]]’s [[DSD>>doc:xwiki:Glossary.Data structure definition.WebHome]] must reference an [[MSD>>doc:xwiki:Glossary.Metadata structure definition.WebHome]] to define the structure of its [[reference metadata>>doc:xwiki:Glossary.Reference metadata.WebHome]]. In practice [[reference metadata>>doc:xwiki:Glossary.Reference metadata.WebHome]] for data are transmitted as part of the data message. The metadata [[attributes>>doc:xwiki:Glossary.Attribute.WebHome]] are treated in a similar way to the data [[attributes>>doc:xwiki:Glossary.Attribute.WebHome]] appearing in the message at the [[dataset>>doc:xwiki:Glossary.Data set.WebHome]], data series or individual observation (% style="color:#2ecc71" %)level(%%) as appropriate. In contrast to simple data [[attributes>>doc:xwiki:Glossary.Attribute.WebHome]], metadata [[attributes>>doc:xwiki:Glossary.Attribute.WebHome]] defined by an [[MSD>>doc:xwiki:Glossary.Metadata structure definition.WebHome]] can be organised into a hierarchical structure as illustrated in Figure 3 above. For this reason, metadata [[attributes>>doc:xwiki:Glossary.Attribute.WebHome]] appear in data messages structured in the same way as metadata messages.
Helena 2.1 264
Helena 19.3 265 The [[SDMX-ML>>doc:xwiki:Glossary.SDMX-ML.WebHome]] example below is an excerpt from a structure specific data message illustrating reporting of [[reference metadata>>doc:xwiki:Glossary.Reference metadata.WebHome]] with a hierarchical structure at the observation (% style="color:#2ecc71" %)level(%%).
266
Helena 2.1 267 For completeness, the excerpt also shows:
268
Helena 19.3 269 * OBS_STATUS – a simple observation-(% style="color:#2ecc71" %)level(%%) data [[attribute>>doc:xwiki:Glossary.Attribute.WebHome]]
270 * TITLE – a multi-lingual data [[attribute>>doc:xwiki:Glossary.Attribute.WebHome]]
271 * SOURCE_AGENCY – a multi-value data [[attribute>>doc:xwiki:Glossary.Attribute.WebHome]]
Helena 2.1 272
Helena 13.2 273 > <Obs xsi:type="dsd:ObsType" OBS_VALUE="112" OBS_STAUS=”A” TIME_PERIOD="2010-09">
Helena 13.3 274 > <!—- complex multi-value and multi-lingual data attributes ~-~->
275 > <Comp id="TITLE" xsi:type="ns1:TITLE_ATTRIBUTE">
276 > <Value>
277 > <common:Text xml:lang="en">Some English Text</common:Text>
278 > <common:Text xml:lang="fr">Quelques textes en anglais</common:Text>
279 > </Value>
280 > </Comp>
281 > <Comp id="SOURCE_AGENCY" xsi:type="ns1:SOURCE_AGENCY_ATTRIBUTE">
282 > <Value>4F0</Value>
283 > <Value>4D0</Value>
284 > <Value>CZ2</Value>
285 > </Comp>
286 > <!—- metadata attributes are reported like in metadata messages ~-~->
Helena 13.4 287 > <Metadata>
288 > <Attribute id="COLLECTION">
289 > <Attribute id="METHOD">
290 > <Text lang="en">AAA</Text>
Helena 14.1 291 > </Attribute>
Helena 13.4 292 > </Attribute>
Helena 14.1 293 > <Attribute id="CONTACT">
294 > <Value>CONTACT 1</Value>
295 > <Attribute id="NAME">
296 > <Value>Contact 1 Name 1</Value>
297 > </Attribute>
298 > <Attribute id="NAME">
299 > <Value>Contact 1 Name 2</Value>
300 > </Attribute>
Helena 13.4 301 > </Attribute>
302 > <Attribute id="CONTACT">
Helena 14.1 303 > <Value>CONTACT 2</Value>
Helena 13.4 304 > <Attribute id="NAME">
305 > <Value>Contact 2 Name 1</Value>
Helena 14.1 306 > </Attribute>
307 > <Attribute id="NAME">
308 > <Value>Contact 2 Name 2</Value>
309 > </Attribute>
310 > </Attribute>
311 > </Metadata>
Helena 13.3 312 > </Obs>
Helena 2.1 313
Helena 15.6 314 (% class="wikigeneratedid" id="HNew-MetadataProvisionAgreement" %)
315 **New - Metadata Provision Agreement**
Helena 2.1 316
Helena 19.3 317 (% class="wikigeneratedid" id="HNew-MetadataProvisionAgreement" %)
318 In (% style="color:#2ecc71" %)version(%%) 2.1 a [[Provision Agreement>>doc:xwiki:Glossary.Provision agreement.WebHome]] could be used to report information against a [[Dataflow>>doc:xwiki:Glossary.Dataflow.WebHome]] or [[Metadataflow>>doc:xwiki:Glossary.Metadataflow.WebHome]]. From (% style="color:#2ecc71" %)version(%%) 3.0 this is managed by two separate structures, the Data [[Provision Agreement>>doc:xwiki:Glossary.Provision agreement.WebHome]] and the Metadata [[Provision Agreement>>doc:xwiki:Glossary.Provision agreement.WebHome]].
319
Helena 15.6 320 (% class="wikigeneratedid" id="HMovetargettoMetadataflowandMetadataProvisionAgreement" %)
321 **Move target to Metadataflow and Metadata Provision Agreement**
Helena 19.3 322 For [[reference metadata>>doc:xwiki:Glossary.Reference metadata.WebHome]] that is reported against structures, the allowable targets information which is used to specify what structures the [[reference metadata>>doc:xwiki:Glossary.Reference metadata.WebHome]] can be reported against, has moved to the [[Metadataflow>>doc:xwiki:Glossary.Metadataflow.WebHome]] and can be further refined in the Metadata [[Provision Agreement>>doc:xwiki:Glossary.Provision agreement.WebHome]].
Helena 2.1 323
Helena 15.6 324 (% class="wikigeneratedid" id="HAddmaintainablepropertiestoreferencemetadata" %)
325 **Add maintainable properties to reference metadata**
Helena 19.3 326 A Metadataset now has mandatory identification information, (owner id, id, (% style="color:#2ecc71" %)version(%%)) enabling metadata providers to uniquely identify their reports for create, update or delete maintenance operations.
Helena 2.1 327
Helena 10.2 328 == 3.5 Microdata Exchange ==
Helena 2.1 329
Helena 19.4 330 Several changes have been made the [[Data Structure Definition>>doc:xwiki:Glossary.Data structure definition.WebHome]] to support microdata use cases in addition to aggregated time series.
Helena 2.1 331
Helena 15.5 332 (% class="wikigeneratedid" id="HMultiplemeasures" %)
Helena 19.4 333 **Multiple measures**Multiple [[measures>>doc:xwiki:Glossary.Measure.WebHome]] 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>>doc:xwiki:Glossary.Measure.WebHome]]. [[Measures>>doc:xwiki:Glossary.Measure.WebHome]] now act like any other [[component>>doc:xwiki:Glossary.Component.WebHome]] in that they use (% style="color:#2ecc71" %)concepts(%%), can have their own local coded or uncoded [[representation>>doc:xwiki:Glossary.Representation.WebHome]] defined within the [[Data Structure Definition>>doc:xwiki:Glossary.Data structure definition.WebHome]], and can be either mandatory or conditional. Creating a [[measure>>doc:xwiki:Glossary.Measure.WebHome]] with the “[[MEASURE>>doc:xwiki:Glossary.Measure.WebHome]]” (% style="color:#2ecc71" %)concept(%%) role applied emulates the (% style="color:#2ecc71" %)version(%%) 2.1 MeasureDimension behaviour as illustrated in the [[SDMX-ML>>doc:xwiki:Glossary.SDMX-ML.WebHome]] example below:
Helena 2.1 334
Helena 15.1 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>
Helena 2.1 349
Helena 15.4 350 (% class="wikigeneratedid" id="HMulti-valuemeasuresandattributes" %)
351 **Multi-value measures and attributes**
Helena 2.1 352
Helena 19.5 353 (% class="wikigeneratedid" id="HMulti-valuemeasuresandattributes" %)
354 Both [[measures>>doc:xwiki:Glossary.Measure.WebHome]] and [[attributes>>doc:xwiki:Glossary.Attribute.WebHome]] 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>>doc:xwiki:Glossary.Measure.WebHome]] or [[attribute>>doc:xwiki:Glossary.Attribute.WebHome]] is //mandatory// or optional. In the [[SDMX-ML>>doc:xwiki:Glossary.SDMX-ML.WebHome]] [[measure>>doc:xwiki:Glossary.Measure.WebHome]] 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.
355
Helena 15.4 356 (% class="wikigeneratedid" id="HAttributesrelationshiptomeasures" %)
357 **Attributes relationship to measures**
Helena 19.5 358 In addition to attaching [[attributes>>doc:xwiki:Glossary.Attribute.WebHome]] to a specific (% style="color:#2ecc71" %)level(%%) within the [[dataset>>doc:xwiki:Glossary.Data set.WebHome]], their relationship 202 to [[measures>>doc:xwiki:Glossary.Measure.WebHome]] can also be defined.
Helena 2.1 359
Helena 15.4 360 (% class="wikigeneratedid" id="HValuelists" %)
361 **Value lists**
Helena 19.5 362 Value lists help in modelling microdata by providing an enumeration similar to [[code lists>>doc:xwiki:Glossary.Code list.WebHome]] 206 but allowing any string values without being restricted to the rules of [[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] identifiers. That allows ValueItems (the equivalent to [[Code>>doc:xwiki:Glossary.Code.WebHome]]) to contain symbols like ‘¥’ and ‘€’, but also means they are not identifiable.
Helena 2.1 363
Helena 10.2 364 == 3.6 Geospatial Data Exchange ==
Helena 2.1 365
Helena 19.5 366 The (% style="color:#2ecc71" %)version(%%) 3.0 model has been extended to provide explicit support for geospatial data.
Helena 2.1 367
Helena 16.3 368 (% class="wikigeneratedid" id="HGeospatialInformationtype" %)
369 **GeospatialInformation type**
Helena 19.5 370 A new GeospatialInformation string type has been added which can be used as the [[representation>>doc:xwiki:Glossary.Representation.WebHome]] for any [[dimension>>doc:xwiki:Glossary.Dimension.WebHome]], [[attribute>>doc:xwiki:Glossary.Attribute.WebHome]] or measure [[component>>doc:xwiki:Glossary.Component.WebHome]]. The value which is a string expression conforming to the syntax defined in Section 6 of the technical specifications precisely defines a ‘Geo Feature Set’ – a collection of geographical features like points, lines or polygons. Its use is recommended in conjunction with the “GEO_FEATURE_SET” (% style="color:#2ecc71" %)concept(%%) role.
Helena 2.1 371
Helena 16.3 372 (% class="wikigeneratedid" id="HGeospatialcodelists" %)
373 **Geospatial code lists**
Helena 2.1 374
Helena 19.5 375 (% class="wikigeneratedid" id="HGeospatialcodelists" %)
376 Two new specialised types of [[code list>>doc:xwiki:Glossary.Code list.WebHome]] have been added where the definition of each [[code>>doc:xwiki:Glossary.Code.WebHome]] includes additional geospatial information in addition to the standard ID, name and description:
377
Helena 2.1 378 * 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.
Helena 19.5 379 * GeoGridCodelist – A [[code list>>doc:xwiki:Glossary.Code list.WebHome]] defining a geographical grid composed of cells representing regular squared portions of the Earth. Each item references a cell within the grid.
Helena 2.1 380
Helena 11.2 381 == 3.7 Structure Mapping ==
Helena 2.1 382
383 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.
384
385 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.
386
Helena 15.3 387 (% class="wikigeneratedid" id="HMany-to-manysourceandtargetcomponents" %)
388 **Many-to-many source and target components**
Helena 2.1 389 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:
390
391 Set the output component INDICATOR=”DE_A” if the input components are FREQ=”A” and REF_AREA=”DE”.
392
393 Similarly, an n-n rule may also set the values of any number of output components:
394
395 Set the output components FREQ=”A”, REF_AREA=”DE” if the input component INDICATOR=”DE_A”.
396
397 **Fixed source and target**
398 The Structure Map may now define input or output components which have a fixed value.
399
Helena 15.3 400 (% class="wikigeneratedid" id="HTimerepresentationsmapping" %)
401 **Time representations mapping**
Helena 2.1 402 Non SDMX time representations may now be described in a Structure Map, allowing them to be mapped into SDMX time formats.
403
Helena 15.3 404 (% class="wikigeneratedid" id="HRegularexpressionandsubstringmappings" %)
405 **Regular expression and substring mappings**
Helena 2.1 406 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.
407
Helena 15.3 408 (% class="wikigeneratedid" id="HItemmapsvalidityperiod" %)
409 **Item maps validity period**
Helena 2.1 410 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.
411
Helena 11.2 412 == 3.8 Constraints ==
Helena 2.1 413
414 Constraints in version 3.0 are modelled using two separate artefacts which replace the version 2.1 content constraint:
415
416 * data constraint for data; and
417 * metadata constraint for reference metadata.
418
419 Metadata constraint differs from its data counterpart in having a simplified cube region model better suited to reference metadata reporting use cases and not carrying details of the constrained targets – that information instead being defined directly within the metadataflow and Metadata Provision Agreement. Thus, metadata related constraints only specify constraints to the values of metadata attributes.
420
421 The ‘%’ wildcard character can now be used when defining cube region constraints to match multiple codes with a single expression, for instance for economic activity, ISIC4_% matches all codes beginning with ‘ISIC4_’ avoiding the need to maintain an explicit list.
422
423 The validity period definition has been moved from the constraint to the individual constraining terms, specifically CubeRegion, DataKeySet and MetadataTargetRegion providing more granular control.
424
425 Attachment constraints have been deprecated due to a lack of use cases.
426
Helena 11.2 427 == 3.9 Code List Extension ==
Helena 2.1 428
429 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.
430
431 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.
432
Helena 11.2 433 == 3.10 Discriminated Union of Code Lists ==
Helena 2.1 434
435 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.
436
Helena 11.2 437 == 3.11 Code Hierarchies ==
Helena 2.1 438
439 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).
440
441 = 4 Versioning of Structural Metadata Artefacts =
442
Helena 7.4 443 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.
Helena 2.1 444
445 Semantic version numbers are three digits:
446
447 MAJOR.MINOR.PATCH
448
449 Where
450
451 * The first digit (major) indicates that changes (either new features or bug fixes) are not backward compatible.
452 * The second digit (minor) indicates that features have been added in a backward compatible manner.
453 * The third digit (patch) indicates that bugs have been fixed in a backward compatible manner.
454
455 Examples:
456
457 SDMX:CL_AREA(1.0.0)
458 SDMX:CL_AREA(2.3.2)
459
460 == Dependency management ==
461
462 Additional constructs are possible for dependency management when referencing structures. For instance:
463
Helena 16.4 464 2.3+.1  Means the currently latest available version >= “2.3.1” and < “3.0.0” (all backwards compatible versions >= “2.3.1”).
465 2+.3.1  Means the currently latest available version >= “2.3.1” (even if not backwards compatible).
Helena 2.1 466
467 == Draft structures ==
468
469 A key principle is that semantically versioned structures are immutable and must not be changed without a corresponding change to the version number, except where explicitly marked as draft using extensions to the version number.
470
471 MAJOR.MINOR.PATCH-EXTENSION
472
Helena 16.5 473 1.10.0-draft  Means that version 1.10.0 is still being modified and may change – equivalent to setting isFinal=false in SDMX 2.1.
474 1.10.0-unstable  Alternative to -draft.
475 1.10.0-notfinal  Alternative to -draft.
Helena 2.1 476
477 The SDMX 2.1 isFinal property is deprecated in 3.0.
478
479 = 5 REST Web Services API =
480
Helena 11.1 481 == 5.1 Simplified list of resources ==
Helena 2.1 482
483 The version 3.0 REST API has just five main resources:
484
485 * structure
486 * data
487 * schema
488 * availability
489 * metadata
490
491 All structure and item queries have been organised under the structure resource in contrast to the version 2.1 API which specified a separate resource for each structure.
492
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
Helena 11.1 495 == 5.2 Improved data queries ==
Helena 2.1 496
497 Data queries have been changed to provide more granular selections from contexts wider than just a Dataflow.
498
Helena 16.6 499 (% class="wikigeneratedid" id="HExtendthecontextofdataretrieval" %)
500 **Extend the context of data retrieval**
Helena 2.1 501 Version 2.1 data queries always retrieved data from a single specific Dataflow. In version 3.0, the query context may be specified as:
502
503 * Dataflow;
504 * Data Structure Definition – i.e., all Dataflows that use it; or
505 * Provision Agreement – i.e., all Dataflows associated with it.
506
507 Data queries may also search across datasets, for instance “retrieve all data about a country”.
508
Helena 16.6 509 (% class="wikigeneratedid" id="HComponent-basedfilters" %)
510 **Component-based filters**
Helena 2.1 511 Expressions filtering on individual components can now be included as part of the data query URL.
512
513 /data/dataflow/ESTAT/ICP?c[REF_AREA]=CH&c[CONF_STATUS]=F
514
Helena 16.6 515 (% class="wikigeneratedid" id="HSupportforoperators" %)
516 **Support for operators**
Helena 2.1 517 Filter expressions can also include operators.
518
Helena 16.6 519 /data/dataflow/ESTAT/ICP?c[REF_AREA]=DE&c[ICP_ITEM]=sw:01&c[TIME_PERIOD]=ge:2015
Helena 2.1 520
Helena 16.6 521 Operators include:
522
Helena 7.4 523 (% style="width:531.039px" %)
524 |(% style="width:151px" %)eq|(% style="width:378px" %)Equals
525 |(% style="width:151px" %)ne|(% style="width:378px" %)Not equal to
526 |(% style="width:151px" %)le|(% style="width:378px" %)Less than
527 |(% style="width:151px" %)ge|(% style="width:378px" %)Greater than or equal to
528 |(% style="width:151px" %)sw|(% style="width:378px" %)Starts with
Helena 2.1 529
Helena 16.7 530 (% class="wikigeneratedid" id="HSupportformultiplekeys" %)
531 **Support for multiple keys**
Helena 2.1 532 Queries can now specify multiple series keys.
533
Helena 16.7 534 (% class="wikigeneratedid" %)
Helena 2.1 535 /data/dataflow/ESTAT/ICP/1.0.0/M…A.ANR,M…A.INX,M…B.CTG
536
Helena 11.1 537 == 5.3 Improved reference metadata queries ==
Helena 2.1 538
539 Reference metadata queries have been improved with a number of new options to retrieve metadata reports.
540
541 **Get metadata reports by ID**
542
543 /metadata/metadataset/ESTAT/QUALITY_REPORT/1.0.0
544
545 **Get metadata reports by Dataflow**
546
547 /metadata/metadataflow/ECB/METHODOLOGY/*/FR2
548
549 **Get metadata reports about a Data Structure Definition**
550
551 /metadata/structure/datastructure/BIS/BIS_CBS/1.0
552
Helena 11.1 553 == 5.4 Structural metadata maintenance ==
Helena 2.1 554
555 Support has been added for maintenance of structural metadata.
556
557 HTTP verbs PUT, POST and DELETE may be used to submit SDMX-ML or SDMX-JSON structure messages to an SDMX registry for the purposes of adding, updating or deleting structural metadata artefacts.
558
559 = 6 XML, JSON, CSV and EDI Transmission formats =
560
Helena 11.1 561 == 6.1 SDMX-ML ==
Helena 2.1 562
563 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.
564
Helena 16.8 565 (% class="wikigeneratedid" id="HStructuremessage" %)
566 **Structure message**
Helena 2.1 567 The SDMX-ML structure message is used for transmission of structural metadata. It closely reflects the SDMX information model and has therefore been significantly updated for version 3.0 with the addition of new structures, modifications where structures have changed, and removal of deprecated structures like Structure Set.
568
569 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:
570
Helena 7.4 571 (% style="width:1102.04px" %)
572 |(% style="width:321px" %)**Artefact type**|(% style="width:351px" %)**Version 2.1 Collection**|(% style="width:426px" %)**Version 3.0 Collection**
573 |(% style="width:321px" %)AgencyScheme|(% style="width:351px" %)OrganisationSchemes|(% style="width:426px" %)AgencySchemes
574 |(% style="width:321px" %)DataConsumerScheme|(% style="width:351px" %)OrganisationSchemes|(% style="width:426px" %)DataConsumerSchemes
575 |(% style="width:321px" %)DataProviderScheme|(% style="width:351px" %)OrganisationSchemes|(% style="width:426px" %)DataProviderSchemes
576 |(% style="width:321px" %)MetadataProviderScheme|(% style="width:351px" %)OrganisationSchemes|(% style="width:426px" %)MetadataProviderSchemes
577 |(% style="width:321px" %)OrganisationUnitScheme|(% style="width:351px" %)OrganisationSchemes|(% style="width:426px" %)OrganisationUnitSchemes
578 |(% style="width:321px" %)GeographicCodelist|(% style="width:351px" %)Codelists|(% style="width:426px" %)GeographicCodelists
579 |(% style="width:321px" %)GeoGridCodelist|(% style="width:351px" %)Codelists|(% style="width:426px" %)GeoGridCodelists
580 |(% style="width:321px" %)ConceptScheme|(% style="width:351px" %)Concepts|(% style="width:426px" %)ConceptSchemes
581 |(% style="width:321px" %)ValueList|(% style="width:351px" %)Codelists|(% style="width:426px" %)ValueLists
582 |(% style="width:321px" %)StructureMap|(% style="width:351px" %)StructureMappings|(% style="width:426px" %)StructureMaps
583 |(% style="width:321px" %)RepresentationMap|(% style="width:351px" %)StructureMappings|(% style="width:426px" %)RepresentationMaps
584 |(% style="width:321px" %)ConceptSchemeMap|(% style="width:351px" %)StructureMappings|(% style="width:426px" %)ConceptSchemeMaps
585 |(% style="width:321px" %)CategorySchemeMap|(% style="width:351px" %)StructureMappings|(% style="width:426px" %)CategorySchemeMaps
586 |(% style="width:321px" %)OrganisationSchemeMap|(% style="width:351px" %)StructureMappings|(% style="width:426px" %)OrganisationSchemeMaps
587 |(% style="width:321px" %)ReportingTaxonomyMap|(% style="width:351px" %)StructureMappings|(% style="width:426px" %)ReportingTaxonomyMaps
588 |(% style="width:321px" %)DataConstraint|(% style="width:351px" %)Constraints|(% style="width:426px" %)DataConstraints
589 |(% style="width:321px" %)MetadataConstraint|(% style="width:351px" %)Constraints|(% style="width:426px" %)MetadataConstraints
590 |(% style="width:321px" %)MetadataProvisionAgreement|(% style="width:351px" %)ProvisionAgreement|(% style="width:426px" %)MetadataProvisionAgreements
591 |(% style="width:321px" %)CustomTypeScheme|(% style="width:351px" %)CustomTypes|(% style="width:426px" %)CustomTypeSchemes
592 |(% style="width:321px" %)VtlMappingScheme|(% style="width:351px" %)VtlMappings|(% style="width:426px" %)VtlMappingSchemes
593 |(% style="width:321px" %)NamePersonalisationScheme|(% style="width:351px" %)NamePersonalisations|(% style="width:426px" %)NamePersonalisationSchemes
594 |(% style="width:321px" %)RulesetScheme|(% style="width:351px" %)Rulesets|(% style="width:426px" %)RulesetSchemes
595 |(% style="width:321px" %)TransformationScheme|(% style="width:351px" %)Transformations|(% style="width:426px" %)TransformationSchemes
596 |(% style="width:321px" %)UserDefinedOperatorScheme|(% style="width:351px" %)UserDefinedOperators|(% style="width:426px" %)UserDefinedOperatorSchemes
Helena 2.1 597
598 No changes have been made to the way the following artefacts are organised in the structure message:
599
Helena 7.4 600 (% style="width:1106.04px" %)
601 |(% style="width:326px" %)**Artefact type**|(% style="width:776px" %)**Collection**
602 |(% style="width:326px" %)Dataflow|(% style="width:776px" %)Dataflows
603 |(% style="width:326px" %)Metadataflow|(% style="width:776px" %)Metadataflows
604 |(% style="width:326px" %)CategoryScheme|(% style="width:776px" %)CategorySchemes
605 |(% style="width:326px" %)Categorisation|(% style="width:776px" %)Categorisations
606 |(% style="width:326px" %)Codelist|(% style="width:776px" %)Codelists
607 |(% style="width:326px" %)Hierarchy|(% style="width:776px" %)Hierarchies
608 |(% style="width:326px" %)HierarchyAssociation|(% style="width:776px" %)HierarchyAssociations
609 |(% style="width:326px" %)MetadataStructure|(% style="width:776px" %)MetadataStructures
610 |(% style="width:326px" %)DataStructure|(% style="width:776px" %)DataStructures
611 |(% style="width:326px" %)ReportingTaxonomy|(% style="width:776px" %)ReportingTaxonomies
612 |(% style="width:326px" %)Process|(% style="width:776px" %)Processes
613 |(% style="width:326px" %)ProvisionAgreement|(% style="width:776px" %)ProvisionAgreements
Helena 2.1 614
615 From version 3.0, collections can appear in any order within a structure message.
616
Helena 16.8 617 (% class="wikigeneratedid" id="HDatamessages" %)
618 **Data messages**
Helena 2.1 619 All legacy SDMX-ML data messages have been deprecated with the exception of Structure Specific Data which becomes the sole standard format for transmission of SDMX data in XML in version 3.0.
620
621 Specifically, the following data messages are not supported in version 3.0:
622
623 * SDMX-ML 1.0/2.0 Generic (time-series) data message
624 * SDMX-ML 1.0/2.0 Compact (time-series) data message
625 * SDMX-ML 1.0/2.0 Utility (time-series) data message
626 * SDMX-ML 1.0/2.0 Cross-Sectional data message
627 * SDMX-ML 2.1 Generic data messages (for observations, time-series and crosssectional data)
628
629 The Structure Specific Data message has been extended to support the transmission of microdata sets, in particular those with multiple measures and array values for measures and attributes.
630
631 As detailed in paragraph 3.4, the message now additionally allows data’s reference metadata to be reported as an integral part of the dataset. Like data attributes, these metadata attributes are included in the data message at the dataset, series or observation level as appropriate.
632
633 The time series variant of the Structure Specific Data message is no longer used.
634
Helena 16.8 635 (% class="wikigeneratedid" id="HReferencemetadatamessage" %)
636 **Reference metadata message**
Helena 2.1 637 The Generic Metadata message remains the standard format for transmission of reference metadata sets in XML but has been modified to support the revised version 3.0 reference metadata model.
638
Helena 16.8 639 (% class="wikigeneratedid" id="HRegistrystructuralmetadata2018query2019messages" %)
640 **Registry structural metadata ‘query’ messages**
Helena 2.1 641 As a consequence of the deprecation of the SOAP API and standardisation on REST, the structural metadata ‘query’ messages have all been removed. In version 3.0, querying an SDMX Registry for structural metadata is performed solely using REST GET.
642
Helena 16.8 643 (% class="wikigeneratedid" id="HStructurereferencing" %)
644 **Structure referencing**
Helena 2.1 645 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.
646
Helena 11.1 647 == 6.2 SDMX-JSON ==
Helena 2.1 648
649 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.
650
Helena 16.9 651 (% class="wikigeneratedid" id="HStructuremessage-1" %)
652 **Structure message**
Helena 2.1 653 The SDMX-JSON structure message closely replicates the SDMX-ML equivalent. Like that of SDMX-ML it has been updated to align it with the version 3.0 information model with addition, deletion and modification of artefacts as required. The organisation of the structure collections has also been revised as detailed in paragraph 6.1.
654
Helena 16.9 655 (% class="wikigeneratedid" id="HDatamessage" %)
656 **Data message**
Helena 2.1 657 The SDMX-JSON data message has similarly be updated. Additional changes have been made to allow a single message to carry data from multiple datasets with potentially different Data Structure Definitions to support REST data queries of the form “retrieve all data about a country”. For this reason, the version 3.0 SDMX-JSON is not backwardly compatible with version 2.1 data messages. Support has been added for the transmission of microdata and reporting of reference metadata on data as an integral part of the dataset.
658
Helena 16.9 659 (% class="wikigeneratedid" id="HReferencemetadatamessage-1" %)
660 **Reference metadata message**
Helena 2.1 661 The SDMX-JSON metadata message has also been updated to support the version 3.0 reference metadata and Metadataset specifications.
662
Helena 16.9 663 (% class="wikigeneratedid" id="HStructurereferencing-1" %)
664 **Structure referencing**
Helena 2.1 665 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.
666
Helena 11.1 667 == 6.3 SDMX-CSV ==
Helena 2.1 668
669 CSV in SDMX is used transmission of data and reference metadata only.
670
Helena 17.1 671 (% class="wikigeneratedid" id="HDatamessage-1" %)
672 **Data message**
Helena 2.1 673 The SDMX-CSV data message has been modified to align with the version 3.0 information model, support the enhanced REST API and ensure that data can be freely converted to and from the XML and JSON formats without loss. These changes include:
674
675 * An additional column identifying the type if the artefact defining the structure of the data: “dataflow”, “datastructure” or “dataprovision”; • A column for the structure artefact’s identification of the form
676
677 ESTAT:NA_MAIN(1.6.0) which replaces the dataflow identifier in version 2.1; and
678
679 * A column for the dataset action: information, append, replace or delete, which is consistent with both the the SDMX-ML and SDMX-JSON data messages.
680
Helena 17.1 681 (% class="wikigeneratedid" id="HReferencemetadatamessage-2" %)
682 **Reference metadata message**
Helena 2.1 683 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.
684
Helena 18.1 685 == 6.4 EDI deprecation ==
Helena 2.1 686
687 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.
688
689 = Appendix A – Version 2.1 Information Model =
690
691 [[image:SDMX 3-0-0 Major Changes FINAL-1.0_en_5f21cdf9.png||height="319" width="718"]]