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

From version 15.1
edited by Helena
on 2025/05/14 15:16
Change comment: There is no comment for this version
To version 16.7
edited by Helena
on 2025/05/16 13:23
Change comment: There is no comment for this version

Summary

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 -=== Simplify Metadata Structure Definition ===
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 -=== Change to reference metadata reported against data ===
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 - Metadata Provision Agreement ===
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 -=== Move target to Metadataflow and Metadata Provision Agreement ===
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 -=== Add maintainable properties to reference metadata ===
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,34 +351,28 @@
351 351  > <str:Measure>
352 352  > </str:MeasureList>
353 353  
354 -=== Multi-value measures and attributes ===
350 +(% class="wikigeneratedid" id="HMulti-valuemeasuresandattributes" %)
351 +**Multi-value measures and attributes**
352 +Both measures and attributes have been extended with the option to take ‘arrays’ of 193 multiple coded or uncoded values. This supports use cases like multiple observation 194 status flags. New //minOccurs// and //maxOccurs// properties define the valid number of 195 values. The //usage// property separately defines whether the measure or attribute is //mandatory// or optional. In the SDMX-ML measure example above, the properties //minOccurs=”1” maxOccurs=”1” usage=”mandatory”// specify that OBS_VALUE must be 198 reported, and can only consist of a single value.
355 355  
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
357 -
358 -//mandatory// or optional. In the SDMX-ML measure example above, the properties
359 -
360 -//minOccurs=”1” maxOccurs=”1” usage=”mandatory”// specify that OBS_VALUE must be 198 reported, and can only consist of a single value.
361 -
362 -=== Attributes relationship to measures ===
363 -
354 +(% class="wikigeneratedid" id="HAttributesrelationshiptomeasures" %)
355 +**Attributes relationship to measures**
364 364  In addition to attaching attributes to a specific level within the dataset, their relationship 202 to measures can also be defined.
365 365  
366 -=== 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.
367 367  
368 -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.
369 -
370 -That allows ValueItems (the equivalent to Code) to contain symbols like ‘¥’ and ‘€’, but 208 also means they are not identifiable.
371 -
372 372  == 3.6 Geospatial Data Exchange ==
373 373  
374 374  The version 3.0 model has been extended to provide explicit support for geospatial data.
375 375  
376 -=== GeospatialInformation type ===
377 -
366 +(% class="wikigeneratedid" id="HGeospatialInformationtype" %)
367 +**GeospatialInformation type**
378 378  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.
379 379  
380 -=== Geospatial code lists ===
381 -
370 +(% class="wikigeneratedid" id="HGeospatialcodelists" %)
371 +**Geospatial code lists**
382 382  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:
383 383  
384 384  * 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.
... ... @@ -390,8 +390,8 @@
390 390  
391 391  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.
392 392  
393 -=== Many-to-many source and target components ===
394 -
383 +(% class="wikigeneratedid" id="HMany-to-manysourceandtargetcomponents" %)
384 +**Many-to-many source and target components**
395 395  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:
396 396  
397 397  Set the output component INDICATOR=”DE_A” if the input components are FREQ=”A” and REF_AREA=”DE”.
... ... @@ -401,19 +401,18 @@
401 401  Set the output components FREQ=”A”, REF_AREA=”DE” if the input component INDICATOR=”DE_A”.
402 402  
403 403  **Fixed source and target**
404 -
405 405  The Structure Map may now define input or output components which have a fixed value.
406 406  
407 -=== Time representations mapping ===
408 -
396 +(% class="wikigeneratedid" id="HTimerepresentationsmapping" %)
397 +**Time representations mapping**
409 409  Non SDMX time representations may now be described in a Structure Map, allowing them to be mapped into SDMX time formats.
410 410  
411 -=== Regular expression and substring mappings ===
412 -
400 +(% class="wikigeneratedid" id="HRegularexpressionandsubstringmappings" %)
401 +**Regular expression and substring mappings**
413 413  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.
414 414  
415 -=== Item maps validity period ===
416 -
404 +(% class="wikigeneratedid" id="HItemmapsvalidityperiod" %)
405 +**Item maps validity period**
417 417  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.
418 418  
419 419  == 3.8 Constraints ==
... ... @@ -462,7 +462,6 @@
462 462  Examples:
463 463  
464 464  SDMX:CL_AREA(1.0.0)
465 -
466 466  SDMX:CL_AREA(2.3.2)
467 467  
468 468  == Dependency management ==
... ... @@ -469,10 +469,9 @@
469 469  
470 470  Additional constructs are possible for dependency management when referencing structures. For instance:
471 471  
472 -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).
473 473  
474 -2+.3.1 Means the currently latest available version >= “2.3.1” (even if not backwards compatible).
475 -
476 476  == Draft structures ==
477 477  
478 478  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.
... ... @@ -479,12 +479,10 @@
479 479  
480 480  MAJOR.MINOR.PATCH-EXTENSION
481 481  
482 -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.
483 483  
484 -1.10.0-unstable Alternative to -draft.
485 -
486 -1.10.0-notfinal Alternative to -draft.
487 -
488 488  The SDMX 2.1 isFinal property is deprecated in 3.0.
489 489  
490 490  = 5 REST Web Services API =
... ... @@ -507,8 +507,8 @@
507 507  
508 508  Data queries have been changed to provide more granular selections from contexts wider than just a Dataflow.
509 509  
510 -=== Extend the context of data retrieval ===
511 -
495 +(% class="wikigeneratedid" id="HExtendthecontextofdataretrieval" %)
496 +**Extend the context of data retrieval**
512 512  Version 2.1 data queries always retrieved data from a single specific Dataflow. In version 3.0, the query context may be specified as:
513 513  
514 514  * Dataflow;
... ... @@ -517,18 +517,20 @@
517 517  
518 518  Data queries may also search across datasets, for instance “retrieve all data about a country”.
519 519  
520 -=== Component-based filters ===
521 -
505 +(% class="wikigeneratedid" id="HComponent-basedfilters" %)
506 +**Component-based filters**
522 522  Expressions filtering on individual components can now be included as part of the data query URL.
523 523  
524 524  /data/dataflow/ESTAT/ICP?c[REF_AREA]=CH&c[CONF_STATUS]=F
525 525  
526 -=== Support for operators ===
527 -
511 +(% class="wikigeneratedid" id="HSupportforoperators" %)
512 +**Support for operators**
528 528  Filter expressions can also include operators.
529 529  
530 -/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
531 531  
517 +Operators include:
518 +
532 532  (% style="width:531.039px" %)
533 533  |(% style="width:151px" %)eq|(% style="width:378px" %)Equals
534 534  |(% style="width:151px" %)ne|(% style="width:378px" %)Not equal to
... ... @@ -536,10 +536,11 @@
536 536  |(% style="width:151px" %)ge|(% style="width:378px" %)Greater than or equal to
537 537  |(% style="width:151px" %)sw|(% style="width:378px" %)Starts with
538 538  
539 -=== Support for multiple keys ===
540 -
526 +(% class="wikigeneratedid" id="HSupportformultiplekeys" %)
527 +**Support for multiple keys**
541 541  Queries can now specify multiple series keys.
542 542  
530 +(% class="wikigeneratedid" %)
543 543  /data/dataflow/ESTAT/ICP/1.0.0/M…A.ANR,M…A.INX,M…B.CTG
544 544  
545 545  == 5.3 Improved reference metadata queries ==