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

From version 1.1
edited by Helena
on 2025/05/21 13:44
Change comment: There is no comment for this version
To version 2.5
edited by Helena
on 2025/05/21 14:21
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -192,10 +192,8 @@
192 192  
193 193  In addition to these interfaces the registry must support a mechanism for querying for structural metadata. This is detailed in 5.2.2.
194 194  
195 -All these interactions with the Registry – with the exception of Notify Registry Event – are designed in pairs. The first document – the one which invokes the SDMX-RR interface, is a “Request” document. The message returned by the interface is a
195 +All these interactions with the Registry – with the exception of Notify Registry Event – are designed in pairs. The first document – the one which invokes the SDMX-RR interface, is a “Request” document. The message returned by the interface is a “Response” document.
196 196  
197 -“Response” document.
198 -
199 199  It should be noted that all interactions are assumed to be synchronous, with the exception of Notify Registry Event. This document is sent by the SDMX-RR to all subscribers whenever an even occurs to which any users have subscribed. Thus, it does not conform to the request-response pattern, because it is inherently asynchronous.
200 200  
201 201  == 5.2 Registry Services ==
... ... @@ -294,15 +294,13 @@
294 294  
295 295  3The Registration has an action attribute which takes one of the following values:
296 296  
297 -|(((
298 -**Action**
295 +|(% style="width:249px" %)(((
296 +**Action Attribute Value**
297 +)))|(% style="width:1622px" %)**Behaviour**
298 +|(% style="width:249px" %)Append|(% style="width:1622px" %)Add this registration to the registry
299 +|(% style="width:249px" %)Replace|(% style="width:1622px" %)Replace the existing Registration with this Registration identified by the id in the Registration of the Submit Registration Request
300 +|(% style="width:249px" %)Delete|(% style="width:1622px" %)Delete the existing Registration identified by the id in the Registration of the Submit Registration Request
299 299  
300 -**Attribute Value**
301 -)))|**Behaviour**
302 -|Append|Add this registration to the registry
303 -|Replace|Replace the existing Registration with this Registration identified by the id in the Registration of the Submit Registration Request
304 -|Delete|Delete the existing Registration identified by the id in the Registration of the Submit Registration Request
305 -
306 306  The Registration has three Boolean attributes which may be present to determine how an SDMX compliant Dataset or Metadata Set indexing application must index the Datasets or Metadata Set upon registration. The indexing application behaviour is as follows:
307 307  
308 308  |**Boolean Attribute**|**Behaviour if Value is “true”**
... ... @@ -318,10 +318,9 @@
318 318  
319 319  The Data and Metadata Discovery Service implements the following Registry Interfaces:
320 320  
321 - QueryRegistrationRequest
317 +* QueryRegistrationRequest
318 +* QueryRegistrationResponse
322 322  
323 - QueryRegistrationResponse
324 -
325 325  === 5.2.6 Subscription and Notification ===
326 326  
327 327  The Subscription and Notification Service implements the following Registry Interfaces:
... ... @@ -345,13 +345,12 @@
345 345  
346 346  The following table defines the behaviour of the SDMX Registry for the various Registry Interface messages.
347 347  
348 -|**Interface**|**Behaviour**
349 -|All|(((
343 +|(% style="width:244px" %)**Interface**|**Behaviour**
344 +|(% style="width:244px" %)All|(((
350 350  1) If the action is set to “replace” then the entire contents of the existing maintainable object in the Registry MUST be replaced by the object submitted, unless the final attribute is set to “true” in which case the only changes that are allowed are to the following constructs:
351 351  
352 352  * Name – this applies to the Maintainable object and its contained elements, such a Code in a Code list.
353 353  * Description - this applies to the Maintainable object and its contained elements, such a Code in a Code list.
354 -
355 355  * Annotation - this applies to the Maintainable object and its contained elements, such a Code in a Code list.
356 356  * validTo
357 357  * validFrom
... ... @@ -360,26 +360,24 @@
360 360  * uri
361 361  * isExternalReference
362 362  
363 -1. Cross referenced structures MUST exist in either the submitted document (in Structures or Structure Location) or in the registry to which the request is submitted.
364 -1. If the action is set to “delete” then the Registry MUST verify that the object can deleted. In order to qualify for deletion the object must:
357 +2) Cross referenced structures MUST exist in either the submitted document (in Structures or Structure Location) or in the registry to which the request is submitted.
365 365  
366 -1. Not have the final attribute set to “true”
367 -1. Not be referenced from any other object in the Registry.
359 +3) If the action is set to “delete” then the Registry MUST verify that the object can deleted. In order to qualify for deletion the object must:
368 368  
369 -1. The version rules in the SDMX Schema documentation MUST be obeyed.
361 +а) Not have the final attribute set to “true”
362 +b) Not be referenced from any other object in the Registry.
370 370  
371 -* The specific rules for the elements and attributes documented in the SDMX Schema MUST be obeyed.
364 +4) The version rules in the SDMX Schema documentation MUST be obeyed.
365 +
366 +5) The specific rules for the elements and attributes documented in the SDMX Schema MUST be obeyed.
372 372  )))
373 -|SubmitStructureRequest|Structures are submitted at the level of the Maintainable Artefact and the behaviour in “All” above is therefore at the level of the Maintainable Artefact.
374 -|SubmitProvisioningRequest|No additional behaviour.
375 -|Submit Registration Request|(((
368 +|(% style="width:244px" %)SubmitStructureRequest|Structures are submitted at the level of the Maintainable Artefact and the behaviour in “All” above is therefore at the level of the Maintainable Artefact.
369 +|(% style="width:244px" %)SubmitProvisioningRequest|No additional behaviour.
370 +|(% style="width:244px" %)Submit Registration Request|(((
376 376  If the datasource is a file (simple datasource) then the file MAY be retrieved and indexed according to the Boolean attributes set in the Registration.
377 -
378 378  For a queryable datasource the Registry MAY validate that the source exists and can accept an SDMX-ML data query.
379 379  )))
380 380  
381 -
382 -
383 383  = 6 Identification of SDMX Objects =
384 384  
385 385  == 6.1 Identification, Versioning, and Maintenance ==
... ... @@ -386,7 +386,6 @@
386 386  
387 387  All major classes of the SDMX Information model inherit from one of:
388 388  
389 -
390 390  * **IdentifiableArtefact** - this gives an object the ability to be uniquely identified (see following section on identification), to have a user-defined URI, and to have multi-lingual annotations.
391 391  * **NamableArtefact **- this has all of the features of IdentifiableArtefact plus the ability to have a multi-lingual name and description,
392 392  * **VersionableArtefact **– this has all of the above features plus a version number and a validity period.
... ... @@ -394,6 +394,8 @@
394 394  
395 395  === 6.1.1 Identification, Naming, Versioning, and Maintenance Model ===
396 396  
388 +[[image:1747824504225-229.png]]
389 +
397 397  **Figure 5: Class diagram of fundamental artefacts in the SDMX-IM**
398 398  
399 399  The table below shows the identification and related data attributes to be stored in a registry for objects that are one of:
... ... @@ -404,38 +404,34 @@
404 404  * Versionable
405 405  * Maintainable
406 406  
407 -|**Object Type**|**Data Attributes**|**Status**|**Data type**|**Notes**
408 -|Annotable|AnnotationTitle|C|string|
409 -| |AnnotationType|C|string|
410 -| |AnnotationURN|C|string|
411 -| |(((
412 -AnnotationText in the form of
400 +(% style="width:935.294px" %)
401 +|**Object Type**|(% style="width:244px" %)**Data Attributes**|(% style="width:99px" %)**Status**|**Data type**|(% style="width:389px" %)**Notes**
402 +|Annotable|(% style="width:244px" %)AnnotationTitle|(% style="width:99px" %)C|string|(% style="width:389px" %)
403 +| |(% style="width:244px" %)AnnotationType|(% style="width:99px" %)C|string|(% style="width:389px" %)
404 +| |(% style="width:244px" %)AnnotationURN|(% style="width:99px" %)C|string|(% style="width:389px" %)
405 +| |(% style="width:244px" %)(((
406 +AnnotationText in the form of International String
407 +)))|(% style="width:99px" %)C| |(% style="width:389px" %)This can have languagespecific variants.
408 +|Identifiable|(% style="width:244px" %)all content as for Annotable plus|(% style="width:99px" %) | |(% style="width:389px" %)
409 +| |(% style="width:244px" %)id|(% style="width:99px" %)M|string|(% style="width:389px" %)
410 +| |(% style="width:244px" %)uri|(% style="width:99px" %)C|string|(% style="width:389px" %)
411 +| |(% style="width:244px" %)urn|(% style="width:99px" %)C|string|(% style="width:389px" %)Although the urn is computable and therefore may not be submitted or stored physically, the Registry must return the urn for each object, and must be able to service a query on an object referenced solely by its urn.
412 +|Nameable|(% style="width:244px" %)all content as for Identifiable plus|(% style="width:99px" %) | |(% style="width:389px" %)
413 +| |(% style="width:244px" %)Name in the form of International String|(% style="width:99px" %)M|string|(% style="width:389px" %)This can have languagespecific variants.
414 +| |(% style="width:244px" %)(((
415 +Description in the form of International String
416 +)))|(% style="width:99px" %)C|string|(% style="width:389px" %)This can have languagespecific variants.
417 +|Versionable|(% style="width:244px" %)All content as for Identifiable plus|(% style="width:99px" %) | |(% style="width:389px" %)
418 +| |(% style="width:244px" %)version|(% style="width:99px" %)C|string|(% style="width:389px" %)This is the version number. If not present the default is 1.0
419 +| |(% style="width:244px" %)validFrom|(% style="width:99px" %)C|Date/time|(% style="width:389px" %)
420 +| |(% style="width:244px" %)validTo|(% style="width:99px" %)C|Date/time|(% style="width:389px" %)
421 +|Maintainable|(% style="width:244px" %)All content as for Versionable plus|(% style="width:99px" %) | |(% style="width:389px" %)
422 +| |(% style="width:244px" %)final|(% style="width:99px" %) |boolean|(% style="width:389px" %)Value of “true” indicates that this is a final specification and it cannot be changed except as a new version. Note that providing a “final’ object is not referenced from another object then it may be deleted.
423 +| |(% style="width:244px" %)isExternalReference|(% style="width:99px" %)C|boolean|(% style="width:389px" %)Value of “true” indicates that the actual resource is held outside of this registry. The actual reference is given in the registry URI or the structureURI, each of which must return a valid SDMX-ML file.
424 +| |(% style="width:244px" %)serviceURL|(% style="width:99px" %)C|string|(% style="width:389px" %)The url of the service that can be queried for this resource
425 +| |(% style="width:244px" %)structureURL|(% style="width:99px" %)C|string|(% style="width:389px" %)The url of the resource.
426 +| |(% style="width:244px" %)(Maintenance) agencyId|(% style="width:99px" %)M|string|(% style="width:389px" %)The object must be linked to a maintenance agency.
413 413  
414 -International String
415 -)))|C| |This can have languagespecific variants.
416 -| | | | |
417 -|Identifiable|all content as for Annotable plus| | |
418 -| |id|M|string|
419 -| |uri|C|string|
420 -| |urn|C|string|Although the urn is computable and therefore may not be submitted or stored physically, the Registry must return the urn for each object, and must be able to service a query on an object referenced solely by its urn.
421 -|Nameable|all content as for Identifiable plus| | |
422 -| |Name in the form of International String|M|string|This can have languagespecific variants.
423 -| |(((
424 -Description in the form of International
425 -
426 -String
427 -)))|C|string|This can have languagespecific variants.
428 -|Versionable|All content as for Identifiable plus| | |
429 -| |version|C|string|This is the version number. If not present the default is 1.0
430 -| |validFrom|C|Date/time|
431 -| |validTo|C|Date/time|
432 -|Maintainable|All content as for Versionable plus| | |
433 -| |final| |boolean|Value of “true” indicates that this is a final specification and it cannot be changed except as a new version. Note that providing a “final’ object is not referenced from another object then it may be deleted.
434 -| |isExternalReference|C|boolean|Value of “true” indicates that the actual resource is held outside of this registry. The actual reference is given in the registry URI or the structureURI, each of which must return a valid SDMX-ML file.
435 -| |serviceURL|C|string|The url of the service that can be queried for this resource
436 -| |structureURL|C|string|The url of the resource.
437 -| |(Maintenance) agencyId|M|string|The object must be linked to a maintenance agency.
438 -
439 439  **Table 1: Common Attributes of Object Types**
440 440  
441 441  == 6.2 Unique identification of SDMX objects ==
... ... @@ -480,11 +480,11 @@
480 480  
481 481  An example of this is shown in the XML snippet below.
482 482  
472 +[[image:1747824123013-196.jpeg||height="309" width="446"]]
483 483  
484 -[[image:1747824123013-196.jpeg]]
474 +(% class="wikigeneratedid" id="HFigure8:ExampleShowingUseofAgencyIdentifiers" %)
475 +**Figure 8: Example Showing Use of Agency Identifiers**
485 485  
486 -==== Figure 8: Example Showing Use of Agency Identifiers ====
487 -
488 488  Each of these maintenance agencies has an identical Code list with the Id CL_BOP. However, each is uniquely identified by means of the hierarchic agency structure.
489 489  
490 490  === 6.2.2 Universal Resource Name (URN) ===
... ... @@ -523,10 +523,8 @@
523 523  
524 524  **(maintainable-object-version)** is the version of the maintainable object and is enclosed in round brackets (). It will always be present.
525 525  
526 -**container-object-id** is the identifier of an intermediary object that contains the actual object which the URN is identifying. It is not mandatory as many actual objects do not have an intermediary container object. For instance, a Code is in a maintained object (Code List) and has no intermediary container object, whereas a Metadata Attribute has an intermediary container object (Report Structure) and may have an intermediary container object which is its parent Metadata Attribute. For this reason the container object id may repeat, with each repetition identifying the object at the next-lower level in its hierarchy. Note that if there is only a single containing object in the model then it is NOT included in the URN structure. This applies to Attribute Descriptor, Dimension Descriptor, and Measure Descriptor where there can be only one such object and this object has a fixed id. Therefore, whilst each of these has a
515 +**container-object-id** is the identifier of an intermediary object that contains the actual object which the URN is identifying. It is not mandatory as many actual objects do not have an intermediary container object. For instance, a Code is in a maintained object (Code List) and has no intermediary container object, whereas a Metadata Attribute has an intermediary container object (Report Structure) and may have an intermediary container object which is its parent Metadata Attribute. For this reason the container object id may repeat, with each repetition identifying the object at the next-lower level in its hierarchy. Note that if there is only a single containing object in the model then it is NOT included in the URN structure. This applies to Attribute Descriptor, Dimension Descriptor, and Measure Descriptor where there can be only one such object and this object has a fixed id. Therefore, whilst each of these has a URN, the id of the Attribute Descriptor, Dimension Descriptor, and Measure Descriptor is not included when the actual object is a Data Attribute or a Dimension/Measure Dimension/ Time Dimension, or a Measure.
527 527  
528 -URN, the id of the Attribute Descriptor, Dimension Descriptor, and Measure Descriptor is not included when the actual object is a Data Attribute or a Dimension/Measure Dimension/ Time Dimension, or a Measure.
529 -
530 530  Note that although a Code can have a parent Code and a Concept can have a parent Concept these are maintained in a flat structure and therefore do not have a container-object-id.
531 531  
532 532  For example the sequence is agency:DSDid(version).DimensionId and not agency:DSDid(version).DimensionDescriptorId.DimensionId.
... ... @@ -533,58 +533,57 @@
533 533  
534 534  **object-id** is the identifier of the actual object unless the actual object is a maintainable object. If present it is always the last id and is not followed by any other character.
535 535  
536 -===== //Generic Examples of the URN Structure// =====
523 +===== __**//Generic Examples of the URN Structure//**__ =====
537 537  
525 +__Actual object is a maintainable__
538 538  
539 -Actual object is a maintainable
527 +> SDMXPrefix.SDMX-IM package name.classname=agency id:maintained-object-id(version)
540 540  
541 -SDMXPrefix.SDMX-IM package name.classname=agency id:maintained-object-id(version)
529 +__Actual object is contained in a maintained object with no intermediate containing object__
542 542  
543 -Actual object is contained in a maintained object with no intermediate containing object
531 +> SDMXPrefix.SDMX-IM package name.classname=agency id:maintained-object-id(version).object-id
544 544  
545 -SDMXPrefix.SDMX-IM package name.classname=agency id:maintained-object-id(version).object-id
533 +__Actual object is contained in a maintained object with an intermediate containing object__
546 546  
547 -Actual object is contained in a maintained object with an intermediate containing object
535 +> SDMXPrefix.SDMX-IM package name.classname=agency
548 548  
549 -SDMXPrefix.SDMX-IM package name.classname=agency
550 -
551 551  id:maintained-object-id(version).contained-object-id.object-id
552 552  
553 -Actual object is contained in a maintained object with no intermediate containing object but the object type itself is hierarchical
539 +__Actual object is contained in a maintained object with no intermediate containing object but the object type itself is hierarchical__
554 554  
555 555  In this case the object id may not be unique in itself but only within the context of the hierarchy. In the general syntax of the URN all intermediary objects in the structure (with the exception, of course, of the maintained object) are shown as a contained object. An example here would be a Category in a Category Scheme. The Category is hierarchical and all intermediate Categories are shown as a contained object. The example below shows the generic structure for Category Scheme/Category/Category
556 556  
557 -SDMXPrefix.SDMX-IM package name.classname=agency id:maintained-object-id(version).contained-object-id.object-id
543 +> SDMXPrefix.SDMX-IM package name.classname=agency id:maintained-object-id(version).contained-object-id.object-id
558 558  
559 -Actual object is contained in a maintained object with an intermediate containing object and the object type itself is hierarchical
545 +__Actual object is contained in a maintained object with an intermediate containing object and the object type itself is hierarchical__
560 560  
561 561  In this case the generic syntax is the same as for the example above as the parent object is regarded as a containing object, even if it is of the same type. An example here is a Metadata Attribute where the contained objects are Report Structure (first contained object id) and Metadata Attribute (subsequent contained object Ids). The example below shows the generic structure for MSD/Report Structure/Metadata Attribute/Metadata Attribute
562 562  
563 -SDMXPrefix.SDMX-IM package name.classname=agency id:maintained-object-id(version).contained-object-id. contained-object-id contained-object-id.object-id
549 +> SDMXPrefix.SDMX-IM package name.classname=agency id:maintained-object-id(version).contained-object-id. contained-object-id contained-object-id.object-id
564 564  
565 -===== //Concrete Examples of the URN Structure// =====
551 +===== __**//Concrete Examples of the URN Structure//**__ =====
566 566  
567 567  The Data Structure Definition CRED_EXT_DEBT version 1.0 maintained by the top level Agency TFFS would have the URN:
568 568  
569 -urn:sdmx:org.sdmx.infomodel.datastructure.DataStucture=TFFS:CRED_EXT_ DEBT(1.0)
555 +> urn:sdmx:org.sdmx.infomodel.datastructure.DataStucture=TFFS:CRED_EXT_ DEBT(1.0)
570 570  
571 571  The URN for a code for Argentina maintained by ISO in the code list CL_3166A2 version 1.0 would be:
572 572  
573 -urn:sdmx:org.sdmx.infomodel.codelist.Code=ISO:CL_3166A2(1.0).AR
559 +> urn:sdmx:org.sdmx.infomodel.codelist.Code=ISO:CL_3166A2(1.0).AR
574 574  
575 575  The URN for a category (id of 1) which has parent category (id of 2) maintained by SDMX in the category scheme SUBJECT_MATTER_DOMAINS version 1.0 would be:
576 576  
577 -urn:sdmx:org.sdmx.infomodel.categoryscheme.Category=SDMX:SUBJE CT_MATTER_DOMAINS(1.0).1.2
563 +> urn:sdmx:org.sdmx.infomodel.categoryscheme.Category=SDMX:SUBJE CT_MATTER_DOMAINS(1.0).1.2
578 578  
579 579  The URN for a Metadata Attribute maintained by SDMX in the MSD CONTACT_METADATA version 1.0 in the Report Structure CONTACT_REPORT where the hierarchy of the Metadata Attribute is
580 580  
581 581  CONTACT_DETAILS/CONTACT_NAME would be:
582 582  
583 -urn:sdmx:org.sdmx.infomodel.metadatastructure.MetadataAttribut e=SDMX:CONTACT_METADATA(1.0).CONTACT_REPORT.CONTACT_DETAILS.CO NTACT_NAME
569 +> urn:sdmx:org.sdmx.infomodel.metadatastructure.MetadataAttribut e=SDMX:CONTACT_METADATA(1.0).CONTACT_REPORT.CONTACT_DETAILS.CO NTACT_NAME
584 584  
585 585  The TFFS defines ABC as a sub Agency of TFFS then the URN of a Dataflow maintained by ABC and identified as EXTERNAL_DEBT version 1.0 would be:
586 586  
587 -urn:sdmx:org.sdmx.infomodel.datastructure.Dataflow=TFFS.ABC:EX
573 +> urn:sdmx:org.sdmx.infomodel.datastructure.Dataflow=TFFS.ABC:EX
588 588  
589 589  TERNAL_DEBT(1.0)
590 590  
1747824504225-229.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.helena
Size
... ... @@ -1,0 +1,1 @@
1 +52.8 KB
Content