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 (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -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 - 250 +(% class="wikigeneratedid" id="HSimplifyMetadataStructureDefinition" %) 251 +**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 - 262 +(% class="wikigeneratedid" id="HChangetoreferencemetadatareportedagainstdata" %) 263 +**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. ... ... @@ -312,16 +312,16 @@ 312 312 > </Metadata> 313 313 > </Obs> 314 314 315 -= ==New-MetadataProvisionAgreement===316 - 315 +(% class="wikigeneratedid" id="HNew-MetadataProvisionAgreement" %) 316 +**New - Metadata Provision Agreement** 317 317 In version 2.1 a Provision Agreement could be used to report information against a Dataflow or Metadataflow. From version 3.0 this is managed by two separate structures, the Data Provision Agreement and the Metadata Provision Agreement. 318 318 319 -= ==MovetargettoMetadataflowandMetadataProvisionAgreement===320 - 319 +(% class="wikigeneratedid" id="HMovetargettoMetadataflowandMetadataProvisionAgreement" %) 320 +**Move target to Metadataflow and Metadata Provision Agreement** 321 321 For reference metadata that is reported against structures, the allowable targets information which is used to specify what structures the reference metadata can be reported against, has moved to the Metadataflow and can be further refined in the Metadata Provision Agreement. 322 322 323 -= ==Addmaintainablepropertiestoreferencemetadata===324 - 323 +(% class="wikigeneratedid" id="HAddmaintainablepropertiestoreferencemetadata" %) 324 +**Add maintainable properties to reference metadata** 325 325 A Metadataset now has mandatory identification information, (owner id, id, version) enabling metadata providers to uniquely identify their reports for create, update or delete maintenance operations. 326 326 327 327 == 3.5 Microdata Exchange == ... ... @@ -328,14 +328,10 @@ 328 328 329 329 Several changes have been made the Data Structure Definition to support microdata use cases in addition to aggregated time series. 330 330 331 -=== Multiple measures === 331 +(% class="wikigeneratedid" id="HMultiplemeasures" %) 332 +**Multiple measures** 333 +Multiple measures are a common characteristic of microdatasets. To support this use case, the MeasureDimension has been deprecated and replaced with the option to define zero or more measures. Measures now act like any other component in that they use concepts, can have their own local coded or uncoded representation defined within the Data Structure Definition, and can be either mandatory or conditional. Creating a measure with the “MEASURE” concept role applied emulates the version 2.1 MeasureDimension behaviour as illustrated in the SDMX-ML example below: 332 332 333 -Multiple measures are a common characteristic of microdatasets. To support this use case, the MeasureDimension has been deprecated and replaced with the option to define zero or more measures. Measures now act like any other component in that they use concepts, can have their own local coded or uncoded representation defined within the 334 - 335 -Data Structure Definition, and can be either mandatory or conditional. Creating a measure with the “MEASURE” concept role applied emulates the version 2.1 336 - 337 -MeasureDimension behaviour as illustrated in the SDMX-ML example below: 338 - 339 339 > <str:MeasureList id=”MeasureDescriptor”> 340 340 > <str:Measure id=”OBS_VALUE” minOccurs=”1” maxOccurs=”1” usage=”mandatory” > <str:ConceptIdentity> 341 341 > <Ref id=”OBS_VALUE” maintainableParentID=”CONCEPTS” agencyID=”SDMX” maintainableParentVersion=”1.0.0” /> ... ... @@ -351,30 +351,28 @@ 351 351 > <str:Measure> 352 352 > </str:MeasureList> 353 353 354 -= ==Multi-valuemeasuresandattributes===355 - 350 +(% class="wikigeneratedid" id="HMulti-valuemeasuresandattributes" %) 351 +**Multi-value measures and attributes** 356 356 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. 357 357 358 -= ==Attributesrelationshiptomeasures===359 - 354 +(% class="wikigeneratedid" id="HAttributesrelationshiptomeasures" %) 355 +**Attributes relationship to measures** 360 360 In addition to attaching attributes to a specific level within the dataset, their relationship 202 to measures can also be defined. 361 361 362 -=== Value lists === 358 +(% class="wikigeneratedid" id="HValuelists" %) 359 +**Value lists** 360 +Value lists help in modelling microdata by providing an enumeration similar to code lists 206 but allowing any string values without being restricted to the rules of SDMX identifiers. That allows ValueItems (the equivalent to Code) to contain symbols like ‘¥’ and ‘€’, but also means they are not identifiable. 363 363 364 -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. 365 - 366 -That allows ValueItems (the equivalent to Code) to contain symbols like ‘¥’ and ‘€’, but 208 also means they are not identifiable. 367 - 368 368 == 3.6 Geospatial Data Exchange == 369 369 370 370 The version 3.0 model has been extended to provide explicit support for geospatial data. 371 371 372 -= ==GeospatialInformationtype===373 - 366 +(% class="wikigeneratedid" id="HGeospatialInformationtype" %) 367 +**GeospatialInformation type** 374 374 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. 375 375 376 -= ==Geospatialcodelists===377 - 370 +(% class="wikigeneratedid" id="HGeospatialcodelists" %) 371 +**Geospatial code lists** 378 378 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: 379 379 380 380 * 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,8 +386,8 @@ 386 386 387 387 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. 388 388 389 -= ==Many-to-manysourceandtargetcomponents===390 - 383 +(% class="wikigeneratedid" id="HMany-to-manysourceandtargetcomponents" %) 384 +**Many-to-many source and target components** 391 391 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: 392 392 393 393 Set the output component INDICATOR=”DE_A” if the input components are FREQ=”A” and REF_AREA=”DE”. ... ... @@ -397,19 +397,18 @@ 397 397 Set the output components FREQ=”A”, REF_AREA=”DE” if the input component INDICATOR=”DE_A”. 398 398 399 399 **Fixed source and target** 400 - 401 401 The Structure Map may now define input or output components which have a fixed value. 402 402 403 -= ==Timerepresentationsmapping===404 - 396 +(% class="wikigeneratedid" id="HTimerepresentationsmapping" %) 397 +**Time representations mapping** 405 405 Non SDMX time representations may now be described in a Structure Map, allowing them to be mapped into SDMX time formats. 406 406 407 -= ==Regularexpressionandsubstringmappings===408 - 400 +(% class="wikigeneratedid" id="HRegularexpressionandsubstringmappings" %) 401 +**Regular expression and substring mappings** 409 409 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. 410 410 411 -= ==Itemmapsvalidityperiod===412 - 404 +(% class="wikigeneratedid" id="HItemmapsvalidityperiod" %) 405 +**Item maps validity period** 413 413 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. 414 414 415 415 == 3.8 Constraints == ... ... @@ -458,7 +458,6 @@ 458 458 Examples: 459 459 460 460 SDMX:CL_AREA(1.0.0) 461 - 462 462 SDMX:CL_AREA(2.3.2) 463 463 464 464 == Dependency management == ... ... @@ -465,10 +465,9 @@ 465 465 466 466 Additional constructs are possible for dependency management when referencing structures. For instance: 467 467 468 -2.3+.1 Means the currently latest available version >= “2.3.1” and < “3.0.0” (all backwards compatible versions >= “2.3.1”). 460 +2.3+.1 Means the currently latest available version >= “2.3.1” and < “3.0.0” (all backwards compatible versions >= “2.3.1”). 461 +2+.3.1 Means the currently latest available version >= “2.3.1” (even if not backwards compatible). 469 469 470 -2+.3.1 Means the currently latest available version >= “2.3.1” (even if not backwards compatible). 471 - 472 472 == Draft structures == 473 473 474 474 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. ... ... @@ -475,12 +475,10 @@ 475 475 476 476 MAJOR.MINOR.PATCH-EXTENSION 477 477 478 -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. 469 +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. 470 +1.10.0-unstable Alternative to -draft. 471 +1.10.0-notfinal Alternative to -draft. 479 479 480 -1.10.0-unstable Alternative to -draft. 481 - 482 -1.10.0-notfinal Alternative to -draft. 483 - 484 484 The SDMX 2.1 isFinal property is deprecated in 3.0. 485 485 486 486 = 5 REST Web Services API = ... ... @@ -503,8 +503,8 @@ 503 503 504 504 Data queries have been changed to provide more granular selections from contexts wider than just a Dataflow. 505 505 506 -= ==Extendthecontextofdataretrieval===507 - 495 +(% class="wikigeneratedid" id="HExtendthecontextofdataretrieval" %) 496 +**Extend the context of data retrieval** 508 508 Version 2.1 data queries always retrieved data from a single specific Dataflow. In version 3.0, the query context may be specified as: 509 509 510 510 * Dataflow; ... ... @@ -513,18 +513,20 @@ 513 513 514 514 Data queries may also search across datasets, for instance “retrieve all data about a country”. 515 515 516 -= ==Component-basedfilters===517 - 505 +(% class="wikigeneratedid" id="HComponent-basedfilters" %) 506 +**Component-based filters** 518 518 Expressions filtering on individual components can now be included as part of the data query URL. 519 519 520 520 /data/dataflow/ESTAT/ICP?c[REF_AREA]=CH&c[CONF_STATUS]=F 521 521 522 -= ==Supportforoperators===523 - 511 +(% class="wikigeneratedid" id="HSupportforoperators" %) 512 +**Support for operators** 524 524 Filter expressions can also include operators. 525 525 526 -/data/dataflow/ESTAT/ICP?c[REF_AREA]=DE&c[ICP_ITEM]=sw:01&c[TIME_PERIOD]=ge:2015 Operators include:515 +/data/dataflow/ESTAT/ICP?c[REF_AREA]=DE&c[ICP_ITEM]=sw:01&c[TIME_PERIOD]=ge:2015 527 527 517 +Operators include: 518 + 528 528 (% style="width:531.039px" %) 529 529 |(% style="width:151px" %)eq|(% style="width:378px" %)Equals 530 530 |(% style="width:151px" %)ne|(% style="width:378px" %)Not equal to ... ... @@ -532,10 +532,11 @@ 532 532 |(% style="width:151px" %)ge|(% style="width:378px" %)Greater than or equal to 533 533 |(% style="width:151px" %)sw|(% style="width:378px" %)Starts with 534 534 535 -= ==Supportformultiplekeys===536 - 526 +(% class="wikigeneratedid" id="HSupportformultiplekeys" %) 527 +**Support for multiple keys** 537 537 Queries can now specify multiple series keys. 538 538 530 +(% class="wikigeneratedid" %) 539 539 /data/dataflow/ESTAT/ICP/1.0.0/M…A.ANR,M…A.INX,M…B.CTG 540 540 541 541 == 5.3 Improved reference metadata queries == ... ... @@ -566,8 +566,8 @@ 566 566 567 567 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. 568 568 569 -= ==Structuremessage===570 - 561 +(% class="wikigeneratedid" id="HStructuremessage" %) 562 +**Structure message** 571 571 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. 572 572 573 573 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: ... ... @@ -618,8 +618,8 @@ 618 618 619 619 From version 3.0, collections can appear in any order within a structure message. 620 620 621 -= ==Datamessages===622 - 613 +(% class="wikigeneratedid" id="HDatamessages" %) 614 +**Data messages** 623 623 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. 624 624 625 625 Specifically, the following data messages are not supported in version 3.0: ... ... @@ -636,16 +636,16 @@ 636 636 637 637 The time series variant of the Structure Specific Data message is no longer used. 638 638 639 -= ==Referencemetadatamessage===640 - 631 +(% class="wikigeneratedid" id="HReferencemetadatamessage" %) 632 +**Reference metadata message** 641 641 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. 642 642 643 -= ==Registrystructuralmetadata‘query’messages===644 - 635 +(% class="wikigeneratedid" id="HRegistrystructuralmetadata2018query2019messages" %) 636 +**Registry structural metadata ‘query’ messages** 645 645 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. 646 646 647 -= ==Structurereferencing===648 - 639 +(% class="wikigeneratedid" id="HStructurereferencing" %) 640 +**Structure referencing** 649 649 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. 650 650 651 651 == 6.2 SDMX-JSON ==