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

From version 8.4
edited by Helena
on 2025/05/16 13:50
Change comment: There is no comment for this version
To version 7.4
edited by Helena
on 2025/05/15 10:39
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -13,9 +13,13 @@
13 13  The actual SDMX Base construct from which the concrete classes inherit depends upon the requirements of the class for:
14 14  
15 15  Annotation – //AnnotableArtefact//
16 +
16 16  Identification – //IdentifiableArtefact//
18 +
17 17  Naming – //NameableArtefact//
20 +
18 18  Versioning – //VersionableArtefact//
22 +
19 19  Maintenance – //MaintainableArtefact//
20 20  
21 21  == 5.2 Inheritance View ==
... ... @@ -32,22 +32,28 @@
32 32  
33 33  Those classes in the SDMX metamodel which require annotations inherit from //AnnotableArtefact//. These are:
34 34  
35 -//IdentifiableArtefact
36 -DataSet
37 -Key// (and therefore //SeriesKey// and //GroupKey//)
39 +//IdentifiableArtefact//
40 +
41 +//DataSet//
42 +
43 +//Key// (and therefore //SeriesKey// and //GroupKey//)
44 +
38 38  //Observation//
39 39  
40 40  Those classes in the SDMX metamodel which require annotations and global identity are derived from //IdentifiableArtefact//. These are:
41 41  
42 -//NameableArtefact
43 -ComponentList
44 -Component//
49 +//NameableArtefact//
45 45  
51 +//ComponentList//
52 +
53 +//Component//
54 +
46 46  Those classes in the SDMX metamodel which require annotations, global identity, multilingual name and multilingual description are derived from //NameableArtefact//. These are:
47 47  
48 -//VersionableArtefact
49 -Item//
57 +//VersionableArtefact//
50 50  
59 +//Item//
60 +
51 51  The classes in the SDMX metamodel which require annotations, global identity, multilingual name and multilingual description, and versioning are derived from //VersionableArtefact//. These are:
52 52  
53 53  //MaintainableArtefact//
... ... @@ -54,15 +54,18 @@
54 54  
55 55  Abstract classes which represent information that is maintained by Maintenance Agencies all inherit from //MaintainableArtefact//, they also inherit all the features of a //VersionableArtefact//, and are:
56 56  
57 -//StructureUsage
58 -Structure
59 -ItemScheme//
67 +//StructureUsage//
60 60  
69 +//Structure//
70 +
71 +//ItemScheme//
72 +
61 61  All the above classes are abstract. The key to understanding the class diagrams presented in this section are the concrete classes that inherit from these abstract classes.
62 62  
63 63  Those concrete classes in the SDMX Data Structure Definition and Dataset packages of the metamodel which require to be maintained by Agencies all inherit (via other abstract classes) from //MaintainableArtefact//, these are:
64 64  
65 65  Dataflow
78 +
66 66  DataStructureDefinition
67 67  
68 68  The component structures that are lists of lists, inherit directly from //Structure//. A //Structure// contains several lists of components. The concrete class that inherits from //Structure// is:
... ... @@ -74,8 +74,11 @@
74 74  The concrete classes which inherit from //ComponentList// and are subcomponents of the DataStructureDefinition are:
75 75  
76 76  DimensionDescriptor – content is Dimension and TimeDimension
90 +
77 77  DimensionGroupDescriptor – content is an association to Dimension, TimeDimension
92 +
78 78  MeasureDescriptor – content is Measure
94 +
79 79  AttributeDescriptor – content is DataAttribute and an association to MetadataAttribute
80 80  
81 81  The classes that inherit from //Component// are:
... ... @@ -83,6 +83,7 @@
83 83  Measure
84 84  
85 85  //DimensionComponent// and thereby its sub classes of Dimension and TimeDimension
102 +
86 86  //Attribute// and thereby its sub classes of DataAttribute and MetadataAttribute
87 87  
88 88  The concrete classes identified above are the majority of the classes required to define the metamodel for the DataStructureDefinition. The diagrams and explanations in the rest of this section show how these concrete classes are related in order to support the functionality required.
... ... @@ -153,8 +153,10 @@
153 153  
154 154  **Figure 30: Representation of DSD Components**
155 155  
156 -Each of Dimension, TimeDimension, Measure, DataAttribute and MetadataAttribute can have a Representation specified (using the localRepresentation association). If this is not specified in the DataStructureDefinition then the representation specified for Concept (coreRepresentation) is used. Measure, and DataAttribute may be also represented by multilingual text (as seen in the DataSet diagram further down). An exception is the MetadataAttribute, where its Representation is specified in the MetadataStructureDefinition.
173 +Each of Dimension, TimeDimension, Measure, DataAttribute and MetadataAttribute can have a Representation specified (using the localRepresentation association). If this is not specified in the DataStructureDefinition then the representation specified for Concept
157 157  
175 +(coreRepresentation) is used. Measure, and DataAttribute may be also represented by multilingual text (as seen in the DataSet diagram further down). An exception is the MetadataAttribute, where its Representation is specified in the MetadataStructureDefinition.
176 +
158 158  A DataStructureDefinition can be extended to form a derived DataStructureDefinition. This is supported in the StructureMap.
159 159  
160 160  ==== 5.3.2.2 Definitions ====
... ... @@ -308,9 +308,8 @@
308 308  
309 309  ==== 5.4.3.2 Definitions ====
310 310  
311 -(% style="width:812.039px" %)
312 -|(% style="width:147px" %)**Class**|(% style="width:222px" %)**Feature**|(% style="width:437px" %)**Description**
313 -|(% style="width:147px" %)//DataSet//|(% style="width:222px" %)(((
330 +|**Class**|**Feature**|**Description**
331 +|//DataSet//|(((
314 314  Abstract Class
315 315  
316 316  Sub classes
... ... @@ -318,30 +318,30 @@
318 318  StructureSpecificData
319 319  
320 320  Set
321 -)))|(% style="width:437px" %)An organised collection of data.
322 -|(% style="width:147px" %) |(% style="width:222px" %)reportingBegin|(% style="width:437px" %)A specific time period in a known system of time periods that identifies the start period of a report.
323 -|(% style="width:147px" %) |(% style="width:222px" %)reportingEnd|(% style="width:437px" %)A specific time period in a known system of time periods that identifies the end period of a report.
324 -|(% style="width:147px" %) |(% style="width:222px" %)dataExtractionDate|(% style="width:437px" %)A specific time period that identifies the date and time that the data are extracted from a data source.
325 -|(% style="width:147px" %) |(% style="width:222px" %)validFrom|(% style="width:437px" %)Indicates the inclusive start time indicating the validity of the information in the data set.
326 -|(% style="width:147px" %) |(% style="width:222px" %)validTo|(% style="width:437px" %)Indicates the inclusive end time indicating the validity of the information in the data set.
327 -|(% style="width:147px" %) |(% style="width:222px" %)publicationYear|(% style="width:437px" %)Specifies the year of publication of the data or metadata in terms of whatever provisioning agreements might be in force.
328 -|(% style="width:147px" %) |(% style="width:222px" %)publicationPeriod|(% style="width:437px" %)Specifies the period of publication of the data or metadata in terms of whatever provisioning agreements might be in force.
329 -|(% style="width:147px" %) |(% style="width:222px" %)setId|(% style="width:437px" %)Provides an identification of the data set.
330 -|(% style="width:147px" %) |(% style="width:222px" %)action|(% style="width:437px" %)Defines the action to be taken by the recipient system (information, append, replace, delete)
331 -|(% style="width:147px" %) |(% style="width:222px" %)describedBy|(% style="width:437px" %)Associates a Dataflow and thereby a Data Structure Definition to the data set.
332 -|(% style="width:147px" %) |(% style="width:222px" %)+structuredBy|(% style="width:437px" %)Associates the Data Structure Definition that defines the structure of the Data Set. Note that the Data Structure Definition is the same as that associated (non-mandatory) to the Dataflow.
333 -|(% style="width:147px" %) |(% style="width:222px" %)+publishedBy|(% style="width:437px" %)Associates the Data Provider that reports/publishes the data.
334 -|(% style="width:147px" %)StructureSpecific DataSet|(% style="width:222px" %) |(% style="width:437px" %)An XML specific data format structure that contains data corresponding to one specific Data Structure Definition.
335 -|(% style="width:147px" %)//Key//|(% style="width:222px" %)(((
339 +)))|An organised collection of data.
340 +| |reportingBegin|A specific time period in a known system of time periods that identifies the start period of a report.
341 +| |reportingEnd|A specific time period in a known system of time periods that identifies the end period of a report.
342 +| |dataExtractionDate|A specific time period that identifies the date and time that the data are extracted from a data source.
343 +| |validFrom|Indicates the inclusive start time indicating the validity of the information in the data set.
344 +| |validTo|Indicates the inclusive end time indicating the validity of the information in the data set.
345 +| |publicationYear|Specifies the year of publication of the data or metadata in terms of whatever provisioning agreements might be in force.
346 +| |publicationPeriod|Specifies the period of publication of the data or metadata in terms of whatever provisioning agreements might be in force.
347 +| |setId|Provides an identification of the data set.
348 +| |action|Defines the action to be taken by the recipient system (information, append, replace, delete)
349 +| |describedBy|Associates a Dataflow and thereby a Data Structure Definition to the data set.
350 +| |+structuredBy|Associates the Data Structure Definition that defines the structure of the Data Set. Note that the Data Structure Definition is the same as that associated (non-mandatory) to the Dataflow.
351 +| |+publishedBy|Associates the Data Provider that reports/publishes the data.
352 +|StructureSpecific DataSet| |An XML specific data format structure that contains data corresponding to one specific Data Structure Definition.
353 +|//Key//|(((
336 336  Abstract class Sub classes
337 337  
338 338  SeriesKey
339 339  
340 340  GroupKey
341 -)))|(% style="width:437px" %)Comprises the cross product of values of dimensions that identify uniquely an Observation.
342 -|(% style="width:147px" %) |(% style="width:222px" %)keyValues|(% style="width:437px" %)Association to the individual Key Values that comprise the Key.
343 -|(% style="width:147px" %) |(% style="width:222px" %)+attachedAttribute|(% style="width:437px" %)Association to the Attribute Values relating to the Series Key or Group Key.
344 -|(% style="width:147px" %)//KeyValue//|(% style="width:222px" %)(((
359 +)))|Comprises the cross product of values of dimensions that identify uniquely an Observation.
360 +| |keyValues|Association to the individual Key Values that comprise the Key.
361 +| |+attachedAttribute|Association to the Attribute Values relating to the Series Key or Group Key.
362 +|//KeyValue//|(((
345 345  Abstract class Sub classes
346 346  
347 347  TimeKeyValue
... ... @@ -349,50 +349,51 @@
349 349  CodedKeyValue
350 350  
351 351  UncodedKeyValue
352 -)))|(% style="width:437px" %)The value of a component of a key such as the value of the instance a Dimension in a Dimension Descriptor of a Data Structure Definition.
353 -|(% style="width:147px" %) |(% style="width:222px" %)+valueFor|(% style="width:437px" %)(((
370 +)))|The value of a component of a key such as the value of the instance a Dimension in a Dimension Descriptor of a Data Structure Definition.
371 +| |+valueFor|(((
354 354  Association to the key component in the Data Structure Definition for which this Key Value is a valid representation.
373 +
355 355  Note that this is conceptual association as the key component is identified explicitly in the data set.
356 356  )))
357 -|(% style="width:147px" %)TimeKeyValue|(% style="width:222px" %)(((
376 +|TimeKeyValue|(((
358 358  Inherits from
359 359  
360 360  //KeyValue//
361 -)))|(% style="width:437px" %)The value of the Time Dimension component of the key.
362 -|(% style="width:147px" %)CodedKeyValue|(% style="width:222px" %)(((
380 +)))|The value of the Time Dimension component of the key.
381 +|CodedKeyValue|(((
363 363  Inherits from
364 364  
365 365  //KeyValue//
366 -)))|(% style="width:437px" %)The value of a coded component of the key. The value is the Code to which this class is associated.
367 -|(% style="width:147px" %) |(% style="width:222px" %)+valueOf|(% style="width:437px" %)Association to the Code. Note that this is a conceptual association showing that the Code must exist in the Code list associated with the Dimension in the Data Structure Definition. In the actual Data Set the value of the Code is placed in the Key Value.
368 -|(% style="width:147px" %)UnCodedKeyValue|(% style="width:222px" %)(((
385 +)))|The value of a coded component of the key. The value is the Code to which this class is associated.
386 +| |+valueOf|Association to the Code. Note that this is a conceptual association showing that the Code must exist in the Code list associated with the Dimension in the Data Structure Definition. In the actual Data Set the value of the Code is placed in the Key Value.
387 +|UnCodedKeyValue|(((
369 369  Inherits from
370 370  
371 371  //KeyValue//
372 -)))|(% style="width:437px" %)The value of an uncoded component of the key.
373 -|(% style="width:147px" %) |(% style="width:222px" %)value|(% style="width:437px" %)The value of the key component.
374 -|(% style="width:147px" %) |(% style="width:222px" %)startTime|(% style="width:437px" %)This attribute is only used if the textFormat of the attribute is of the Timespan type in the Data Structure Definition (in which case the value field takes a duration).
375 -|(% style="width:147px" %)GroupKey|(% style="width:222px" %)(((
391 +)))|The value of an uncoded component of the key.
392 +| |value|The value of the key component.
393 +| |startTime|This attribute is only used if the textFormat of the attribute is of the Timespan type in the Data Structure Definition (in which case the value field takes a duration).
394 +|GroupKey|(((
376 376  Inherits from
377 377  
378 378  //Key//
379 -)))|(% style="width:437px" %)A set of Key Values that comprise a partial key, of the same dimensionality as the Time Series Key for the purpose of attaching Data Attributes.
380 -|(% style="width:147px" %) |(% style="width:222px" %)+describedBy|(% style="width:437px" %)Associates the Group Dimension Descriptor defined in the Data Structure Definition.
381 -|(% style="width:147px" %)SeriesKey|(% style="width:222px" %)(((
398 +)))|A set of Key Values that comprise a partial key, of the same dimensionality as the Time Series Key for the purpose of attaching Data Attributes.
399 +| |+describedBy|Associates the Group Dimension Descriptor defined in the Data Structure Definition.
400 +|SeriesKey|(((
382 382  Inherits from
383 383  
384 384  //Key//
385 -)))|(% style="width:437px" %)Comprises the cross product of values of all the Key Values that, together with the Key Value of the +observation Dimension identify uniquely an Observation.
386 -|(% style="width:147px" %) |(% style="width:222px" %)+describedBy|(% style="width:437px" %)Associates the Dimension Descriptor defined in the Data Structure Definition.
387 -|(% style="width:147px" %)Observation|(% style="width:222px" %) |(% style="width:437px" %)The value(s) of the observed phenomenon in the context of the Key Values comprising the key.
388 -|(% style="width:147px" %) |(% style="width:222px" %)+valueFor|(% style="width:437px" %)(((
404 +)))|Comprises the cross product of values of all the Key Values that, together with the Key Value of the +observation Dimension identify uniquely an Observation.
405 +| |+describedBy|Associates the Dimension Descriptor defined in the Data Structure Definition.
406 +|Observation| |The value(s) of the observed phenomenon in the context of the Key Values comprising the key.
407 +| |+valueFor|(((
389 389  Associates the Measure(s) defined in the Data Structure Definition.
390 390  
391 391  The source multiplicity (1..*) indicates that more than one values may be provided for a Measure, if the latter allows it.
392 392  )))
393 -|(% style="width:147px" %) |(% style="width:222px" %)+attachedAttribute|(% style="width:437px" %)Association to the Attribute Values relating to the Observation.
394 -|(% style="width:147px" %) |(% style="width:222px" %)+observationDimension|(% style="width:437px" %)Association to the Key Value that holds the value of the “Dimension at the Observation Level”.
395 -|(% style="width:147px" %)//ObservationValue//|(% style="width:222px" %)(((
412 +| |+attachedAttribute|Association to the Attribute Values relating to the Observation.
413 +| |+observationDimension|Association to the Key Value that holds the value of the “Dimension at the Observation Level”.
414 +|//ObservationValue//|(((
396 396  Abstract class
397 397  
398 398  Sub classes
... ... @@ -402,8 +402,8 @@
402 402  //ue//
403 403  
404 404  CodedObservation
405 -)))|(% style="width:437px" %)
406 -|(% style="width:147px" %)//UncodedObservatio nValue//|(% style="width:222px" %)(((
424 +)))|
425 +|//UncodedObservatio nValue//|(((
407 407  Abstract class
408 408  
409 409  Inherits from
... ... @@ -415,34 +415,34 @@
415 415  OtherUncodedMeasureVa lue
416 416  
417 417  TextMeasureValue
418 -)))|(% style="width:437px" %)
419 -|(% style="width:147px" %)OtherUncodedMeasu reValue|(% style="width:222px" %)(((
437 +)))|
438 +|OtherUncodedMeasu reValue|(((
420 420  Inherits from
421 421  
422 422  //UncodedObservationVal ue//
423 -)))|(% style="width:437px" %)An observation that has a text value.
424 -|(% style="width:147px" %) |(% style="width:222px" %)value|(% style="width:437px" %)The value of the Uncoded Observation.
425 -|(% style="width:147px" %) |(% style="width:222px" %)startTime|(% style="width:437px" %)This attribute is only used if the textFormat of the Measure is of the Timespan type in the Data Structure Definition (in which case the value field takes a duration).
426 -|(% style="width:147px" %)TextMeasureValue|(% style="width:222px" %)(((
442 +)))|An observation that has a text value.
443 +| |value|The value of the Uncoded Observation.
444 +| |startTime|This attribute is only used if the textFormat of the Measure is of the Timespan type in the Data Structure Definition (in which case the value field takes a duration).
445 +|TextMeasureValue|(((
427 427  Inherits from
428 428  
429 429  //UncodedObservationVal ue//
430 -)))|(% style="width:437px" %)An observation that has a localised text value
431 -|(% style="width:147px" %) |(% style="width:222px" %)text|(% style="width:437px" %)The localised text values.
432 -|(% style="width:147px" %)CodedObservation|(% style="width:222px" %)(((
449 +)))|An observation that has a localised text value
450 +| |text|The localised text values.
451 +|CodedObservation|(((
433 433  Inherits from
434 434  
435 435  //ObservationValue//
436 -)))|(% style="width:437px" %)An Observation that takes its value from a code in a Code list.
437 -|(% style="width:147px" %) |(% style="width:222px" %)+valueOf|(% style="width:437px" %)Association to the Code that is the value of the Observation. Note that this is a conceptual association showing that the Code must exist in the Codelist(s) associated with the Measure(s) in the Data Structure Definition. In the actual Data Set the value of the Code is placed in the Observation.
438 -|(% style="width:147px" %)//AttributeValue//|(% style="width:222px" %)(((
455 +)))|An Observation that takes its value from a code in a Code list.
456 +| |+valueOf|Association to the Code that is the value of the Observation. Note that this is a conceptual association showing that the Code must exist in the Codelist(s) associated with the Measure(s) in the Data Structure Definition. In the actual Data Set the value of the Code is placed in the Observation.
457 +|//AttributeValue//|(((
439 439  Abstract class
440 440  
441 441  Sub classes
442 442  
443 443  //DataAttributeValue// //MetadataAttributeValu e//
444 -)))|(% style="width:437px" %)Represents the value for any Attribute reported in the Dataset, i.e., Data or Metadata Attribute.
445 -|(% style="width:147px" %)//DataAttributeValu e//|(% style="width:222px" %)(((
463 +)))|Represents the value for any Attribute reported in the Dataset, i.e., Data or Metadata Attribute.
464 +|//DataAttributeValu e//|(((
446 446  Abstract class
447 447  
448 448  Inherits from
... ... @@ -454,21 +454,22 @@
454 454  //UncodedAttributeValue//
455 455  
456 456  //CodedAttributeValue//
457 -)))|(% style="width:437px" %)The value of a Data Attribute, such as the instance of a Coded Attribute or of an Uncoded Attribute in a structure such as a Data Structure Definition.
458 -|(% style="width:147px" %) |(% style="width:222px" %)+valueFor|(% style="width:437px" %)(((
476 +)))|The value of a Data Attribute, such as the instance of a Coded Attribute or of an Uncoded Attribute in a structure such as a Data Structure Definition.
477 +| |+valueFor|(((
459 459  Association to the Data Attribute defined in the Data Structure Definition. Note that this is conceptual association as the Concept is identified explicitly in the data set.
479 +
460 460  The source multiplicity (1..*) indicates the possibility to provide more than one values for a Data Attribute, if the latter allows it.
461 461  )))
462 -|(% style="width:147px" %)//MetadataAttribute Value//|(% style="width:222px" %)(((
482 +|//MetadataAttribute Value//|(((
463 463  (explained further in section
464 464  
465 465  “Metadata Set”)
466 -)))|(% style="width:437px" %)(((
486 +)))|(((
467 467  The value of a Metadata Attribute, as specified in the Metadata Structure Definition, which is linked in the Data Structure
468 468  
469 469  Definition
470 470  )))
471 -|(% style="width:147px" %)//UncodedAttributeV alue//|(% style="width:222px" %)(((
491 +|//UncodedAttributeV alue//|(((
472 472  Inherits from
473 473  
474 474  //AttributeValue//
... ... @@ -478,25 +478,27 @@
478 478  OtherUncodedAttribute Value
479 479  
480 480  TextAttributeValue
481 -)))|(% style="width:437px" %)
482 -|(% style="width:147px" %)OtherUncodedAttri buteValue|(% style="width:222px" %)(((
501 +)))|
502 +|OtherUncodedAttri buteValue|(((
483 483  Inherits from
484 484  
485 485  //UncodedObservationVal ue//
486 -)))|(% style="width:437px" %)An attribute value that has a text value
487 -|(% style="width:147px" %) |(% style="width:222px" %)value|(% style="width:437px" %)The value of the Uncoded attribute.
488 -|(% style="width:147px" %) |(% style="width:222px" %)startTime|(% style="width:437px" %)This attribute is only used if the textFormat of the attribute is of the Timespan type in the Data Structure Definition (in which case the value field takes a duration).
489 -|(% style="width:147px" %)TextAttributeValu e|(% style="width:222px" %)(((
506 +)))|An attribute value that has a text value
507 +| |value|The value of the Uncoded attribute.
508 +| |startTime|This attribute is only used if the textFormat of the attribute is of the Timespan type in the Data Structure Definition (in which case the value field takes a duration).
509 +|TextAttributeValu e|(((
490 490  Inherits from
491 491  
492 492  //UncodedAttributeValue//
493 -)))|(% style="width:437px" %)An attribute that has a localised text value
494 -|(% style="width:147px" %) |(% style="width:222px" %)text|(% style="width:437px" %)The localised text values.
495 -|(% style="width:147px" %)CodedAttributeVal ue|(% style="width:222px" %)(((
513 +)))|An attribute that has a localised text value
514 +| |text|The localised text values.
515 +|CodedAttributeVal ue|(((
496 496  Inherits from
497 497  
498 498  //AttributeValue//
499 -)))|(% style="width:437px" %)An attribute that takes it value from a Code in Code list.
500 -|(% style="width:147px" %) |(% style="width:222px" %)+valueOf|(% style="width:437px" %)Association to the Code that is the value of the Attribute Value. Note that this is a conceptual association showing that the Code must exist in the Code list associated with the Data Attribute in the Data Structure Definition. In the actual Data Set the value of the Code is placed in the Attribute Value.
519 +)))|An attribute that takes it value from a Code in Code list.
520 +| |+valueOf|Association to the Code that is the value of the Attribute Value. Note that this is a conceptual association showing that the Code must exist in the Code list associated with the Data Attribute in the Data Structure Definition. In the actual Data Set the value of the Code is placed in the Attribute Value.
501 501  
522 +
523 +
502 502