Last modified by Helena on 2025/09/10 11:19
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -11,7 +11,7 @@ 11 11 |(% style="width:188px" %)1.0|(% style="width:205px" %)October 2021|(% style="width:441px" %)Public release for SDMX 3.0 12 12 ))) 13 13 14 -= {{id name="_Toc93831"/}}1Introduction =14 += 1 Introduction = 15 15 16 16 The business vision for SDMX envisages the promotion of a “data sharing” model to facilitate low-cost, high-quality statistical data and metadata exchange. Data sharing reduces the reporting burden of organisations by allowing them to publish data once and let their counterparties “pull” data and related metadata as required. The scenario is based on: 17 17 ... ... @@ -33,12 +33,10 @@ 33 33 34 34 These architectural standards address the ‘how’, rather than the ‘what’, and are aimed at enabling existing SDMX standards to achieve their mission. The architectural standards address registry services, which initially comprise: 35 35 36 -• structural metadata repository 36 +* structural metadata repository 37 +* data and metadata registration 38 +* query 37 37 38 -• data and metadata registration 39 - 40 -• query 41 - 42 42 The registry services outlined in this specification are designed to help the SDMX community manage the proliferation of SDMX assets and to support data sharing for reporting and dissemination. 43 43 44 44 = {{id name="_Toc93832"/}}2 Scope and Normative Status = ... ... @@ -81,7 +81,8 @@ 81 81 82 82 [[image:SDMX 3-0-0 SECTION 5 FINAL-1.0_en_28806f51.jpg||height="539" width="443"]] 83 83 84 -====== Figure 1: Schematic of the Basic Structural Artefacts in the SDMX-IM ====== 82 +(% class="wikigeneratedid" id="HFigure1:SchematicoftheBasicStructuralArtefactsintheSDMX-IM" %) 83 +**Figure 1: Schematic of the Basic Structural Artefacts in the SDMX-IM** 85 85 86 86 Note that in Figure 1 (but also most of the relevant subsequent figures) terms that include both data and metadata have been used. For example: 87 87 ... ... @@ -108,7 +108,7 @@ 108 108 109 109 Notifying interested parties of newly published or re-published data, reference metadata or changes in structural metadata involves: 110 110 111 - •registry support of a subscription-based notification service which sends an email or notifies an HTTP address announcing all published data that meets the criteria contained in the subscription request.110 +* registry support of a subscription-based notification service which sends an email or notifies an HTTP address announcing all published data that meets the criteria contained in the subscription request. 112 112 113 113 == {{id name="_Toc93838"/}}3.5 Discovery == 114 114 ... ... @@ -167,9 +167,8 @@ 167 167 168 168 The registry interfaces are invoked in one of two ways: 169 169 170 -* 171 -*1. The interface is the name of the root node of the SDMX-ML document 172 -*1. The interface is invoked as a child element of the RegistryInterface message where the RegistryInterface is the root node of the SDMX-ML document. 169 +1. The interface is the name of the root node of the SDMX-ML document 170 +1. The interface is invoked as a child element of the RegistryInterface message where the RegistryInterface is the root node of the SDMX-ML document. 173 173 174 174 In addition to these interfaces the registry must support a mechanism for submitting and querying for structural metadata. This is detailed in sections 5.2.2 and 5.2.3. 175 175 ... ... @@ -245,23 +245,22 @@ 245 245 * that the components (Dimensions, Attributes, Measures, Metadata Attributes, etc.) are consistent with the Data Structure Definition or Metadata Structure Definition; 246 246 * that the valid representations of the concepts to which these components correspond conform to the definition in the Data Structure Definition or Metadata Structure Definition. The Registration has an action attribute which takes one of the following values: 247 247 248 -|**Action Attribute Value**|**Behaviour** 249 -|Append|Add this registration to the registry 250 -|Replace|Replace the existing Registration with this Registration identified by the id in the Registration of the Submit Registration Request 251 -|Delete|Delete the existing Registration identified by the id in the Registration of the Submit Registration Request 246 +(% style="width:755.294px" %) 247 +|(% style="width:187px" %)**Action Attribute Value**|(% style="width:566px" %)**Behaviour** 248 +|(% style="width:187px" %)Append|(% style="width:566px" %)Add this registration to the registry 249 +|(% style="width:187px" %)Replace|(% style="width:566px" %)Replace the existing Registration with this Registration identified by the id in the Registration of the Submit Registration Request 250 +|(% style="width:187px" %)Delete|(% style="width:566px" %)Delete the existing Registration identified by the id in the Registration of the Submit Registration Request 252 252 253 253 The Registration has three Boolean attributes which may be present to determine how an SDMX compliant dataset or metadataset indexing application must index the datasets or metadatasets upon registration. The indexing application behaviour is as follows: 254 254 255 -|**Boolean Attribute**|**Behaviour if Value is “true”** 256 -|indexTimeSeries|A compliant indexing application must index all the time series keys (for a Dataset registration) or metadata target values (for a Metadataset registration) 257 -|indexDataSet|((( 258 -A compliant indexing application must index the range of actual 259 - 260 -(present) values for each dimension of the Dataset (for a Dataset registration) or the range of actual (present) values for each Metadata Attribute which takes an enumerated value. 261 - 254 +(% style="width:759.294px" %) 255 +|(% style="width:191px" %)**Boolean Attribute**|(% style="width:565px" %)**Behaviour if Value is “true”** 256 +|(% style="width:191px" %)indexTimeSeries|(% style="width:565px" %)A compliant indexing application must index all the time series keys (for a Dataset registration) or metadata target values (for a Metadataset registration) 257 +|(% style="width:191px" %)indexDataSet|(% style="width:565px" %)((( 258 +A compliant indexing application must index the range of actual (present) values for each dimension of the Dataset (for a Dataset registration) or the range of actual (present) values for each Metadata Attribute which takes an enumerated value. 262 262 Note that for data this requires much less storage than full key indexing, but this method cannot guarantee that a specific combination of Dimension values (the Key) is actually present in the Dataset 263 263 ))) 264 -|indexReportingPeriod|A compliant indexing application must index the time period range(s) for which data are present in the Dataset. The validity period of the Metadatasets may also be indexed. 261 +|(% style="width:191px" %)indexReportingPeriod|(% style="width:565px" %)A compliant indexing application must index the time period range(s) for which data are present in the Dataset. The validity period of the Metadatasets may also be indexed. 265 265 266 266 === {{id name="_Toc93850"/}}5.2.5 Data and Reference Metadata Discovery === 267 267 ... ... @@ -295,8 +295,9 @@ 295 295 296 296 Given the above, the behaviour described in the following table concerns either draft Artefacts using semantic versioning or any Artefacts using the old versioning scheme. Nevertheless, in the case of semantic versioning the registry must respect the versioning rules when performing the actions below. For example, it is not possible to replace a non-draft Artefact that follows semantic versioning, unless a newer version is introduced according to the semantic versioning rules. Furthermore, even when draft Artefacts are submitted, the registry has to verify semantic versioning is respected against the previous non-draft versions. It is worth noting that the rules for semantic versioning and replacing or maintaining semantically versioned Artefacts applies to externally shared Artefacts. This means that any system may internally perform any change within a version of an Artefact, until the latter is shared outside of that system or becomes public. Then (as also explained in the SDMX Standards Section 6 “Technical Notes”) the Artefacts must adhere to the Semantic Versioning rules. 297 297 298 -|**Interface**|**Behaviour** 299 -|All|((( 295 +(% style="width:757.294px" %) 296 +|(% style="width:188px" %)**Interface**|(% style="width:542px" %)**Behaviour** 297 +|(% style="width:188px" %)All|(% style="width:542px" %)((( 300 300 1. If the action is set to “replace” (or a maintainable Artefact is PUT or POSTed) then the entire contents of the existing maintainable object in the Registry MUST be replaced by the object submitted. 301 301 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. 302 302 1. If the action is set to “delete” (or a maintainable Artefact is DELETEd) then the Registry MUST verify that the object can be deleted. In order to qualify for deletion, the object must: ... ... @@ -303,14 +303,14 @@ 303 303 304 304 a) Be a draft version. 305 305 ))) 306 -|**Interface**|**Behaviour** 307 -| |((( 308 -b) Not be explicitly ^^[[(%class="wikiinternallinkwikiinternallink"%)^^1^^>>path:#sdfootnote1sym||name="sdfootnote1anc"]](%%)^^referenced from any other object in the Registry.304 +|(% style="width:188px" %)**Interface**|(% style="width:542px" %)**Behaviour** 305 +|(% style="width:188px" %) |(% style="width:542px" %)((( 306 +b) Not be explicitly{{footnote}}With semantic versioning, it is allowed to reference a range of artefacts, e.g., a DSD referencing a Codelist with version 1.2.3+ means all patch versions greater than 1.2.3. This means that deleting 1.2.4-draft does not break integrity of the aforementioned DSD.{{/footnote}} referenced from any other object in the Registry. 309 309 310 310 4) The semantic versioning rules in the SDMX documentation MUST be obeyed. 311 311 ))) 312 -|Structure submission|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. 313 -|SubmitRegistrationRequest|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. For a queryable datasource the Registry MAY validate that the source exists and can accept an SDMX data query. 310 +|(% style="width:188px" %)Structure submission|(% style="width:542px" %)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. 311 +|(% style="width:188px" %)SubmitRegistrationRequest|(% style="width:542px" %)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. For a queryable datasource the Registry MAY validate that the source exists and can accept an SDMX data query. 314 314 315 315 = {{id name="_Toc93853"/}}6 Identification of SDMX Objects = 316 316 ... ... @@ -340,27 +340,28 @@ 340 340 : 341 341 342 342 ((( 343 -|**Object Type**|**Data Attributes**|**Status**|**Data type**|**Notes** 344 -|(% rowspan="4" %)//Annotable//|AnnotationTitle|C|string| 345 -|AnnotationType|C|string| 346 -|AnnotationURN|C|string| 347 -|AnnotationText in the form of InternationalString|C| |This can have languagespecific variants 348 -|(% rowspan="4" %)//Identifiable//|All content as for //Annotable// plus| | | 349 -|id|M|string| 350 -|uri|C|string| 351 -|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. 352 -|(% rowspan="3" %)//Nameable//|All content as for //Identifiable// plus| | | 353 -|Name in the form of InternationalString|M|string|This can have language specific variants. 354 -|Description in the form of InternationalString|C|string|This can have language specific variants. 355 -|(% rowspan="4" %)//Versionable//|All content as for //Identifiable// plus| | | 356 -|version|M|string|This is the version number according to SDMX versioning rules. 357 -|validFrom|C|Date/time| 358 -|validTo|C|Date/time| 359 -|//Maintainable//|All content as for //Versionable// plus| | | 360 -| |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 structureURL, each of which must return a valid SDMX-ML file. 361 -| |serviceURL|C|string|The url of the service that can be queried for this resource. 362 -| |structureURL|C|string|The url of the resource. 363 -| |(Maintenance) organisationId|M|string|The object must be linked to a maintenance organisation, i.e., Agency or Metadata Provider. 341 +(% style="width:1052.29px" %) 342 +|**Object Type**|(% style="width:241px" %)**Data Attributes**|(% style="width:156px" %)**Status**|**Data type**|(% style="width:457px" %)**Notes** 343 +|(% rowspan="4" %)//Annotable//|(% style="width:241px" %)AnnotationTitle|(% style="width:156px" %)C|string|(% style="width:457px" %) 344 +|(% style="width:241px" %)AnnotationType|(% style="width:156px" %)C|string|(% style="width:457px" %) 345 +|(% style="width:241px" %)AnnotationURN|(% style="width:156px" %)C|string|(% style="width:457px" %) 346 +|(% style="width:241px" %)AnnotationText in the form of InternationalString|(% style="width:156px" %)C| |(% style="width:457px" %)This can have languagespecific variants 347 +|(% rowspan="4" %)//Identifiable//|(% style="width:241px" %)All content as for //Annotable// plus|(% style="width:156px" %) | |(% style="width:457px" %) 348 +|(% style="width:241px" %)id|(% style="width:156px" %)M|string|(% style="width:457px" %) 349 +|(% style="width:241px" %)uri|(% style="width:156px" %)C|string|(% style="width:457px" %) 350 +|(% style="width:241px" %)urn|(% style="width:156px" %)C|string|(% style="width:457px" %)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. 351 +|(% rowspan="3" %)//Nameable//|(% style="width:241px" %)All content as for //Identifiable// plus|(% style="width:156px" %) | |(% style="width:457px" %) 352 +|(% style="width:241px" %)Name in the form of InternationalString|(% style="width:156px" %)M|string|(% style="width:457px" %)This can have language specific variants. 353 +|(% style="width:241px" %)Description in the form of InternationalString|(% style="width:156px" %)C|string|(% style="width:457px" %)This can have language specific variants. 354 +|(% rowspan="4" %)//Versionable//|(% style="width:241px" %)All content as for //Identifiable// plus|(% style="width:156px" %) | |(% style="width:457px" %) 355 +|(% style="width:241px" %)version|(% style="width:156px" %)M|string|(% style="width:457px" %)This is the version number according to SDMX versioning rules. 356 +|(% style="width:241px" %)validFrom|(% style="width:156px" %)C|Date/time|(% style="width:457px" %) 357 +|(% style="width:241px" %)validTo|(% style="width:156px" %)C|Date/time|(% style="width:457px" %) 358 +|//Maintainable//|(% style="width:241px" %)All content as for //Versionable// plus|(% style="width:156px" %) | |(% style="width:457px" %) 359 +| |(% style="width:241px" %)isExternalReference|(% style="width:156px" %)C|boolean|(% style="width:457px" %)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 structureURL, each of which must return a valid SDMX-ML file. 360 +| |(% style="width:241px" %)serviceURL|(% style="width:156px" %)C|string|(% style="width:457px" %)The url of the service that can be queried for this resource. 361 +| |(% style="width:241px" %)structureURL|(% style="width:156px" %)C|string|(% style="width:457px" %)The url of the resource. 362 +| |(% style="width:241px" %)(Maintenance) organisationId|(% style="width:156px" %)M|string|(% style="width:457px" %)The object must be linked to a maintenance organisation, i.e., Agency or Metadata Provider. 364 364 ))) 365 365 366 366 **Table 1: Common Attributes of Object Types** ... ... @@ -441,13 +441,13 @@ 441 441 442 442 Following the same principles, the Metadata Provider is the maintenance organisation for a special subset of Maintainable Artefacts, i.e., the Metadatasets; the latter are the containers of reference metadata combined with a target that those metadata refer to. 443 443 444 -=== =={{id name="_Toc93858"/}}6.2.2 Universal Resource Name (URN) =====443 +=== {{id name="_Toc93858"/}}6.2.2 Universal Resource Name (URN) === 445 445 446 - **6.2.2.1 Introduction**445 +==== 6.2.2.1 Introduction ==== 447 447 448 448 To provide interoperability between SDMX Registry/Repositories in a distributed network environment, it is important to have a scheme for uniquely identifying (and thus accessing) all first-class (Identifiable) SDMX-IM objects. Most of these unique identifiers are composite (containing maintenance agency, or parent object identifiers), and there is a need to be able to construct a unique reference as a single string. This is achieved by having a globally unique identifier called a universal resource name (URN) which is generated from the actual identification components in the SDMX-RR APIs. In other words, the URN for any Identifiable Artefact is constructed from its component identifiers (agency, id, version etc.). 449 449 450 - **6.2.2.2 URN Structure //__Case Rules for URN__//**// //449 +==== 6.2.2.2 URN Structure //__Case Rules for URN__ // ==== 451 451 452 452 For the URN, all parts of the string are case sensitive. The generic structure of the URN is as follows: 453 453 ... ... @@ -625,7 +625,7 @@ 625 625 urn:sdmx.org.sdmx.infomodel.{package}.{classname}= 626 626 627 627 |**Classname**|**Ending URN pattern**|**Example** 628 -|Agency^^[[(% class="wikiinternallink wikiinternallink" %)^^2^^>>path:#sdfootnote2sym||name="sdfootnote2anc"]](%%)^^|agencySchemeAgencyId:**AGENCIES**(**1.0**).agencyId|ECB:**AGENCIES**(**1.0**).AA 627 +|Agency^^[[(% class="wikiinternallink wikiinternallink wikiinternallink" %)^^2^^>>path:#sdfootnote2sym||name="sdfootnote2anc"]](%%)^^|agencySchemeAgencyId:**AGENCIES**(**1.0**).agencyId|ECB:**AGENCIES**(**1.0**).AA 629 629 |//AgencyScheme//|agencySchemeAgencyId:**AGENCIES**(**1.0**)|ECB:**AGENCIES**(**1.0**) 630 630 |//Categorisation//|categorisationAgencyId:categorisationId(version)|IMF:cat001(1.0.0) 631 631 |Category|categorySchemeAgencyId:categorySchemeId(versi on).categoryId.categoryId.categoryId etc.|IMF:SDDS(1.0.0):level_1_category.level_2_category … ... ... @@ -842,7 +842,7 @@ 842 842 843 843 • All types of Item Scheme (Codelist, Concept Scheme, Category Scheme, Organisation Scheme, Agency Scheme, Data Provider Scheme, Metadata Provider Scheme, Data Consumer Scheme, Organisation Unit Scheme, Transformation Scheme, Name Personalisation Scheme, Custom Type Scheme, Vtl Mapping Scheme, Ruleset Scheme, User Defined Operator Scheme) 844 844 845 -• All types of Enumerated List (ValueList)^^[[(% class="wikiinternallink wikiinternallink" %)^^3^^>>path:#sdfootnote3sym||name="sdfootnote3anc"]](%%)^^ 844 +• All types of Enumerated List (ValueList)^^[[(% class="wikiinternallink wikiinternallink wikiinternallink" %)^^3^^>>path:#sdfootnote3sym||name="sdfootnote3anc"]](%%)^^ 846 846 847 847 • All types of Structure (Data Structure Definition, Metadata Structure Definition) 848 848 ... ... @@ -1187,3 +1187,5 @@ 1187 1187 IMF.SubAgency1 1188 1188 1189 1189 [[3>>path:#sdfootnote3anc||name="sdfootnote3sym"]] Note that Codelist is also an EnumeratedList. 1189 + 1190 +{{putFootnotes/}}