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

From version 2.1
edited by Helena
on 2025/05/23 01:18
Change comment: There is no comment for this version
To version 1.2
edited by Artur
on 2025/05/20 14:28
Change comment: Update document after refactoring.

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -xwiki:XWiki.helena
1 +xwiki:XWiki.arturkryazhev
Content
... ... @@ -12,6 +12,7 @@
12 12  
13 13  This scenario is the dissemination of data and related reference metadata using SDMX web services. It shows how the data, reference metadata, and structural metadata are used to build a web dissemination system.
14 14  
15 +(% style="text-align: center;" %)
15 15  [[image:image-20250318221512-1.jpeg||data-xwiki-image-style-alignment="center"]]
16 16  
17 17  (% style="text-align: center;" %)
... ... @@ -33,6 +33,7 @@
33 33  
34 34  The following structural metadata and provisioning metadata is used in the scenario.
35 35  
37 +(% style="text-align: center;" %)
36 36  [[image:image-20250318221512-2.jpeg||data-xwiki-image-style-alignment="center"]]
37 37  
38 38  (% style="text-align: center;" %)
... ... @@ -42,26 +42,22 @@
42 42  
43 43  For the reasons of clarity a sub set of the contents of the Code Lists and Concept Schemes are used in this example, and only a few of the DSD Attributes are used.
44 44  
45 -(% class="wikigeneratedid" id="HDimensions" %)
46 -**Dimensions**
47 +===== **Dimensions** =====
47 47  
48 48  (% style="text-align: center;" %)
49 49  [[image:image-20250318221512-3.jpeg]]** **
50 50  
51 -(% class="wikigeneratedid" id="HAttributes" %)
52 -**Attributes**
52 +===== **Attributes** =====
53 53  
54 54  (% style="text-align: center;" %)
55 55  [[image:image-20250318221512-4.jpeg]]** **
56 56  
57 -(% class="wikigeneratedid" id="HGroup" %)
58 -**Group**
57 +===== **Group** =====
59 59  
60 60  (% style="text-align: center;" %)
61 61  [[image:image-20250318221512-5.jpeg]]** **
62 62  
63 -(% class="wikigeneratedid" id="HPrimaryMeasure" %)
64 -**Primary Measure**
62 +===== **Primary Measure** =====
65 65  
66 66  (% style="text-align: center;" %)
67 67  [[image:image-20250318221512-6.jpeg]]** **
... ... @@ -70,6 +70,7 @@
70 70  
71 71  === 16.4.1 Create Data Base ===
72 72  
71 +(% style="text-align: center;" %)
73 73  [[image:image-20250318221512-7.jpeg||data-xwiki-image-style-alignment="center"]]
74 74  
75 75  (% style="text-align: center;" %)
... ... @@ -79,19 +79,18 @@
79 79  
80 80  ===== Dimensions =====
81 81  
81 +(% style="text-align: center;" %)
82 82  [[image:image-20250318221512-8.jpeg||data-xwiki-image-style-alignment="center"]]
83 83  
84 84  Note that for brevity only the XML of the FREQ and TIME_PERIOD are shown in full.
85 85  
86 -(% class="wikigeneratedid" id="HNotes" %)
87 -**Notes**
86 +===== **Notes** =====
88 88  
89 89  1. A Dimension can state its position in the key, but the actual sequence is defined by the sequence in the <DimensionList> i.e. the inferred sequence in the <DimensionList> takes precedence over the value of the position attribute.
90 90  1. This DSD is converted from version 2.0. The version 2.0 Concepts were standalone in the form  <Concept agencyID=”ECB” version=”1.0”/>
91 91  1. The standalone concept is not supported in 2.1 and any standalone concept is placed in a Concept Scheme with the Id “STANDALONE_CONCEPT_SCHEME” of the version corresponding to the version of the original standalone concept.
92 92  
93 -(% class="wikigeneratedid" id="HGroup-1" %)
94 -**Group**
92 +===== **Group** =====
95 95  
96 96  (% style="text-align: center;" %)
97 97  [[image:image-20250318221512-9.jpeg]]** **
... ... @@ -103,14 +103,15 @@
103 103  
104 104  ===== Attributes =====
105 105  
104 +(% style="text-align: center;" %)
106 106  [[image:image-20250318221512-10.jpeg||data-xwiki-image-style-alignment="center"]]
107 107  
107 +(% style="text-align: center;" %)
108 108  [[image:image-20250318221512-11.jpeg||data-xwiki-image-style-alignment="center"]]
109 109  
110 110  Note that for brevity only the XML of the DECIMALS (relationship to a group) COLLECTION (relationship to a set of Dimensions) and OBS_CONF (relationship to the Primary Measure) are shown in full.
111 111  
112 -(% class="wikigeneratedid" id="HNotes-1" %)
113 -**Notes**
112 +===== **Notes** =====
114 114  
115 115  1. The Attribute has a relationship to either a data set of one or more Dimensions as described in Chapter 4.
116 116  1. DECIMALS has a relationship to a Group with the Id of Group.
... ... @@ -117,23 +117,22 @@
117 117  1. COLLECTION has a relationship to a set of Dimensions – in this case this is, in reality, the series key as this has been converted from version 2.0. It is possible for an attribute to have a relationship with just one, a few, or all of the Dimensions.
118 118  1. OBS_CONF has a relationship with the Primary Measure.
119 119  
120 -(% class="wikigeneratedid" id="HMeasure" %)
121 -**Measure**
119 +===== **Measure** =====
122 122  
121 +(% style="text-align: center;" %)
123 123  [[image:image-20250318221512-12.jpeg||data-xwiki-image-style-alignment="center"]]
124 124  
125 125  A typical database schema that can be set up using this DSD is shown below.
126 126  
127 -(% class="wikigeneratedid" id="HSeriesKeyTable" %)
128 -**Series Key Table**
126 +===== **Series Key Table** =====
129 129  
128 +(% style="text-align: center;" %)
130 130  [[image:image-20250318221902-34.png||data-xwiki-image-style-alignment="center"]]
131 131  
132 132  (% style="text-align: center;" %)
133 133  **{{id name="image_50"/}}Figure 50: Relational Table Structure created from a DSD Dimensions and Related Attributes**
134 134  
135 -(% class="wikigeneratedid" id="HGroup201CGroup201DTable" %)
136 -**Group “Group” Table**
134 +===== **Group “Group” Table** =====
137 137  
138 138  (% style="text-align: center;" %)
139 139  [[image:image-20250318221512-13.jpeg]]** **
... ... @@ -141,9 +141,9 @@
141 141  (% style="text-align: center;" %)
142 142  **{{id name="image_51"/}}Figure 51: Relational Table Structure created from a DSD Group and Related Attributes**
143 143  
144 -(% class="wikigeneratedid" id="HObservation" %)
145 -**Observation**
142 +===== **Observation** =====
146 146  
144 +(% style="text-align: center;" %)
147 147  [[image:image-20250318221512-14.jpeg||data-xwiki-image-style-alignment="center"]]
148 148  
149 149  (% style="text-align: center;" %)
... ... @@ -151,6 +151,7 @@
151 151  
152 152  === 16.4.2 Load Database ===
153 153  
152 +(% style="text-align: center;" %)
154 154  [[image:image-20250318221512-15.jpeg||data-xwiki-image-style-alignment="center"]]
155 155  
156 156  (% style="text-align: center;" %)
... ... @@ -158,14 +158,15 @@
158 158  
159 159  The following is an extract from the SDMX dataset.
160 160  
160 +(% style="text-align: center;" %)
161 161  [[image:image-20250319123255-1.png||data-xwiki-image-style-alignment="center"]]
162 162  
163 +(% style="text-align: center;" %)
163 163  [[image:image-20250319123339-2.png||data-xwiki-image-style-alignment="center"]]
164 164  
165 165  Note that this is a sub set of the actual data message.
166 166  
167 -(% class="wikigeneratedid" id="HNotes-2" %)
168 -**Notes**
168 +===== **Notes** =====
169 169  
170 170  1. The reference to the DSD is given in the message header and given a local structureId
171 171  1. The local structureId (DSD) is referenced from the DataSet
... ... @@ -175,18 +175,17 @@
175 175  
176 176  The diagrams below show the database content based on the schema created.
177 177  
178 -(% class="wikigeneratedid" id="HSeriesKeyTable-1" %)
179 -**Series Key Table**
178 +===== **Series Key Table** =====
180 180  
180 +(% style="text-align: center;" %)
181 181  [[image:image-20250318221512-16.jpeg||data-xwiki-image-style-alignment="center"]]
182 182  
183 -(% class="wikigeneratedid" id="HGroupTable" %)
184 -**Group Table**
183 +===== **Group Table** =====
185 185  
185 +(% style="text-align: center;" %)
186 186  [[image:image-20250318221512-17.jpeg||data-xwiki-image-style-alignment="center"]]
187 187  
188 -(% class="wikigeneratedid" id="HObservationTable" %)
189 -**Observation Table**
188 +===== **Observation Table** =====
190 190  
191 191  (% style="text-align: center;" %)
192 192  [[image:image-20250318221512-18.jpeg]]** **
... ... @@ -197,6 +197,7 @@
197 197  
198 198  The following registration is submitted to the Registry.
199 199  
199 +(% style="text-align: center;" %)
200 200  [[image:image-20250318221512-19.jpeg||data-xwiki-image-style-alignment="center"]]
201 201  
202 202  The SDMX web service of the database can now be searched for in the Registry.
... ... @@ -203,6 +203,7 @@
203 203  
204 204  === 16.4.4 Retrieve and Visualise Category Scheme and Dataflows ===
205 205  
206 +(% style="text-align: center;" %)
206 206  [[image:image-20250318221512-20.jpeg||data-xwiki-image-style-alignment="center"]]
207 207  
208 208  (% style="text-align: center;" %)
... ... @@ -212,8 +212,10 @@
212 212  
213 213  [[http:~~/~~/ ~[ws-entry-point~]/categoryscheme/ECB/SDW_ECONOMIC_CONCEPTS/1.0?references=parents>>http:// [ws-entry-point]/categoryscheme/ECB/SDW_ECONOMIC_CONCEPTS/1.0?references=parents||rel="noopener noreferrer" target="_blank"]]
214 214  
216 +(% style="text-align: center;" %)
215 215  [[image:image-20250318221512-21.jpeg||data-xwiki-image-style-alignment="center"]]
216 216  
219 +(% style="text-align: center;" %)
217 217  [[image:image-20250318221512-22.jpeg||data-xwiki-image-style-alignment="center"]]
218 218  
219 219  The application will now retrieve the Dataflows in the list of Categorisations – in this case there is only one – effective exchange rates.
... ... @@ -222,6 +222,7 @@
222 222  
223 223  [[http:~~/~~/ ~[ws-entry-point~]/dataflow/ECB/2034482/1.0>>http:// [ws-entry-point]/dataflow/ECB/2034482/1.0||rel="noopener noreferrer" target="_blank"]]
224 224  
228 +(% style="text-align: center;" %)
225 225  [[image:image-20250318221512-23.jpeg||data-xwiki-image-style-alignment="center"]]
226 226  
227 227  The actual choreography of the query application is dependent upon the implementation but the following is assumed for this example.
... ... @@ -234,10 +234,10 @@
234 234  
235 235  [[http:~~/~~/~[ws-entry-point~]/dataflow/ECB/2034482/1.0?references=provisionagreement>>http://[ws-entry-point]/dataflow/ECB/2034482/1.0?references=provisionagreement||rel="noopener noreferrer" target="_blank"]]
236 236  
241 +(% style="text-align: center;" %)
237 237  [[image:image-20250318221512-24.jpeg||data-xwiki-image-style-alignment="center"]]
238 238  
239 -(% class="wikigeneratedid" id="HNotes-3" %)
240 -**Notes**
244 +===== **Notes** =====
241 241  
242 242  ~1. The <URN> contains the same identification information as the individual attributes in the <Ref> tag in the context of the <Dataflow> and <Structure> tags (the <Dataflow> identifies that the <Structure> is a DataStructure).
243 243  
... ... @@ -245,21 +245,23 @@
245 245  
246 246  [[http:~~/~~/~[ws-entry-point~]/dataprovider/ECB>>http://[ws-entry-point]/dataprovider/ECB||rel="noopener noreferrer" target="_blank"]]
247 247  
248 -(% class="wikigeneratedid" id="HNotes-4" %)
249 -**Notes**
252 +===== **Notes** =====
250 250  
251 251  ~1. As an Agency can have only one Data Provider Scheme and this has a mandatory Id of DATA_PROVIDER_SCHEME and must be version 1.0 there is no need to specify any other parameters to the REST query.
252 252  
253 253  This returns the following as part of the Data Provider Scheme.
254 254  
258 +(% style="text-align: center;" %)
255 255  [[image:image-20250318221512-25.jpeg||data-xwiki-image-style-alignment="center"]]
256 256  
257 257  The following Registry query will return the REST data source referenced in a Registration for the Provision Agreement
258 258  
263 +(% style="text-align: center;" %)
259 259  [[image:image-20250318221512-26.jpeg||data-xwiki-image-style-alignment="center"]]
260 260  
261 261  The response from this query is:
262 262  
268 +(% style="text-align: center;" %)
263 263  [[image:image-20250318221512-27.jpeg||data-xwiki-image-style-alignment="center"]]
264 264  
265 265  The query application now has the details of the web service to call when making a query, and it also knows that the query expected uses the REST interface.
... ... @@ -270,6 +270,7 @@
270 270  
271 271  The application can now visualize the information it has retrieved from the Registry in a way that is meaningful to the user. An example visualization is shown below.
272 272  
279 +(% style="text-align: center;" %)
273 273  [[image:image-20250318221512-28.jpeg||data-xwiki-image-style-alignment="center"]]
274 274  
275 275  (% style="text-align: center;" %)
... ... @@ -279,10 +279,12 @@
279 279  
280 280  === 16.4.5 Build Dimension Selection and Logical Query ===
281 281  
289 +(% style="text-align: center;" %)
282 282  [[image:image-20250318221512-29.jpeg||data-xwiki-image-style-alignment="center"]]
283 283  
284 284  Clicking on the Dataflow will cause the query application to query the Registry for the DSD associated to the Dataflow. The Dimensions and the relevant codes associated with the Dimensions are then shown for detailed data selections.
285 285  
294 +(% style="text-align: center;" %)
286 286  [[image:image-20250318221512-30.jpeg||data-xwiki-image-style-alignment="center"]]
287 287  
288 288  (% style="text-align: center;" %)
... ... @@ -292,12 +292,12 @@
292 292  
293 293  === 16.4.6 Query Database ===
294 294  
304 +(% style="text-align: center;" %)
295 295  [[image:image-20250318221512-31.jpeg||data-xwiki-image-style-alignment="center"]]
296 296  
297 297  The logical query of the user is converted to an SDMX query and sent to the Data Web Service of the data publisher. The Data Web Service may also query the Metadata Repository in order to return both data and related metadata to the user application. The Data Web Service may also require structural metadata (DSD and MSD and related Code Lists and Concepts) from the structural metadata repository, in this example this an SDMX Registry.
298 298  
299 -(% class="wikigeneratedid" id="HDataQueryLogicalSelections" %)
300 -**Data Query Logical Selections**
309 +===== **Data Query Logical Selections** =====
301 301  
302 302  (% style="width:551.446px" %)
303 303  |(% style="width:261px" %)**Dimension**|(% style="width:286px" %)**Values**
... ... @@ -308,17 +308,18 @@
308 308  |(% style="width:261px" %)EXR_SUFFIX|(% style="width:286px" %)A
309 309  |(% style="width:261px" %)Time|(% style="width:286px" %)Jan 2008-Dec 2010
310 310  
311 -(% class="wikigeneratedid" id="HRESTQuery" %)
312 -**REST Query**
320 +===== **REST Query** =====
313 313  
314 314  [[http:~~/~~/ws-entry-point/data/2034482/M.Z26+Z28.EUR+CZK+DKK.DFC0+EN00+A /ECB?startPeriod=2008-01&endPeriod=2010-12&detail=dataonly>>http://ws-entry-point/data/2034482/M.Z26+Z28.EUR+CZK+DKK.DFC0+EN00+A /ECB?startPeriod=2008-01&endPeriod=2010-12&detail=dataonly||rel="noopener noreferrer" target="_blank"]]
315 315  
316 316  === 16.4.7 Visualise the Resultant Data Set ===
317 317  
326 +(% style="text-align: center;" %)
318 318  [[image:image-20250318221512-32.jpeg||data-xwiki-image-style-alignment="center" height="310" width="346"]]
319 319  
320 320  The returned data and metadata can be presented to the user in many ways – tables, graphs, charts, maps etc. SDMX does not support visualization directly but it is possible to define roles for a Dimension and Attribute in the DSD. For instance, it is possible to assign a role of “Geography” or “Title” or “Measure Unit” etc. which will aid a data visualization service to present this information in a meaningful way to the user.
321 321  
331 +(% style="text-align: center;" %)
322 322  [[image:image-20250318221512-33.jpeg||data-xwiki-image-style-alignment="center"]]
323 323  
324 324  (% style="text-align: center;" %)