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 (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Tags
-
... ... @@ -1,0 +1,1 @@ 1 +Artefact|Code|Code list|Hierarchy|Reference metadata|SDMX-EDI|SDMX-JSON|SDMX-ML|Statistical data and metadata exchange|Structural metadata - Content
-
... ... @@ -11,55 +11,55 @@ 11 11 12 12 = 1 Overview = 13 13 14 -SDMX version 3.0 introduces new features, improvements and changes to the Standard in the following key areas: 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: 15 15 16 16 **Information Model** 17 17 18 -* Simplification and improvement of the reference metadata model 18 +* Simplification and improvement of the [[reference metadata>>doc:xwiki:Glossary.Reference metadata.WebHome]] model 19 19 * Support for microdata 20 20 * Support for geospatial data 21 -* Support for code list extension and discriminated union of code lists 21 +* Support for [[code list>>doc:xwiki:Glossary.Code list.WebHome]] extension and discriminated union of [[code>>doc:xwiki:Glossary.Code.WebHome]] lists 22 22 * Improvements to structure mapping 23 -* Improvements to code hierarchies for data discovery 23 +* Improvements to [[code>>doc:xwiki:Glossary.Code.WebHome]] [[hierarchies>>doc:xwiki:Glossary.Hierarchy.WebHome]] for data discovery 24 24 * Improvements to constraints 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="noopener noreferrer" target="_blank"]]) 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"]]) 29 29 30 30 **REST Web Services Application Programming Interface (API)** 31 31 32 32 * Change to a single ‘structure’ resource for structure queries simplifying the REST API specification by reducing the number of resources to five 33 33 * Improvements to data queries 34 -* Improvements to reference metadata queries 35 -* Support for structural metadata maintenance using HTTP PUT, POST and DELETE verbs 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 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**;** 39 +* The SOAP web services API has been deprecated with (% style="color:#2ecc71" %)version(%%) 3.0 standardising on REST**;** 40 40 41 41 **XML, JSON, CSV and EDI Transmission formats** 42 42 43 -* The SDMX-ML, SDMX-JSON and SDMX-CSV specifications have been extended and modified where needed to support the new features and changes such as reference metadata and microdata 44 -* Obsolete SDMX-ML 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 transmission format for structures and data has been deprecated 46 -* The organisation of structures into ‘collections’ in SDMX-ML and SDMX-JSON structure messages has been flattened and simplified 47 -* The option to reference structures in SDMX-ML and SDMX-JSON messages using Agency, ID and Version has been deprecated with URN now exclusively used for all non-local referencing purpose 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 48 48 49 49 **Breaking Changes** 50 50 51 -Many of the changes made are ‘breaking’ meaning that, while conversion between versions may be possible in certain circumstances, the 3.0 specification is not directly backwardly compatible with earlier versions of the Standard. 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. 52 52 53 53 A summary of the main breaking changes is given in chapter 2. 54 54 55 55 **Content of the Document** 56 56 57 -The remainder of the document provides a summary of the main changes. More detailed information can be found the SDMX 3.0 Technical Specifications, in particular: 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: 58 58 59 59 * Section 2 – Information Model 60 60 * Section 5 – Registry Specification 61 61 * Section 6 – Technical Notes 62 -* SDMX-TWG GitHub for the REST API and the XML, JSON and CSV formats 62 +* [[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]]-TWG GitHub for the REST API and the XML, JSON and CSV formats 63 63 64 64 = 2 Summary of Breaking Changes in 3.0 = 65 65 ... ... @@ -94,13 +94,10 @@ 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 97 - 98 98 SDMX-ML 1.0/2.0 Compact (time-series) data message 99 - 100 100 SDMX-ML 1.0/2.0 Utility (time-series) data message 99 +SDMX-ML 1.0/2.0 Cross-Sectional data message SDMX-ML 2.1 Generic data messages (for observations, time-series and cross-sectional data) 101 101 102 -SDMX-ML 1.0/2.0 Cross-Sectional data message SDMX-ML 2.1 Generic data messages (for observations, time-series and cross-sectional data) 103 - 104 104 Structure Specific is the only data message option in version 3.0 but is not backwardly compatible with version 2.1 due to several changes including deprecation of the option to reference structures like the DSD, Dataflow and Provision Agreement using their Agency, ID and Version. The time series variant of the message has also been deprecated. 105 105 106 106 The SDMX-ML structure message is not backwardly compatible primarily due to: ... ... @@ -247,8 +247,8 @@ 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 250 -= ==SimplifyMetadataStructureDefinition===251 - 247 +(% class="wikigeneratedid" id="HSimplifyMetadataStructureDefinition" %) 248 +**Simplify Metadata Structure Definition** 252 252 The Metadata Structure Definition (MSD) has been simplified to remove target information, and the support of multiple report structures. The MSD now only contains Metadata Attributes which are used to define the structure of a report. 253 253 254 254 [[image:SDMX 3-0-0 Major Changes FINAL-1.0_en_ad5f5c97.png||height="346" width="494"]] ... ... @@ -259,8 +259,8 @@ 259 259 260 260 //Figure 3 the simplified version 3.0 MSD// 261 261 262 -= ==Changetoreferencemetadatareportedagainstdata===263 - 259 +(% class="wikigeneratedid" id="HChangetoreferencemetadatareportedagainstdata" %) 260 +**Change to reference metadata reported against data** 264 264 Reference metadata associated with datasets, data series or observations are now reported with the data. The dataset’s DSD must reference an MSD to define the structure of its reference metadata. In practice reference metadata for data are transmitted as part of the data message. The metadata attributes are treated in a similar way to the data attributes appearing in the message at the dataset, data series or individual observation level as appropriate. In contrast to simple data attributes, metadata attributes defined by an MSD can be organised into a hierarchical structure as illustrated in Figure 3 above. For this reason, metadata attributes appear in data messages structured in the same way as metadata messages. 265 265 266 266 The SDMX-ML example below is an excerpt from a structure specific data message illustrating reporting of reference metadata with a hierarchical structure at the observation level. ... ... @@ -271,58 +271,57 @@ 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> 271 +> <Obs xsi:type="dsd:ObsType" OBS_VALUE="112" OBS_STAUS=”A” TIME_PERIOD="2010-09"> 272 +> <!—- complex multi-value and multi-lingual data attributes ~-~-> 273 +> <Comp id="TITLE" xsi:type="ns1:TITLE_ATTRIBUTE"> 274 +> <Value> 275 +> <common:Text xml:lang="en">Some English Text</common:Text> 276 +> <common:Text xml:lang="fr">Quelques textes en anglais</common:Text> 277 +> </Value> 278 +> </Comp> 279 +> <Comp id="SOURCE_AGENCY" xsi:type="ns1:SOURCE_AGENCY_ATTRIBUTE"> 280 +> <Value>4F0</Value> 281 +> <Value>4D0</Value> 282 +> <Value>CZ2</Value> 283 +> </Comp> 284 +> <!—- metadata attributes are reported like in metadata messages ~-~-> 285 +> <Metadata> 286 +> <Attribute id="COLLECTION"> 287 +> <Attribute id="METHOD"> 288 +> <Text lang="en">AAA</Text> 289 +> </Attribute> 290 +> </Attribute> 291 +> <Attribute id="CONTACT"> 292 +> <Value>CONTACT 1</Value> 293 +> <Attribute id="NAME"> 294 +> <Value>Contact 1 Name 1</Value> 295 +> </Attribute> 296 +> <Attribute id="NAME"> 297 +> <Value>Contact 1 Name 2</Value> 298 +> </Attribute> 299 +> </Attribute> 300 +> <Attribute id="CONTACT"> 301 +> <Value>CONTACT 2</Value> 302 +> <Attribute id="NAME"> 303 +> <Value>Contact 2 Name 1</Value> 304 +> </Attribute> 305 +> <Attribute id="NAME"> 306 +> <Value>Contact 2 Name 2</Value> 307 +> </Attribute> 308 +> </Attribute> 309 +> </Metadata> 310 +> </Obs> 282 282 283 -<Comp id="SOURCE_AGENCY" xsi:type="ns1:SOURCE_AGENCY_ATTRIBUTE"> 284 -<Value>4F0</Value> 285 -<Value>4D0</Value> 286 -<Value>CZ2</Value> 287 -</Comp> 288 -<!—- metadata attributes are reported like in metadata messages ~-~-> 289 -<Metadata> 290 -<Attribute id="COLLECTION"> 291 -<Attribute id="METHOD"> 292 -<Text lang="en">AAA</Text> 293 -</Attribute> 294 -</Attribute> 295 -<Attribute id="CONTACT"> 296 -<Value>CONTACT 1</Value> 297 -<Attribute id="NAME"> 298 -<Value>Contact 1 Name 1</Value> 299 -</Attribute> 300 -<Attribute id="NAME"> 301 -<Value>Contact 1 Name 2</Value> 302 -</Attribute> 303 -</Attribute> 304 -<Attribute id="CONTACT"> 305 -<Value>CONTACT 2</Value> 306 -<Attribute id="NAME"> 307 -<Value>Contact 2 Name 1</Value> 308 -</Attribute> 309 -<Attribute id="NAME"> 310 -<Value>Contact 2 Name 2</Value> 311 -</Attribute> 312 -</Attribute> 313 -</Metadata> 314 -</Obs> 315 - 316 -=== New - Metadata Provision Agreement === 317 - 312 +(% class="wikigeneratedid" id="HNew-MetadataProvisionAgreement" %) 313 +**New - Metadata Provision Agreement** 318 318 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. 319 319 320 -= ==MovetargettoMetadataflowandMetadataProvisionAgreement===321 - 316 +(% class="wikigeneratedid" id="HMovetargettoMetadataflowandMetadataProvisionAgreement" %) 317 +**Move target to Metadataflow and Metadata Provision Agreement** 322 322 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. 323 323 324 -= ==Addmaintainablepropertiestoreferencemetadata===325 - 320 +(% class="wikigeneratedid" id="HAddmaintainablepropertiestoreferencemetadata" %) 321 +**Add maintainable properties to reference metadata** 326 326 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. 327 327 328 328 == 3.5 Microdata Exchange == ... ... @@ -329,70 +329,60 @@ 329 329 330 330 Several changes have been made the Data Structure Definition to support microdata use cases in addition to aggregated time series. 331 331 332 -=== Multiple measures === 328 +(% class="wikigeneratedid" id="HMultiplemeasures" %) 329 +**Multiple measures** 330 +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: 333 333 334 -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 332 +> <str:MeasureList id=”MeasureDescriptor”> 333 +> <str:Measure id=”OBS_VALUE” minOccurs=”1” maxOccurs=”1” usage=”mandatory” > <str:ConceptIdentity> 334 +> <Ref id=”OBS_VALUE” maintainableParentID=”CONCEPTS” agencyID=”SDMX” maintainableParentVersion=”1.0.0” /> 335 +> </str:ConceptIdentity> 336 +> <str:LocalRepresentation> 337 +> <str:TextFormat textType=”String” isMultiLingual=”true” /> 338 +> </str:LocalRepresentation> 339 +> <str:ConceptRole> 340 +> <Ref id=”MEASURE” maintainableParentID=”SDMX_CONCEPT_ROLES” agencyID=”SDMX” maintainableParentVersion=”1.0.0” /> 341 +> </str:ConceptRole> 342 +> </str:Measure> 343 +> ... 344 +> <str:Measure> 345 +> </str:MeasureList> 335 335 336 -Data Structure Definition, and can be either mandatory or conditional. Creating a measure with the “MEASURE” concept role applied emulates the version 2.1 347 +(% class="wikigeneratedid" id="HMulti-valuemeasuresandattributes" %) 348 +**Multi-value measures and attributes** 349 +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. 337 337 338 -MeasureDimension behaviour as illustrated in the SDMX-ML example below: 339 - 340 -<str:MeasureList id=”MeasureDescriptor”> 341 -<str:Measure id=”OBS_VALUE” minOccurs=”1” maxOccurs=”1” usage=”mandatory” > <str:ConceptIdentity> 342 -<Ref id=”OBS_VALUE” maintainableParentID=”CONCEPTS” agencyID=”SDMX” maintainableParentVersion=”1.0.0” /> 343 -</str:ConceptIdentity> 344 -<str:LocalRepresentation> 345 -<str:TextFormat textType=”String” isMultiLingual=”true” /> 346 -</str:LocalRepresentation> 347 -<str:ConceptRole> 348 -<Ref id=”MEASURE” maintainableParentID=”SDMX_CONCEPT_ROLES” agencyID=”SDMX” maintainableParentVersion=”1.0.0” /> 349 -</str:ConceptRole> 350 -</str:Measure> 351 -... 352 -<str:Measure> 353 -</str:MeasureList> 354 - 355 -=== Multi-value measures and attributes === 356 - 357 -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 358 - 359 -//mandatory// or optional. In the SDMX-ML measure example above, the properties 360 - 361 -//minOccurs=”1” maxOccurs=”1” usage=”mandatory”// specify that OBS_VALUE must be 198 reported, and can only consist of a single value. 362 - 363 -=== Attributes relationship to measures === 364 - 351 +(% class="wikigeneratedid" id="HAttributesrelationshiptomeasures" %) 352 +**Attributes relationship to measures** 365 365 In addition to attaching attributes to a specific level within the dataset, their relationship 202 to measures can also be defined. 366 366 367 -=== Value lists === 355 +(% class="wikigeneratedid" id="HValuelists" %) 356 +**Value lists** 357 +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. 368 368 369 -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. 370 - 371 -That allows ValueItems (the equivalent to Code) to contain symbols like ‘¥’ and ‘€’, but 208 also means they are not identifiable. 372 - 373 373 == 3.6 Geospatial Data Exchange == 374 374 375 375 The version 3.0 model has been extended to provide explicit support for geospatial data. 376 376 377 -= ==GeospatialInformationtype===378 - 363 +(% class="wikigeneratedid" id="HGeospatialInformationtype" %) 364 +**GeospatialInformation type** 379 379 A new GeospatialInformation string type has been added which can be used as the 214 representation for any dimension, attribute or measure component. The value which is a 215 string expression conforming to the syntax defined in Section 6 of the technical 216 specifications precisely defines a ‘Geo Feature Set’ – a collection of geographical 217 features like points, lines or polygons. Its use is recommended in conjunction with the “GEO_FEATURE_SET” concept role. 380 380 381 -= ==Geospatialcodelists===382 - 367 +(% class="wikigeneratedid" id="HGeospatialcodelists" %) 368 +**Geospatial code lists** 383 383 Two new specialised types of code list have been added where the definition of each code includes additional geospatial information in addition to the standard ID, name and description: 384 384 385 385 * 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. 386 386 * 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. 387 387 388 -== =3.7 Structure Mapping ===374 +== 3.7 Structure Mapping == 389 389 390 390 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. 391 391 392 392 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. 393 393 394 -= ===Many-to-manysourceandtargetcomponents====395 - 380 +(% class="wikigeneratedid" id="HMany-to-manysourceandtargetcomponents" %) 381 +**Many-to-many source and target components** 396 396 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: 397 397 398 398 Set the output component INDICATOR=”DE_A” if the input components are FREQ=”A” and REF_AREA=”DE”. ... ... @@ -402,22 +402,21 @@ 402 402 Set the output components FREQ=”A”, REF_AREA=”DE” if the input component INDICATOR=”DE_A”. 403 403 404 404 **Fixed source and target** 405 - 406 406 The Structure Map may now define input or output components which have a fixed value. 407 407 408 -= ===Timerepresentationsmapping====409 - 393 +(% class="wikigeneratedid" id="HTimerepresentationsmapping" %) 394 +**Time representations mapping** 410 410 Non SDMX time representations may now be described in a Structure Map, allowing them to be mapped into SDMX time formats. 411 411 412 -= ===Regularexpressionandsubstringmappings====413 - 397 +(% class="wikigeneratedid" id="HRegularexpressionandsubstringmappings" %) 398 +**Regular expression and substring mappings** 414 414 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. 415 415 416 -= ===Itemmapsvalidityperiod====417 - 401 +(% class="wikigeneratedid" id="HItemmapsvalidityperiod" %) 402 +**Item maps validity period** 418 418 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. 419 419 420 -== =3.8 Constraints ===405 +== 3.8 Constraints == 421 421 422 422 Constraints in version 3.0 are modelled using two separate artefacts which replace the version 2.1 content constraint: 423 423 ... ... @@ -432,17 +432,17 @@ 432 432 433 433 Attachment constraints have been deprecated due to a lack of use cases. 434 434 435 -== =3.9 Code List Extension ===420 +== 3.9 Code List Extension == 436 436 437 437 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. 438 438 439 439 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. 440 440 441 -== =3.10 Discriminated Union of Code Lists ===426 +== 3.10 Discriminated Union of Code Lists == 442 442 443 443 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. 444 444 445 -== =3.11 Code Hierarchies ===430 +== 3.11 Code Hierarchies == 446 446 447 447 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). 448 448 ... ... @@ -463,7 +463,6 @@ 463 463 Examples: 464 464 465 465 SDMX:CL_AREA(1.0.0) 466 - 467 467 SDMX:CL_AREA(2.3.2) 468 468 469 469 == Dependency management == ... ... @@ -470,10 +470,9 @@ 470 470 471 471 Additional constructs are possible for dependency management when referencing structures. For instance: 472 472 473 -2.3+.1 Means the currently latest available version >= “2.3.1” and < “3.0.0” (all backwards compatible versions >= “2.3.1”). 457 +2.3+.1 Means the currently latest available version >= “2.3.1” and < “3.0.0” (all backwards compatible versions >= “2.3.1”). 458 +2+.3.1 Means the currently latest available version >= “2.3.1” (even if not backwards compatible). 474 474 475 -2+.3.1 Means the currently latest available version >= “2.3.1” (even if not backwards compatible). 476 - 477 477 == Draft structures == 478 478 479 479 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. ... ... @@ -480,12 +480,10 @@ 480 480 481 481 MAJOR.MINOR.PATCH-EXTENSION 482 482 483 -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. 466 +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. 467 +1.10.0-unstable Alternative to -draft. 468 +1.10.0-notfinal Alternative to -draft. 484 484 485 -1.10.0-unstable Alternative to -draft. 486 - 487 -1.10.0-notfinal Alternative to -draft. 488 - 489 489 The SDMX 2.1 isFinal property is deprecated in 3.0. 490 490 491 491 = 5 REST Web Services API = ... ... @@ -508,8 +508,8 @@ 508 508 509 509 Data queries have been changed to provide more granular selections from contexts wider than just a Dataflow. 510 510 511 -= ==Extendthecontextofdataretrieval===512 - 492 +(% class="wikigeneratedid" id="HExtendthecontextofdataretrieval" %) 493 +**Extend the context of data retrieval** 513 513 Version 2.1 data queries always retrieved data from a single specific Dataflow. In version 3.0, the query context may be specified as: 514 514 515 515 * Dataflow; ... ... @@ -518,18 +518,20 @@ 518 518 519 519 Data queries may also search across datasets, for instance “retrieve all data about a country”. 520 520 521 -= ==Component-basedfilters===522 - 502 +(% class="wikigeneratedid" id="HComponent-basedfilters" %) 503 +**Component-based filters** 523 523 Expressions filtering on individual components can now be included as part of the data query URL. 524 524 525 525 /data/dataflow/ESTAT/ICP?c[REF_AREA]=CH&c[CONF_STATUS]=F 526 526 527 -= ==Supportforoperators===528 - 508 +(% class="wikigeneratedid" id="HSupportforoperators" %) 509 +**Support for operators** 529 529 Filter expressions can also include operators. 530 530 531 -/data/dataflow/ESTAT/ICP?c[REF_AREA]=DE&c[ICP_ITEM]=sw:01&c[TIME_PERIOD]=ge:2015 Operators include:512 +/data/dataflow/ESTAT/ICP?c[REF_AREA]=DE&c[ICP_ITEM]=sw:01&c[TIME_PERIOD]=ge:2015 532 532 514 +Operators include: 515 + 533 533 (% style="width:531.039px" %) 534 534 |(% style="width:151px" %)eq|(% style="width:378px" %)Equals 535 535 |(% style="width:151px" %)ne|(% style="width:378px" %)Not equal to ... ... @@ -537,10 +537,11 @@ 537 537 |(% style="width:151px" %)ge|(% style="width:378px" %)Greater than or equal to 538 538 |(% style="width:151px" %)sw|(% style="width:378px" %)Starts with 539 539 540 -= ==Supportformultiplekeys===541 - 523 +(% class="wikigeneratedid" id="HSupportformultiplekeys" %) 524 +**Support for multiple keys** 542 542 Queries can now specify multiple series keys. 543 543 527 +(% class="wikigeneratedid" %) 544 544 /data/dataflow/ESTAT/ICP/1.0.0/M…A.ANR,M…A.INX,M…B.CTG 545 545 546 546 == 5.3 Improved reference metadata queries == ... ... @@ -571,8 +571,8 @@ 571 571 572 572 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. 573 573 574 -= ==Structuremessage===575 - 558 +(% class="wikigeneratedid" id="HStructuremessage" %) 559 +**Structure message** 576 576 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. 577 577 578 578 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: ... ... @@ -623,8 +623,8 @@ 623 623 624 624 From version 3.0, collections can appear in any order within a structure message. 625 625 626 -= ==Datamessages===627 - 610 +(% class="wikigeneratedid" id="HDatamessages" %) 611 +**Data messages** 628 628 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. 629 629 630 630 Specifically, the following data messages are not supported in version 3.0: ... ... @@ -641,16 +641,16 @@ 641 641 642 642 The time series variant of the Structure Specific Data message is no longer used. 643 643 644 -= ==Referencemetadatamessage===645 - 628 +(% class="wikigeneratedid" id="HReferencemetadatamessage" %) 629 +**Reference metadata message** 646 646 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. 647 647 648 -= ==Registrystructuralmetadata‘query’messages===649 - 632 +(% class="wikigeneratedid" id="HRegistrystructuralmetadata2018query2019messages" %) 633 +**Registry structural metadata ‘query’ messages** 650 650 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. 651 651 652 -= ==Structurereferencing===653 - 636 +(% class="wikigeneratedid" id="HStructurereferencing" %) 637 +**Structure referencing** 654 654 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. 655 655 656 656 == 6.2 SDMX-JSON == ... ... @@ -657,20 +657,20 @@ 657 657 658 658 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. 659 659 660 -= ==Structuremessage===661 - 644 +(% class="wikigeneratedid" id="HStructuremessage-1" %) 645 +**Structure message** 662 662 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. 663 663 664 -= ==Datamessage===665 - 648 +(% class="wikigeneratedid" id="HDatamessage" %) 649 +**Data message** 666 666 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. 667 667 668 -= ==Referencemetadatamessage===669 - 652 +(% class="wikigeneratedid" id="HReferencemetadatamessage-1" %) 653 +**Reference metadata message** 670 670 The SDMX-JSON metadata message has also been updated to support the version 3.0 reference metadata and Metadataset specifications. 671 671 672 -= ==Structurereferencing===673 - 656 +(% class="wikigeneratedid" id="HStructurereferencing-1" %) 657 +**Structure referencing** 674 674 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. 675 675 676 676 == 6.3 SDMX-CSV == ... ... @@ -677,8 +677,8 @@ 677 677 678 678 CSV in SDMX is used transmission of data and reference metadata only. 679 679 680 -= ==Datamessage===681 - 664 +(% class="wikigeneratedid" id="HDatamessage-1" %) 665 +**Data message** 682 682 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: 683 683 684 684 * 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 ... ... @@ -687,11 +687,11 @@ 687 687 688 688 * 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. 689 689 690 -= ==Referencemetadatamessage===691 - 674 +(% class="wikigeneratedid" id="HReferencemetadatamessage-2" %) 675 +**Reference metadata message** 692 692 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. 693 693 694 -== =6.4 EDI deprecation ===678 +== 6.4 EDI deprecation == 695 695 696 696 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. 697 697