Version 9.3 by Helena on 2025/05/16 23:02

Show last authors
1 {{box title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
4
5 == 5.1 Introduction ==
6
7 The DataStructureDefiniton is the class name for a structure definition for data. Some organisations know this type of definition as a “Key Family” and so the two names are synonymous. The term [[Data Structure Definition>>doc:xwiki:Glossary.Data structure definition.WebHome]] (also referred to as [[DSD>>doc:xwiki:Glossary.Data structure definition.WebHome]]) is used in this specification.
8
9 Many of the constructs in this layer of the model inherit from the [[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] Base Layer. Therefore, it is necessary to study both the inheritance and the relationship diagrams to understand the functionality of individual packages. In simple sub models these are shown in the same diagram but are omitted from the more complex sub models for the sake of clarity. In these cases, the inheritance diagram below shows the full inheritance tree for the classes concerned with data structure definitions.
10
11 There are very few additional classes in this sub model other than those shown in the inheritance diagram below. In other words, the [[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] Base gives most of the structure of this sub model both in terms of associations and in terms of [[attributes>>doc:xwiki:Glossary.Attribute.WebHome]]. The relationship diagrams shown in this section show clearly when these associations are inherited from the [[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] Base (see the Appendix “A Short Guide to UML in the [[SDMX Information Model>>doc:xwiki:Glossary.SDMX Information Model.WebHome]]” to see the diagrammatic notation used to depict this).
12
13 The actual [[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] Base construct from which the concrete classes inherit depends upon the requirements of the class for:
14
15 [[Annotation>>doc:xwiki:Glossary.Annotation.WebHome]] – //AnnotableArtefact//
16 Identification – //IdentifiableArtefact//
17 Naming – //NameableArtefact//
18 Versioning – //VersionableArtefact//
19 Maintenance – //MaintainableArtefact//
20
21 == 5.2 Inheritance View ==
22
23 === 5.2.1 Class Diagram ===
24
25 [[image:SDMX 3-0-0 SECTION 2 FINAL-1.0 (1)_en_91284c0b.jpg||height="762" width="598"]]
26
27 **Figure 27 Class inheritance in the Data Structure Definition and Data Set Packages**
28
29 === 5.2.2 Explanation of the Diagram ===
30
31 ==== 5.2.2.1 Narrative ====
32
33 Those classes in the [[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] metamodel which require [[annotations>>doc:xwiki:Glossary.Annotation.WebHome]] inherit from //AnnotableArtefact//. These are:
34
35 //IdentifiableArtefact
36 [[DataSet>>doc:xwiki:Glossary.Data set.WebHome]]
37 Key// (and therefore //SeriesKey// and //GroupKey//)
38 //Observation//
39
40 Those classes in the [[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] metamodel which require [[annotations>>doc:xwiki:Glossary.Annotation.WebHome]] and global identity are derived from //IdentifiableArtefact//. These are:
41
42 //NameableArtefact
43 ComponentList
44 [[Component>>doc:xwiki:Glossary.Component.WebHome]]//
45
46 Those classes in the [[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] metamodel which require [[annotations>>doc:xwiki:Glossary.Annotation.WebHome]], global identity, multilingual name and multilingual description are derived from //NameableArtefact//. These are:
47
48 //VersionableArtefact
49 Item//
50
51 The classes in the [[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] metamodel which require [[annotations>>doc:xwiki:Glossary.Annotation.WebHome]], global identity, multilingual name and multilingual description, and versioning are derived from //VersionableArtefact//. These are:
52
53 //MaintainableArtefact//
54
55 Abstract classes which represent information that is maintained by [[Maintenance Agencies>>doc:xwiki:Glossary.Maintenance agency.WebHome]] all inherit from //MaintainableArtefact//, they also inherit all the features of a //VersionableArtefact//, and are:
56
57 //StructureUsage
58 Structure
59 ItemScheme//
60
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
63 Those concrete classes in the [[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] [[Data Structure Definition>>doc:xwiki:Glossary.Data structure definition.WebHome]] and [[Dataset>>doc:xwiki:Glossary.Data set.WebHome]] packages of the metamodel which require to be maintained by Agencies all inherit (via other abstract classes) from //MaintainableArtefact//, these are:
64
65 Dataflow
66 DataStructureDefinition
67
68 The [[component>>doc:xwiki:Glossary.Component.WebHome]] structures that are lists of lists, inherit directly from //Structure//. A //Structure// contains several lists of [[components>>doc:xwiki:Glossary.Component.WebHome]]. The concrete class that inherits from //Structure// is:
69
70 DataStructureDefinition
71
72 A DataStructureDefinition contains a list of [[dimensions>>doc:xwiki:Glossary.Dimension.WebHome]], a list of [[measures>>doc:xwiki:Glossary.Measure.WebHome]] and a list of attributes.
73
74 The concrete classes which inherit from //ComponentList// and are subcomponents of the DataStructureDefinition are:
75
76 DimensionDescriptor – content is [[Dimension>>doc:xwiki:Glossary.Dimension.WebHome]] and TimeDimension
77 DimensionGroupDescriptor – content is an association to [[Dimension>>doc:xwiki:Glossary.Dimension.WebHome]], TimeDimension
78 MeasureDescriptor – content is Measure
79 AttributeDescriptor – content is DataAttribute and an association to MetadataAttribute
80
81 The classes that inherit from //[[Component>>doc:xwiki:Glossary.Component.WebHome]]// are:
82
83 Measure
84
85 //DimensionComponent// and thereby its sub classes of [[Dimension>>doc:xwiki:Glossary.Dimension.WebHome]] and TimeDimension
86 //Attribute// and thereby its sub classes of DataAttribute and MetadataAttribute
87
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.
89
90 == 5.3 Data Structure Definition – Relationship View ==
91
92 === 5.3.1 Class Diagram ===
93
94 [[image:SDMX 3-0-0 SECTION 2 FINAL-1.0 (1)_en_c415af49.jpg||height="478" width="583"]]
95
96 **Figure 28 Relationship class diagram of the Data Structure Definition excluding representation**
97
98 === 5.3.2 Explanation of the Diagrams ===
99
100 ==== 5.3.2.1 Narrative ====
101
102 A DataStructureDefinition defines the [[Dimensions>>doc:xwiki:Glossary.Dimension.WebHome]], TimeDimension, DataAttributes, and [[Measures>>doc:xwiki:Glossary.Measure.WebHome]], and associated [[Representations>>doc:xwiki:Glossary.Representation.WebHome]], that comprise the valid structure of data and related [[attributes>>doc:xwiki:Glossary.Attribute.WebHome]] that are contained in a [[DataSet>>doc:xwiki:Glossary.Data set.WebHome]], which is defined by a [[Dataflow>>doc:xwiki:Glossary.Dataflow.WebHome]]. In addition, a DataStructureDefinition may be related to one MetadataStructureDefinition, in order to use the latter’s MetadataAttributes, by relating them to other //[[Components>>doc:xwiki:Glossary.Component.WebHome]]// within the [[DSD>>doc:xwiki:Glossary.Data structure definition.WebHome]], as explained below.
103
104 The [[Dataflow>>doc:xwiki:Glossary.Dataflow.WebHome]] may also have additional metadata attached that define qualitative information and (% style="color:#2ecc71" %)Constraints(%%) on the use of the DataStructureDefinition such as the subset of [[Codes>>doc:xwiki:Glossary.Code.WebHome]] used in a [[Dimension>>doc:xwiki:Glossary.Dimension.WebHome]] (this is covered later in this document – see sections “(% style="color:#2ecc71" %)Constraints(%%)” and “Data Provisioning”). Each [[Dataflow>>doc:xwiki:Glossary.Dataflow.WebHome]] has a maximum of one DataStructureDefinition specified which defines the structure of any [[DataSets>>doc:xwiki:Glossary.Data set.WebHome]] to be reported/disseminated.
105
106 There are two types of [[dimensions>>doc:xwiki:Glossary.Dimension.WebHome]] each having a common association to (% style="color:#2ecc71" %)Concept(%%):
107
108 * [[Dimension>>doc:xwiki:Glossary.Dimension.WebHome]]
109 * TimeDimension
110
111 Note that DimensionComponent can be any or all its sub classes i.e., [[Dimension>>doc:xwiki:Glossary.Dimension.WebHome]], TimeDimension.
112
113 The //DimensionComponent//, DataAttribute, MetadataAttribute and [[Measure>>doc:xwiki:Glossary.Measure.WebHome]] link to the (% style="color:#2ecc71" %)Concept(%%) that defines its name and semantic (/conceptIdentity association to (% style="color:#2ecc71" %)Concept(%%)). The DataAttribute, [[Dimension>>doc:xwiki:Glossary.Dimension.WebHome]] (but not TimeDimension) and [[Measure>>doc:xwiki:Glossary.Measure.WebHome]] can optionally have a +conceptRole association with a (% style="color:#2ecc71" %)Concept(%%) that identifies its role in the DataStructureDefinition, or one of the standard pre-defined roles, i.e., those published in "GUIDELINES FOR [[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] (% style="color:#2ecc71" %)CONCEPT(%%) ROLES" by the [[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] SWG. The use of these roles is to enable applications to process the data in a meaningful way (e.g., relating a [[dimension>>doc:xwiki:Glossary.Dimension.WebHome]] value to a mapping vector). It is expected, beyond the standard roles published by the SWG, that communities (such as the official statistics community) will harmonise such roles within their community so that data can be exchanged and shared in a meaningful way within that community.
114
115 The valid values for a //DimensionComponent//, [[Measure>>doc:xwiki:Glossary.Measure.WebHome]], DataAttribute or MetadataAttribute, when used in this DataStructureDefinition, are defined by the [[Representation>>doc:xwiki:Glossary.Representation.WebHome]]. This [[Representation>>doc:xwiki:Glossary.Representation.WebHome]] is taken from the (% style="color:#2ecc71" %)Concept(%%) definition (coreRepresentation) unless it is overridden in this DataStructureDefinition (localRepresentation) – see Figure 28. Note also that TimeDimension is constrained to specific FacetValueTypes. Moreover, the [[Representations>>doc:xwiki:Glossary.Representation.WebHome]] of MetadataAttributes are specified in the corresponding MetadataStructureDefinition, linked by the DataStructureDefinition.
116
117 There will always be a DimensionDescriptor grouping that identifies all of the [[Dimension>>doc:xwiki:Glossary.Dimension.WebHome]] comprising the full key. Together the [[Dimensions>>doc:xwiki:Glossary.Dimension.WebHome]] specify the key of an Observation.
118
119 The //DimensionComponent// can optionally be grouped by multiple GroupDimensionDescriptors each of which identifies the group of [[Dimensions>>doc:xwiki:Glossary.Dimension.WebHome]] that can form a partial key. The GroupDimensionDescriptor must be identified (GroupDimensionDescriptor.id) and this is used in the GroupKey of the [[DataSet>>doc:xwiki:Glossary.Data set.WebHome]] to declare which DataAttributes or MetadataAttributes are reported at this group (% style="color:#2ecc71" %)level(%%) in the [[DataSet>>doc:xwiki:Glossary.Data set.WebHome]].
120
121 There can be a maximum of one TimeDimension specified in the DimensionDescriptor. The TimeDimension is used to specify the (% style="color:#2ecc71" %)Concept(%%) used to convey the [[time period>>doc:xwiki:Glossary.Time period.WebHome]] of the observation in a [[data set>>doc:xwiki:Glossary.Data set.WebHome]]. The TimeDimension must contain a valid [[representation>>doc:xwiki:Glossary.Representation.WebHome]] of time and cannot be coded.
122
123 here can be one or more [[Measures>>doc:xwiki:Glossary.Measure.WebHome]] under the MeasureDescriptor. [[Measures>>doc:xwiki:Glossary.Measure.WebHome]] represent the observable phenomena. Each [[Measure>>doc:xwiki:Glossary.Measure.WebHome]] may have a valid [[representation>>doc:xwiki:Glossary.Representation.WebHome]], a maxOccurs [[attribute>>doc:xwiki:Glossary.Attribute.WebHome]] limiting the maximum number of values per [[Measure>>doc:xwiki:Glossary.Measure.WebHome]] (which may be set to 'unbounded' for unlimited occurrences), as well as a minOccurs [[attribute>>doc:xwiki:Glossary.Attribute.WebHome]], indicating the minimum required number of values, when the [[Measure>>doc:xwiki:Glossary.Measure.WebHome]] is reported. If minOccurs or maxOccurs are omitted (they both default to ‘1’), the [[Measure>>doc:xwiki:Glossary.Measure.WebHome]] is considered to take a single value; otherwise, it is an array. Moreover, the usage [[attribute>>doc:xwiki:Glossary.Attribute.WebHome]] indicates whether a [[Measure>>doc:xwiki:Glossary.Measure.WebHome]] must be reported or not, by the corresponding values: mandatory or optional.
124
125 The AttributeDescriptor may contain one or more //[[Attribute>>doc:xwiki:Glossary.Attribute.WebHome]]//s, i.e., at least one DataAttribute definition or one MetadataAttribute reference.
126
127 The DataAttribute defines a characteristic of data that are collected or disseminated and is grouped in the DataStructureDefinition by a single AttributeDescriptor. The DataAttribute can be indicated if it must be reported or not, by the corresponding value of the usage [[attribute>>doc:xwiki:Glossary.Attribute.WebHome]]: i.e., mandatory or optional. The property minOccurs specifies the minimum number of array values to be included when the DataAttribute is reported. Moreover, a maxOccurs [[attribute>>doc:xwiki:Glossary.Attribute.WebHome]] indicates whether the DataAttribute may need to report more than one values, i.e., an array of values. The DataAttribute may play a specific role in the structure and this is specified by the +role association to the (% style="color:#2ecc71" %)Concept(%%) that identifies its role.
128
129 The MetadataAttribute defines [[reference metadata>>doc:xwiki:Glossary.Reference metadata.WebHome]] that may be collected or disseminated and is grouped together with DataAttribute under the AttributeDescriptor.
130
131 A DataAttribute or a MetadataAttribute (i.e., an //AttributeComponent//) is specified as being +relatedTo an AttributeRelationship, which defines the constructs to which the //AttributeComponent// is to be reported within a //[[DataSet>>doc:xwiki:Glossary.Data set.WebHome]]//. An //AttributeComponent// can be specified as being related to one of the following [[artefacts>>doc:xwiki:Glossary.Artefact.WebHome]]:
132
133 * All data within the [[dataset>>doc:xwiki:Glossary.Data set.WebHome]] (DataflowRelationship) – this is equivalent to attaching an [[Attribute>>doc:xwiki:Glossary.Attribute.WebHome]] to all data within the [[Dataflow>>doc:xwiki:Glossary.Dataflow.WebHome]].
134 * [[Dimension>>doc:xwiki:Glossary.Dimension.WebHome]] or set of [[Dimensions>>doc:xwiki:Glossary.Dimension.WebHome]] (DimensionRelationship)
135 * Set of [[Dimensions>>doc:xwiki:Glossary.Dimension.WebHome]] specified by a GroupKey (GroupRelationship – this is retained for compatibility reasons – or +groupKey of the DimensionRelationship)
136 * Observation (ObservationRelationship)
137 * In addition to the positioning of an //AttributeComponent// within a //[[DataSet>>doc:xwiki:Glossary.Data set.WebHome]]//, another relationship indicates the [[Measure>>doc:xwiki:Glossary.Measure.WebHome]](s) for which the //AttributeComponent// is reported. Regardless of the position of the //AttributeComponent// within the //[[DataSet>>doc:xwiki:Glossary.Data set.WebHome]]//, the //AttributeComponent// may concern one, more than one, or all [[Measures>>doc:xwiki:Glossary.Measure.WebHome]] included in the [[DSD>>doc:xwiki:Glossary.Data structure definition.WebHome]]. This is expressed using the MeasureRelationship class, which relates a DataAttribute to one or more [[Measures>>doc:xwiki:Glossary.Measure.WebHome]]. Lack of the MeasureRelationship defaults to a relationship to all [[Measures>>doc:xwiki:Glossary.Measure.WebHome]].
138
139 [[image:SDMX 3-0-0 SECTION 2 FINAL-1.0 (1)_en_f235bfd4.jpg||height="542" width="604"]]
140
141 **Figure 29: Attribute Attachment Defined in the Data Structure Definition**
142
143 The following table details the possible relationships a DataAttribute may specify. Note that these relationships are mutually exclusive, and therefore only one of the following is possible.
144
145 (% style="width:839.039px" %)
146 |**Relationship**|(% style="width:384px" %)**Meaning**|(% style="width:303px" %)**Location in Data Set at which the Attribute is reported**
147 |DataflowRelationship|(% style="width:384px" %)The value of the [[attribute>>doc:xwiki:Glossary.Attribute.WebHome]] is fixed for all data contained in the [[dataset>>doc:xwiki:Glossary.Data set.WebHome]]. The [[Attribute>>doc:xwiki:Glossary.Attribute.WebHome]] value applies to all data defined by the underlying [[Dataflow>>doc:xwiki:Glossary.Dataflow.WebHome]].|(% style="width:303px" %)The [[attribute>>doc:xwiki:Glossary.Attribute.WebHome]] is reported at the [[Dataset>>doc:xwiki:Glossary.Data set.WebHome]] (% style="color:#2ecc71" %)level(%%).
148 |[[Dimension>>doc:xwiki:Glossary.Dimension.WebHome]] (1..n)|(% style="width:384px" %)The value of the [[attribute>>doc:xwiki:Glossary.Attribute.WebHome]] will vary with the value(s) of the referenced [[Dimension>>doc:xwiki:Glossary.Dimension.WebHome]](s). In this case, Group(s) to which the [[attribute>>doc:xwiki:Glossary.Attribute.WebHome]] should be attached may optionally be specified.|(% style="width:303px" %)The [[attribute>>doc:xwiki:Glossary.Attribute.WebHome]] is reported at the lowest (% style="color:#2ecc71" %)level(%%) of the [[Dimension>>doc:xwiki:Glossary.Dimension.WebHome]] to which the [[Attribute>>doc:xwiki:Glossary.Attribute.WebHome]] is related, otherwise at the (% style="color:#2ecc71" %)level(%%) of the Group if Attachment Group(s) is specified.
149 |Group|(% style="width:384px" %)The value of the [[Attribute>>doc:xwiki:Glossary.Attribute.WebHome]] varies with combination of values for all of the [[Dimensions>>doc:xwiki:Glossary.Dimension.WebHome]] contained in the Group. This is added as a convenience to listing all [[Dimensions>>doc:xwiki:Glossary.Dimension.WebHome]] and the attachment Group, but should only be used when the [[Attribute>>doc:xwiki:Glossary.Attribute.WebHome]] value varies based on __all__ Group [[Dimension>>doc:xwiki:Glossary.Dimension.WebHome]] values.|(% style="width:303px" %)The [[attribute>>doc:xwiki:Glossary.Attribute.WebHome]] is reported at the (% style="color:#2ecc71" %)level(%%) of Group.
150 |Observation|(% style="width:384px" %)The value of the [[Attribute>>doc:xwiki:Glossary.Attribute.WebHome]] varies with the observed value.|(% style="width:303px" %)The [[attribute>>doc:xwiki:Glossary.Attribute.WebHome]] is reported at the (% style="color:#2ecc71" %)level(%%) of Observation.
151
152 [[image:SDMX 3-0-0 SECTION 2 FINAL-1.0 (1)_en_42ff01fb.jpg||height="380" width="590"]]
153
154 **Figure 30: Representation of DSD Components**
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.
157
158 A DataStructureDefinition can be extended to form a derived DataStructureDefinition. This is supported in the StructureMap.
159
160 ==== 5.3.2.2 Definitions ====
161
162 :
163
164 (((
165 (% style="width:834.039px" %)
166 |**Class**|(% style="width:194px" %)**Feature**|(% style="width:454px" %)**Description**
167 |StructureUsage|(% style="width:194px" %) |(% style="width:454px" %)See “SDMX Base”.
168 |Dataflow|(% style="width:194px" %)(((
169 Inherits from
170 //StructureUsage//
171 )))|(% style="width:454px" %)Abstract concept (i.e., the structure without any data) of a flow of data that providers will provide for different reference periods.
172 | |(% style="width:194px" %)/structure|(% style="width:454px" %)Associates a Dataflow to the Data Structure Definition.
173 |DataStructureDefiniti on|(% style="width:194px" %) |(% style="width:454px" %)A collection of metadata concepts, their structure and usage when used to collect or disseminate data.
174 | |(% style="width:194px" %)/grouping|(% style="width:454px" %)An association to a set of metadata concepts that have an identified structural role in a Data Structure Definition.
175 |GroupDimensionDescrip tor|(% style="width:194px" %)(((
176 Inherits from
177 //ComponentList//
178 )))|(% style="width:454px" %)A set of metadata concepts that define a partial key derived from the Dimension Descriptor in a Data Structure Definition.
179 | |(% style="width:194px" %)/components|(% style="width:454px" %)An association to the Dimension components that comprise the group.
180 |DimensionDescriptor|(% style="width:194px" %)(((
181 Inherits from
182 //ComponentList//
183 )))|(% style="width:454px" %)An ordered set of metadata concepts that, combined, classify a statistical series, and whose values, when combined (the key) in an instance such as a data set, uniquely identify a specific observation.
184 | |(% style="width:194px" %)/components|(% style="width:454px" %)(((
185 An association to the Dimension and Time Dimension comprising the Key Descriptor.
186 )))
187 |AttributeDescriptor|(% style="width:194px" %)(((
188 Inherits from
189 //ComponentList//
190 )))|(% style="width:454px" %)A set metadata concepts that define the Attributes of a Data Structure Definition.
191 | |(% style="width:194px" %)/components|(% style="width:454px" %)An association to a Data Attribute component.
192 |MeasureDescriptor|(% style="width:194px" %)(((
193 Inherits from
194 //ComponentList//
195 )))|(% style="width:454px" %)A metadata concept that defines the Measures of a Data Structure Definition.
196 | |(% style="width:194px" %)/components|(% style="width:454px" %)An association to a Measure component.
197 |//DimensionComponent//|(% style="width:194px" %)(((
198 Inherits from
199 //Component//
200
201 Sub class Dimension
202 TimeDimension
203 )))|(% style="width:454px" %)An abstract class representing any Component that can be used for identifying observations.
204 | |(% style="width:194px" %)order|(% style="width:454px" %)Specifies the order of the Dimension Components within the DSD. The property is used to indicate the position of the Dimension Component and determines the Key for identifying observations, or series. The Time Dimension, when specified, must be the last within the Dimension Descriptor.
205 |Dimension|(% style="width:194px" %)(((
206 Inherits from
207 //DimensionComponent//
208 )))|(% style="width:454px" %)A metadata concept used (most probably together with other metadata concepts) to classify a statistical series, e.g., a statistical concept indicating a certain economic activity or a geographical reference area.
209 | |(% style="width:194px" %)/role|(% style="width:454px" %)Association to the Concept that specifies the role that that the Dimension plays in the Data Structure Definition.
210 | |(% style="width:194px" %)/conceptIdentity|(% style="width:454px" %)An association to the metadata concept which defines the semantic of the Dimension.
211 |TimeDimension|(% style="width:194px" %)(((
212 Inherits from
213 //DimensionComponent//
214 )))|(% style="width:454px" %)A metadata concept that identifies the component in the key structure that has the role of “time”.
215 |DataAttribute|(% style="width:194px" %)(((
216 Inherits from
217
218 //Component//
219 )))|(% style="width:454px" %)A characteristic of an object or entity.
220 | |(% style="width:194px" %)/role|(% style="width:454px" %)Association to the Concept that specifies the role that that the Data Attribute plays in the Data Structure Definition.
221 | |(% style="width:194px" %)minOccurs|(% style="width:454px" %)Defines the minimum required occurrences for the Attribute. When equals to zero, the Attribute is conditional.
222 | |(% style="width:194px" %)maxOccurs|(% style="width:454px" %)Defines the maximum allowed occurrences for the Attribute.
223 | |(% style="width:194px" %)usage|(% style="width:454px" %)Defines whether a Data Attribute must be reported or not.
224 | |(% style="width:194px" %)+relatedTo|(% style="width:454px" %)Association to an Attribute Relationship.
225 | |(% style="width:194px" %)/conceptIdentity|(% style="width:454px" %)An association to the Concept which defines the semantic of the component.
226 |Measure|(% style="width:194px" %)(((
227 Inherits from
228 //Component//
229 )))|(% style="width:454px" %)The metadata concept that is the phenomenon to be measured in a data set. In a data set the instance of the measure is often called the observation.
230 | |(% style="width:194px" %)/conceptIdentity|(% style="width:454px" %)An association to the Concept which carries the values of the measures.
231 | |(% style="width:194px" %)minOccurs|(% style="width:454px" %)Defines the minimum required occurrences for the Measure. When equals to zero, the Measure is conditional.
232 | |(% style="width:194px" %)maxOccurs|(% style="width:454px" %)Defines the maximum allowed occurrences for the Measure.
233 | |(% style="width:194px" %)usage|(% style="width:454px" %)Defines whether a Measure must be reported or not.
234 |//AttributeRelationship//|(% style="width:194px" %)(((
235 Abstract Class
236 Sub classes
237 ObservationRelationship
238 GroupRelationship DimensionRelationshi p
239 )))|(% style="width:454px" %)Specifies the type of artefact to which a Data Attribute can be attached in a Data Set.
240 |ObservationRelationsh ip|(% style="width:194px" %) |(% style="width:454px" %)The Data Attribute is related to the observations of the Data Set.
241 |GroupRelationship|(% style="width:194px" %) |(% style="width:454px" %)The Data Attribute is related to a Group Dimension Descriptor construct.
242 | |(% style="width:194px" %)+groupKey|(% style="width:454px" %)An association to the Group Dimension Descriptor
243 |DimensionRelationship|(% style="width:194px" %) |(% style="width:454px" %)The Data Attribute is related to a set of Dimensions.
244 | |(% style="width:194px" %)+dimensions|(% style="width:454px" %)Association to the set of Dimensions to which the Data Attribute is related.
245 | |(% style="width:194px" %)+groupKey|(% style="width:454px" %)Association to the Group Dimension Descriptor which specifies the set of Dimensions to which the Data Attribute is attached.
246 |MeasureRelationship|(% style="width:194px" %) |(% style="width:454px" %)The Measures that a Data Attribute is reported for.
247 | |(% style="width:194px" %)+measures|(% style="width:454px" %)Association to the set of Measures to which a Data Attribute is related to.
248 |SentinelValuesType|(% style="width:194px" %) |(% style="width:454px" %)This facet indicates that an Attribute or a Measure has sentinel values with special meaning within their data type. This is realised by providing such values within the TextFormat, in addition to any textType or other Facet.
249 |SentinelValue|(% style="width:194px" %) |(% style="width:454px" %)A value that has a special meaning within the text format representation of the Component.
250 | |(% style="width:194px" %)+name|(% style="width:454px" %)An association of a Sentinel Value to a multilingual name.
251 | |(% style="width:194px" %)+description|(% style="width:454px" %)An association of a Sentinel Value to a multilingual description.
252 )))
253
254 The explanation of the classes, attributes, and associations comprising the Representation is described in the section on the SDMX Base.
255
256 == 5.4 Data Set – Relationship View ==
257
258 === 5.4.1 Context ===
259
260 A data set comprises the collection of data values and associated metadata that are collected or disseminated according to a known DataStructureDefinition.
261
262 === 5.4.2 Class Diagram ===
263
264 [[image:SDMX 3-0-0 SECTION 2 FINAL-1.0 (1)_en_78f5c87f.jpg||height="822" width="535"]]
265
266 **Figure 31: Class Diagram of the Data Set**
267
268 === 5.4.3 Explanation of the Diagram ===
269
270 ==== 5.4.3.1 Narrative – Data Set ====
271
272 Note that the //DataSet// must conform to the DataStructureDefinition associated to the Dataflow for which this DataSet is an “instance of data”. Whilst the model shows the association to the classes of the DataStructureDefinition, this is for conceptual purposes to show the link to the DataStructureDefinition. In the actual //DataSet// as exchanged there must, of course, be a reference to the DataStructureDefinition and optionally a Dataflow or a ProvisionAgreement, but the DataStructureDefinition is not necessarily exchanged with the data. Therefore, the DataStructureDefinition classes are shown in the grey areas, as these are not a part of the //DataSet// when the //DataSet// is exchanged. However, the structural metadata in the DataStructureDefinition can be used by an application to validate the contents of the //DataSet// in terms of the valid content of a //KeyValue// as defined by the Representation in the DataStructureDefinition.
273
274 An organisation playing the role of DataProvider can be responsible for one or more //DataSet//.
275
276 A //DataSet// is formatted as a DataStructureDefinition specific data set (StructureSpecificDataSet). The structured data set is structured according to one specific DataStructureDefinition; hence the latter is required for validation at the syntax level.
277
278 A //DataSet// is a collection of a set of //Observation//s that share the same dimensionality, which is specified by a set of unique components (Dimension, TimeDimension) defined in the DimensionDescriptor of the DataStructureDefinition, together with associated
279
280 //AttributeValue//s that define specific characteristics about the artefact to which it is attached – //Observation//s, set of Dimensions. It can be structured in terms of a SeriesKey to which //Observation//s are reported.
281
282 The //Observation// can be the value(s) of the variable(s) being measured for the Concept associated to the Measure(s) in the MeasureDescriptor of the DataStructureDefinition. Each //Observation// associates one or more //ObservationValue//s with a KeyValue (+observationDimension) which is the value for the “Dimension at the Observation Level”. Any Dimension can be specified as being the “Dimension at the Observation Level”, and this specification is made at the level of the //DataSet// (i.e., it must be the same Dimension for the entire //DataSet//).
283
284 The //KeyValue// is a value for one of TimeDimension or Dimension specified in the DataStructureDefinition. If it is a Dimension, it can be coded (CodedKeyValue) or uncoded (UncodedKeyValue). If it is the TimeDimension then it is a TimeKeyValue. The actual value that the CodedDimensionValue can take must be one of the Codes in the Codelist specified as the Representation of the Dimension in the DataStructureDefinition.
285
286 An ObservationValue can be coded – this is the CodedObservation – or it can be uncoded – this is the UncodedObservation. In the case of uncoded observations, the values may be multilingual – expressed via the TextMeasureValue – or not (OtherUncodedMeasureValue).
287
288 The GroupKey is a subunit of the //Key// that has the same dimensionality as the SeriesKey but defines a subset of the KeyValues of the SeriesKey. Its sub dimension structure is defined in the GroupDimensionDescriptor of the DataStructureDefinition identified by the same id as the GroupKey. The id identifies a “type” of group and the purpose of the GroupKey is to report one or more //AttributeValue// that are contained at this group level. The GroupKey is present when the GroupDimensionDescriptor is related to the GroupRelationship in the DataStructureDefinition. There can be many types of groups in a //DataSet//. If the Group is related to the DimensionRelationship in the DataStructureDefinition then the //AttributeValue// will be reported with the appropriate dimension in the SeriesKey or Observation.
289
290 In this way each of SeriesKey, GroupKey, and Observation can have zero or more //AttributeValue//s that define some metadata about the object to which it is associated. The //AttributeValue// may be either a //DataAttributeValue// or a //MetadataAttributeValue//, representing values of DataAttributes defined in the DSD or MetadataAttributes of the linked MSD, respectively. The allowable Concepts and the objects to which these metadata can be associated (attached) are defined in the DataStructureDefinition and the linked MetadataStructureDefinition.
291
292 The //AttributeValue// links to the object type (SeriesKey, GroupKey, Observation) to which it is associated.
293
294 ==== 5.4.3.2 Definitions ====
295
296 (% style="width:812.039px" %)
297 |(% style="width:147px" %)**Class**|(% style="width:246px" %)**Feature**|(% style="width:395px" %)**Description**
298 |(% style="width:147px" %)//DataSet//|(% style="width:246px" %)(((
299 Abstract Class
300 Sub classes
301 StructureSpecificData
302 Set
303 )))|(% style="width:395px" %)An organised collection of data.
304 |(% style="width:147px" %) |(% style="width:246px" %)reportingBegin|(% style="width:395px" %)A specific time period in a known system of time periods that identifies the start period of a report.
305 |(% style="width:147px" %) |(% style="width:246px" %)reportingEnd|(% style="width:395px" %)A specific time period in a known system of time periods that identifies the end period of a report.
306 |(% style="width:147px" %) |(% style="width:246px" %)dataExtractionDate|(% style="width:395px" %)A specific time period that identifies the date and time that the data are extracted from a data source.
307 |(% style="width:147px" %) |(% style="width:246px" %)validFrom|(% style="width:395px" %)Indicates the inclusive start time indicating the validity of the information in the data set.
308 |(% style="width:147px" %) |(% style="width:246px" %)validTo|(% style="width:395px" %)Indicates the inclusive end time indicating the validity of the information in the data set.
309 |(% style="width:147px" %) |(% style="width:246px" %)publicationYear|(% style="width:395px" %)Specifies the year of publication of the data or metadata in terms of whatever provisioning agreements might be in force.
310 |(% style="width:147px" %) |(% style="width:246px" %)publicationPeriod|(% style="width:395px" %)Specifies the period of publication of the data or metadata in terms of whatever provisioning agreements might be in force.
311 |(% style="width:147px" %) |(% style="width:246px" %)setId|(% style="width:395px" %)Provides an identification of the data set.
312 |(% style="width:147px" %) |(% style="width:246px" %)action|(% style="width:395px" %)Defines the action to be taken by the recipient system (information, append, replace, delete)
313 |(% style="width:147px" %) |(% style="width:246px" %)describedBy|(% style="width:395px" %)Associates a Dataflow and thereby a Data Structure Definition to the data set.
314 |(% style="width:147px" %) |(% style="width:246px" %)+structuredBy|(% style="width:395px" %)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.
315 |(% style="width:147px" %) |(% style="width:246px" %)+publishedBy|(% style="width:395px" %)Associates the Data Provider that reports/publishes the data.
316 |(% style="width:147px" %)StructureSpecific DataSet|(% style="width:246px" %) |(% style="width:395px" %)An XML specific data format structure that contains data corresponding to one specific Data Structure Definition.
317 |(% style="width:147px" %)//Key//|(% style="width:246px" %)(((
318 Abstract class Sub classes
319 SeriesKey
320 GroupKey
321 )))|(% style="width:395px" %)Comprises the cross product of values of dimensions that identify uniquely an Observation.
322 |(% style="width:147px" %) |(% style="width:246px" %)keyValues|(% style="width:395px" %)Association to the individual Key Values that comprise the Key.
323 |(% style="width:147px" %) |(% style="width:246px" %)+attachedAttribute|(% style="width:395px" %)Association to the Attribute Values relating to the Series Key or Group Key.
324 |(% style="width:147px" %)//KeyValue//|(% style="width:246px" %)(((
325 Abstract class Sub classes
326 TimeKeyValue
327 CodedKeyValue
328 UncodedKeyValue
329 )))|(% style="width:395px" %)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.
330 |(% style="width:147px" %) |(% style="width:246px" %)+valueFor|(% style="width:395px" %)(((
331 Association to the key component in the Data Structure Definition for which this Key Value is a valid representation.
332 Note that this is conceptual association as the key component is identified explicitly in the data set.
333 )))
334 |(% style="width:147px" %)TimeKeyValue|(% style="width:246px" %)(((
335 Inherits from
336 //KeyValue//
337 )))|(% style="width:395px" %)The value of the Time Dimension component of the key.
338 |(% style="width:147px" %)CodedKeyValue|(% style="width:246px" %)(((
339 Inherits from
340 //KeyValue//
341 )))|(% style="width:395px" %)The value of a coded component of the key. The value is the Code to which this class is associated.
342 |(% style="width:147px" %) |(% style="width:246px" %)+valueOf|(% style="width:395px" %)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.
343 |(% style="width:147px" %)UnCodedKeyValue|(% style="width:246px" %)(((
344 Inherits from
345 //KeyValue//
346 )))|(% style="width:395px" %)The value of an uncoded component of the key.
347 |(% style="width:147px" %) |(% style="width:246px" %)value|(% style="width:395px" %)The value of the key component.
348 |(% style="width:147px" %) |(% style="width:246px" %)startTime|(% style="width:395px" %)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).
349 |(% style="width:147px" %)GroupKey|(% style="width:246px" %)(((
350 Inherits from
351 //Key//
352 )))|(% style="width:395px" %)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.
353 |(% style="width:147px" %) |(% style="width:246px" %)+describedBy|(% style="width:395px" %)Associates the Group Dimension Descriptor defined in the Data Structure Definition.
354 |(% style="width:147px" %)SeriesKey|(% style="width:246px" %)(((
355 Inherits from
356 //Key//
357 )))|(% style="width:395px" %)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.
358 |(% style="width:147px" %) |(% style="width:246px" %)+describedBy|(% style="width:395px" %)Associates the Dimension Descriptor defined in the Data Structure Definition.
359 |(% style="width:147px" %)Observation|(% style="width:246px" %) |(% style="width:395px" %)The value(s) of the observed phenomenon in the context of the Key Values comprising the key.
360 |(% style="width:147px" %) |(% style="width:246px" %)+valueFor|(% style="width:395px" %)(((
361 Associates the Measure(s) defined in the Data Structure Definition.
362
363 The source multiplicity (1..*) indicates that more than one values may be provided for a Measure, if the latter allows it.
364 )))
365 |(% style="width:147px" %) |(% style="width:246px" %)+attachedAttribute|(% style="width:395px" %)Association to the Attribute Values relating to the Observation.
366 |(% style="width:147px" %) |(% style="width:246px" %)+observationDimension|(% style="width:395px" %)Association to the Key Value that holds the value of the “Dimension at the Observation Level”.
367 |(% style="width:147px" %)//ObservationValue//|(% style="width:246px" %)(((
368 Abstract class
369 Sub classes
370 //UncodedObservationValue//
371 CodedObservation
372 )))|(% style="width:395px" %)
373 |(% style="width:147px" %)//UncodedObservatio nValue//|(% style="width:246px" %)(((
374 Abstract class
375 Inherits from
376 //ObservationValue//
377 Sub classes
378 OtherUncodedMeasureValue
379 TextMeasureValue
380 )))|(% style="width:395px" %)
381 |(% style="width:147px" %)OtherUncodedMeasu reValue|(% style="width:246px" %)(((
382 Inherits from
383
384 //UncodedObservationValue//
385 )))|(% style="width:395px" %)An observation that has a text value.
386 |(% style="width:147px" %) |(% style="width:246px" %)value|(% style="width:395px" %)The value of the Uncoded Observation.
387 |(% style="width:147px" %) |(% style="width:246px" %)startTime|(% style="width:395px" %)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).
388 |(% style="width:147px" %)TextMeasureValue|(% style="width:246px" %)(((
389 Inherits from
390 //UncodedObservationValue//
391 )))|(% style="width:395px" %)An observation that has a localised text value
392 |(% style="width:147px" %) |(% style="width:246px" %)text|(% style="width:395px" %)The localised text values.
393 |(% style="width:147px" %)CodedObservation|(% style="width:246px" %)(((
394 Inherits from
395 //ObservationValue//
396 )))|(% style="width:395px" %)An Observation that takes its value from a code in a Code list.
397 |(% style="width:147px" %) |(% style="width:246px" %)+valueOf|(% style="width:395px" %)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.
398 |(% style="width:147px" %)//AttributeValue//|(% style="width:246px" %)(((
399 Abstract class
400 Sub classes
401 //DataAttributeValue// //MetadataAttributeValue//
402 )))|(% style="width:395px" %)Represents the value for any Attribute reported in the Dataset, i.e., Data or Metadata Attribute.
403 |(% style="width:147px" %)//DataAttributeValue//|(% style="width:246px" %)(((
404 Abstract class
405 Inherits from
406 //AttributeValue//
407 Sub classes
408 //UncodedAttributeValue
409 CodedAttributeValue//
410 )))|(% style="width:395px" %)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.
411 |(% style="width:147px" %) |(% style="width:246px" %)+valueFor|(% style="width:395px" %)(((
412 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.
413 The source multiplicity (1..*) indicates the possibility to provide more than one values for a Data Attribute, if the latter allows it.
414 )))
415 |(% style="width:147px" %)//MetadataAttribute Value//|(% style="width:246px" %)(((
416 (explained further in section “Metadata Set”)
417 )))|(% style="width:395px" %)(((
418 The value of a Metadata Attribute, as specified in the Metadata Structure Definition, which is linked in the Data Structure
419
420 Definition
421 )))
422 |(% style="width:147px" %)//UncodedAttributeV alue//|(% style="width:246px" %)(((
423 Inherits from
424 //AttributeValue//
425 Sub classes
426 OtherUncodedAttribute Value
427 TextAttributeValue
428 )))|(% style="width:395px" %)
429 |(% style="width:147px" %)OtherUncodedAttri buteValue|(% style="width:246px" %)(((
430 Inherits from
431 //UncodedObservationValue//
432 )))|(% style="width:395px" %)An attribute value that has a text value
433 |(% style="width:147px" %) |(% style="width:246px" %)value|(% style="width:395px" %)The value of the Uncoded attribute.
434 |(% style="width:147px" %) |(% style="width:246px" %)startTime|(% style="width:395px" %)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).
435 |(% style="width:147px" %)TextAttributeValu e|(% style="width:246px" %)(((
436 Inherits from
437 //UncodedAttributeValue//
438 )))|(% style="width:395px" %)An attribute that has a localised text value
439 |(% style="width:147px" %) |(% style="width:246px" %)text|(% style="width:395px" %)The localised text values.
440 |(% style="width:147px" %)CodedAttributeVal ue|(% style="width:246px" %)(((
441 Inherits from
442 //AttributeValue//
443 )))|(% style="width:395px" %)An attribute that takes it value from a Code in Code list.
444 |(% style="width:147px" %) |(% style="width:246px" %)+valueOf|(% style="width:395px" %)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.
445
446