Last modified by Helena on 2025/09/10 11:19
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 1 removed)
-
Objects (0 modified, 0 added, 1 removed)
Details
- Page properties
-
- Tags
-
... ... @@ -1,1 +1,0 @@ 1 -Artefact|Attribute|Category scheme|Code list|Component|Data set|Data structure definition|Dataflow|Dimension|Maintenance agency|Measure|Metadata repository|Metadata set|Metadata structure definition|Metadataflow|Notification|Provision agreement|Reference metadata|SDMX Information Model|SDMX Registry|SDMX-JSON|SDMX-ML|Statistical data and metadata exchange|Structural metadata - Content
-
... ... @@ -2,8 +2,7 @@ 2 2 {{toc/}} 3 3 {{/box}} 4 4 5 -(% class="wikigeneratedid" id="HRevisionHistory" %) 6 -**Revision History** 5 += Revision History = 7 7 8 8 ((( 9 9 (% style="width:838.294px" %) ... ... @@ -14,69 +14,69 @@ 14 14 15 15 = 1 Introduction = 16 16 17 -The business vision for [[SDMX>>doc:xwiki:Glossary.Statisticaldata and metadata exchange.WebHome]] envisages the promotion of a “data sharing” model to facilitate low-cost, high-quality[[statistical data and metadata exchange>>doc:xwiki:Glossary.Statisticaldata and metadata exchange.WebHome]].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: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: 18 18 19 -* the availability of an abstract information model capable of supporting time series and cross-sectional data, [[structural metadata>>doc:xwiki:Glossary.Structural metadata.WebHome]], and[[reference metadata>>doc:xwiki:Glossary.Referencemetadata.WebHome]]([[SDMX-IM>>doc:xwiki:Glossary.SDMX Information Model.WebHome]])20 -* standardised XML and JSON schemas for the [[SDMX-ML>>doc:xwiki:Glossary.SDMX-ML.WebHome]]and[[SDMX-JSON>>doc:xwiki:Glossary.SDMX-JSON.WebHome]]formats derived from the model (XSD, JSON)18 +* the availability of an abstract information model capable of supporting time series and cross-sectional data, structural metadata, and reference metadata (SDMX-IM) 19 +* standardised XML and JSON schemas for the SDMX-ML and SDMX-JSON formats derived from the model (XSD, JSON) 21 21 * the use of web-services technology (XML, JSON, Open API) 22 22 23 -Such an architecture needs to be well organised, and the [[SDMX Registry>>doc:xwiki:Glossary.SDMX Registry.WebHome]]/Repository (SDMXRR) is tasked with providing structure, organisation, and maintenance and query interfaces for most of the[[SDMX>>doc:xwiki:Glossary.Statisticaldata and metadata exchange.WebHome]] [[components>>doc:xwiki:Glossary.Component.WebHome]]required to support the data sharing vision.22 +Such an architecture needs to be well organised, and the SDMX Registry/Repository (SDMXRR) is tasked with providing structure, organisation, and maintenance and query interfaces for most of the SDMX components required to support the data sharing vision. 24 24 25 -However, it is important to emphasise that the [[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]]-RR provides support for the submission and retrieval of all[[SDMX>>doc:xwiki:Glossary.Statisticaldata and metadata exchange.WebHome]] [[structural metadata>>doc:xwiki:Glossary.Structuralmetadata.WebHome]] and provisioning metadata. Therefore, the Registry not only supports the data-sharing scenario, but this metadata is also vital in order to provide support for data and metadata reporting/collection, and dissemination scenarios.24 +However, it is important to emphasise that the SDMX-RR provides support for the submission and retrieval of all SDMX structural metadata and provisioning metadata. Therefore, the Registry not only supports the data-sharing scenario, but this metadata is also vital in order to provide support for data and metadata reporting/collection, and dissemination scenarios. 26 26 27 -Standard formats for the exchange of aggregated statistical data and metadata as prescribed in [[SDMX>>doc:xwiki:Glossary.Statisticaldata and metadata exchange.WebHome]]v3.0 are envisaged to bring benefits to the statistical community because data reporting and dissemination processes can be made more efficient.26 +Standard formats for the exchange of aggregated statistical data and metadata as prescribed in SDMX v3.0 are envisaged to bring benefits to the statistical community because data reporting and dissemination processes can be made more efficient. 28 28 29 -As organisations migrate to [[SDMX>>doc:xwiki:Glossary.Statisticaldata and metadata exchange.WebHome]] enabled systems, many XML, JSON (and conventional)[[artefacts>>doc:xwiki:Glossary.Artefact.WebHome]]will be produced (e.g., Data Structure, Metadata Structure,[[Code List>>doc:xwiki:Glossary.Codelist.WebHome]]and(% style="color:#2ecc71" %)Concept(%%)definitions – often collectively called[[structural metadata>>doc:xwiki:Glossary.Structuralmetadata.WebHome]]– XML schemas generated from[[data structure definitions>>doc:xwiki:Glossary.Data structure definition.WebHome]], XSLT stylesheets for transformation and display of data and metadata, terminology references, etc.). The[[SDMX>>doc:xwiki:Glossary.Statisticaldata andmetadata exchange.WebHome]] model supports interoperability, and it is important to be able to discover and share these[[artefacts>>doc:xwiki:Glossary.Artefact.WebHome]]between parties in a controlled and organized way.28 +As organisations migrate to SDMX enabled systems, many XML, JSON (and conventional) artefacts will be produced (e.g., Data Structure, Metadata Structure, Code List and Concept definitions – often collectively called structural metadata – XML schemas generated from data structure definitions, XSLT stylesheets for transformation and display of data and metadata, terminology references, etc.). The SDMX model supports interoperability, and it is important to be able to discover and share these artefacts between parties in a controlled and organized way. 30 30 31 31 This is the role of the registry. 32 32 33 -With the fundamental [[SDMX>>doc:xwiki:Glossary.Statisticaldata and metadata exchange.WebHome]]standards in place, a set of architectural standards are needed to address some of the processes involved in[[statistical data and metadata exchange>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]], with an emphasis on maintenance, retrieval and sharing of the[[structural metadata>>doc:xwiki:Glossary.Structuralmetadata.WebHome]].In addition, the architectural standards support the registration and discovery of data and referential metadata.32 +With the fundamental SDMX standards in place, a set of architectural standards are needed to address some of the processes involved in statistical data and metadata exchange, with an emphasis on maintenance, retrieval and sharing of the structural metadata. In addition, the architectural standards support the registration and discovery of data and referential metadata. 34 34 35 -These architectural standards address the ‘how’, rather than the ‘what’, and are aimed at enabling existing [[SDMX>>doc:xwiki:Glossary.Statisticaldata and metadata exchange.WebHome]]standards to achieve their mission. The architectural standards address registry services, which initially comprise: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: 36 36 37 -* [[structural metadata>>doc:xwiki:Glossary.Structuralmetadata.WebHome]]repository36 +* structural metadata repository 38 38 * data and metadata registration 39 39 * query 40 40 41 -The registry services outlined in this specification are designed to help the [[SDMX>>doc:xwiki:Glossary.Statisticaldata and metadata exchange.WebHome]] community manage the proliferation of[[SDMX>>doc:xwiki:Glossary.Statisticaldata and metadata exchange.WebHome]] assets and to support data sharing for reporting and dissemination.40 +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. 42 42 43 43 = {{id name="_Toc93832"/}}2 Scope and Normative Status = 44 44 45 -The scope of this document is to specify the logical interfaces for the [[SDMX registry>>doc:xwiki:Glossary.SDMXRegistry.WebHome]] in terms of the functions required and the data that may be present in the function call, and the behaviour expected of the registry.44 +The scope of this document is to specify the logical interfaces for the SDMX registry in terms of the functions required and the data that may be present in the function call, and the behaviour expected of the registry. 46 46 47 47 In this document, functions and behaviours of the Registry Interfaces are described in four ways: 48 48 49 49 * in text 50 50 * with tables 51 -* with UML diagrams excerpted from the [[SDMX Information Model>>doc:xwiki:Glossary.SDMXInformation Model.WebHome]]([[SDMX-IM>>doc:xwiki:Glossary.SDMX Information Model.WebHome]])52 -* with UML diagrams that are not a part of the [[SDMX-IM>>doc:xwiki:Glossary.SDMXInformation Model.WebHome]] but are included here for clarity and to aid implementations (these diagrams are clearly marked as “Logical Class Diagram ...”)50 +* with UML diagrams excerpted from the SDMX Information Model (SDMX-IM) 51 +* with UML diagrams that are not a part of the SDMX-IM but are included here for clarity and to aid implementations (these diagrams are clearly marked as “Logical Class Diagram ...”) 53 53 54 54 Whilst the introductory section contains some information on the role of the registry, it is assumed that the reader is familiar with the uses of a registry in providing shared metadata across a community of counterparties. 55 55 56 -Note that chapters 5 and 6 below contain normative rules regarding the Registry Interface and the identification of registry objects. Further, the minimum standard for access to the registry is via a REST interface (HTTP or HTTPS), as described in the appropriate sections. The [[notification>>doc:xwiki:Glossary.Notification.WebHome]]mechanism must support e-mail and HTTP/HTTPS protocols as described. Normative registry interfaces are specified in the[[SDMX-ML>>doc:xwiki:Glossary.SDMX-ML.WebHome]]specification (Section 3 of the[[SDMX>>doc:xwiki:Glossary.Statisticaldata and metadata exchange.WebHome]]Standard). All other sections of this document are informative.55 +Note that chapters 5 and 6 below contain normative rules regarding the Registry Interface and the identification of registry objects. Further, the minimum standard for access to the registry is via a REST interface (HTTP or HTTPS), as described in the appropriate sections. The notification mechanism must support e-mail and HTTP/HTTPS protocols as described. Normative registry interfaces are specified in the SDMX-ML specification (Section 3 of the SDMX Standard). All other sections of this document are informative. 57 57 58 -Note that although the term “authorised user” is used in this document, the [[SDMX>>doc:xwiki:Glossary.Statisticaldata and metadata exchange.WebHome]]standards do not define an access control mechanism. Such a mechanism, if required, must be chosen and implemented by the registry software provider.57 +Note that although the term “authorised user” is used in this document, the SDMX standards do not define an access control mechanism. Such a mechanism, if required, must be chosen and implemented by the registry software provider. 59 59 60 60 = {{id name="_Toc93833"/}}3 Scope of the SDMX Registry/Repository = 61 61 62 62 == {{id name="_Toc93834"/}}3.1 Objective == 63 63 64 -The objective of the [[SDMX registry>>doc:xwiki:Glossary.SDMX Registry.WebHome]]/repository is, in broad terms, to allow organisations to publish statistical data and[[reference metadata>>doc:xwiki:Glossary.Referencemetadata.WebHome]]in known formats such that interested third parties can discover these data and interpret them accurately and correctly. The mechanism for doing this is twofold:63 +The objective of the SDMX registry/repository is, in broad terms, to allow organisations to publish statistical data and reference metadata in known formats such that interested third parties can discover these data and interpret them accurately and correctly. The mechanism for doing this is twofold: 65 65 66 -1. To maintain and publish [[structural metadata>>doc:xwiki:Glossary.Structuralmetadata.WebHome]] that describes the structure and valid content of data and[[reference metadata>>doc:xwiki:Glossary.Referencemetadata.WebHome]]sources such as databases,[[metadata repositories>>doc:xwiki:Glossary.Metadata repository.WebHome]],[[data sets>>doc:xwiki:Glossary.Data set.WebHome]],[[metadata sets>>doc:xwiki:Glossary.Metadataset.WebHome]].This[[structural metadata>>doc:xwiki:Glossary.Structuralmetadata.WebHome]] enables software applications to understand and to interpret the data and[[reference metadata>>doc:xwiki:Glossary.Referencemetadata.WebHome]]in these sources.67 -1. To enable applications, organisations, and individuals to share and to discover data and [[reference metadata>>doc:xwiki:Glossary.Referencemetadata.WebHome]].This facilitates data and[[reference metadata>>doc:xwiki:Glossary.Referencemetadata.WebHome]] dissemination by implementing the data sharing vision of[[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]].65 +1. To maintain and publish structural metadata that describes the structure and valid content of data and reference metadata sources such as databases, metadata repositories, data sets, metadata sets. This structural metadata enables software applications to understand and to interpret the data and reference metadata in these sources. 66 +1. To enable applications, organisations, and individuals to share and to discover data and reference metadata. This facilitates data and reference metadata dissemination by implementing the data sharing vision of SDMX. 68 68 69 69 == {{id name="_Toc93835"/}}3.2 Structural Metadata == 70 70 71 -Setting up [[structural metadata>>doc:xwiki:Glossary.Structuralmetadata.WebHome]] and the exchange context (referred to as “data provisioning”) involves the following steps for[[maintenance agencies>>doc:xwiki:Glossary.Maintenance agency.WebHome]]:70 +Setting up structural metadata and the exchange context (referred to as “data provisioning”) involves the following steps for maintenance agencies: 72 72 73 -* agreeing and creating a specification of the structure of the data (called a [[Data Structure Definition>>doc:xwiki:Glossary.Datastructure definition.WebHome]] or[[DSD>>doc:xwiki:Glossary.Datastructure definition.WebHome]]inthis document but also known as “key family”), which defines the[[dimensions>>doc:xwiki:Glossary.Dimension.WebHome]],[[measures>>doc:xwiki:Glossary.Measure.WebHome]]and[[attributes>>doc:xwiki:Glossary.Attribute.WebHome]]of a[[dataset>>doc:xwiki:Glossary.Dataset.WebHome]]and their valid value set;74 -* if required, defining a subset or view of a [[DSD>>doc:xwiki:Glossary.Datastructure definition.WebHome]]which allows some restriction of content called a “[[dataflow>>doc:xwiki:Glossary.Dataflow.WebHome]]definition”;75 -* agreeing and creating a specification of the structure of [[reference metadata>>doc:xwiki:Glossary.Referencemetadata.WebHome]]([[Metadata Structure Definition>>doc:xwiki:Glossary.Metadata structure definition.WebHome]]) which defines the metadata[[attributes>>doc:xwiki:Glossary.Attribute.WebHome]]and their presentational arrangement in a Metadataset or as part of a[[Dataset>>doc:xwiki:Glossary.Data set.WebHome]], and their valid values and content;76 -* if required, defining a subset or view of an [[MSD>>doc:xwiki:Glossary.Metadatastructure definition.WebHome]]which allows some restriction of content called a “[[metadataflow>>doc:xwiki:Glossary.Metadataflow.WebHome]]”;77 -* defining which subject matter domains (specified as a [[Category Scheme>>doc:xwiki:Glossary.Category scheme.WebHome]]) are related to the[[Dataflow>>doc:xwiki:Glossary.Dataflow.WebHome]]and[[Metadataflow>>doc:xwiki:Glossary.Metadataflow.WebHome]]to enable browsing;72 +* agreeing and creating a specification of the structure of the data (called a Data Structure Definition or DSD in this document but also known as “key family”), which defines the dimensions, measures and attributes of a dataset and their valid value set; 73 +* if required, defining a subset or view of a DSD which allows some restriction of content called a “dataflow definition”; 74 +* agreeing and creating a specification of the structure of reference metadata (Metadata Structure Definition) which defines the metadata attributes and their presentational arrangement in a Metadataset or as part of a Dataset, and their valid values and content; 75 +* if required, defining a subset or view of an MSD which allows some restriction of content called a “metadataflow”; 76 +* defining which subject matter domains (specified as a Category Scheme) are related to the Dataflow and Metadataflow to enable browsing; 78 78 * defining one or more lists of Data and Metadata Providers; 79 -* defining which Data/Metadata Providers have agreed to publish a given [[Dataflow>>doc:xwiki:Glossary.Dataflow.WebHome]]/[[Metadataflow>>doc:xwiki:Glossary.Metadataflow.WebHome]]– this is called a[[Provision Agreement>>doc:xwiki:Glossary.Provisionagreement.WebHome]] or Metadata[[Provision Agreement>>doc:xwiki:Glossary.Provision agreement.WebHome]], respectively.78 +* defining which Data/Metadata Providers have agreed to publish a given Dataflow/Metadataflow – this is called a Provision Agreement or Metadata Provision Agreement, respectively. 80 80 81 81 [[image:SDMX 3-0-0 SECTION 5 FINAL-1.0_en_28806f51.jpg||height="539" width="443"]] 82 82 ... ... @@ -184,11 +184,11 @@ 184 184 185 185 === {{id name="_Toc93847"/}}5.2.2 Structure Submission Service === 186 186 187 -The registry must support a mechanism for submitting structural metadata. This mechanism can be the SDMX REST interface for structural metadata (this is defined in the corresponding GitHub project, dedicated to the SDMX REST API: [[__https:~~/~~/github.com/sdmx-twg/sdmx-rest__>>https://https:github.comsdmx-twgsdmx-rest]]). In order for the architecture to be scalable, the finest-grained piece of structural metadata that can be processed by the SDMX-RR is a MaintainableArtefact, with the exception of Item Schemes, where changes at an Item level is also possible (see next section on the SDMX Information Model).186 +The registry must support a mechanism for submitting structural metadata. This mechanism can be the SDMX REST interface for structural metadata (this is defined in the corresponding GitHub project, dedicated to the SDMX REST API: __[[https:~~/~~/github.com/sdmx>>url:https://github.com/sdmx-twg/sdmx-rest]][[->>url:https://github.com/sdmx-twg/sdmx-rest]][[twg/sdmx>>url:https://github.com/sdmx-twg/sdmx-rest]][[->>url:https://github.com/sdmx-twg/sdmx-rest]][[rest>>url:https://github.com/sdmx-twg/sdmx-rest]]__[[)>>url:https://github.com/sdmx-twg/sdmx-rest]]. In order for the architecture to be scalable, the finest-grained piece of structural metadata that can be processed by the SDMX-RR is a MaintainableArtefact, with the exception of Item Schemes, where changes at an Item level is also possible (see next section on the SDMX Information Model). 188 188 189 189 === {{id name="_Toc93848"/}}5.2.3 Structure Query Service === 190 190 191 -The registry must support a mechanism for querying for structural metadata. This mechanism can be the SDMX REST interface for structural metadata (this is defined in the corresponding GitHub project, dedicated to the SDMX REST API: [[__https:~~/~~/github.com/sdmx-twg/sdmx-rest__>>https://https:github.comsdmx-twgsdmx-rest]]). The registry response to this query mechanism is the SDMX Structure message, which has as its root node:190 +The registry must support a mechanism for querying for structural metadata. This mechanism can be the SDMX REST interface for structural metadata (this is defined in the corresponding GitHub project, dedicated to the SDMX REST API: __[[https:~~/~~/github.com/sdmx>>url:https://github.com/sdmx-twg/sdmx-rest]][[->>url:https://github.com/sdmx-twg/sdmx-rest]][[twg/sdmx>>url:https://github.com/sdmx-twg/sdmx-rest]][[->>url:https://github.com/sdmx-twg/sdmx-rest]][[rest>>url:https://github.com/sdmx-twg/sdmx-rest]]__ [[)>>url:https://github.com/sdmx-twg/sdmx-rest]]. The registry response to this query mechanism is the SDMX Structure message, which has as its root node: 192 192 193 193 * Structure 194 194 ... ... @@ -281,7 +281,7 @@ 281 281 Subscription management involves a user submitting a subscription request which contains: 282 282 283 283 * a query or constraint expression in terms of a filter which defines the events for which the user is interested (e.g., new data for a specific dataflow, or for a domain category, or changes to a Data Structure Definition). 284 -* a list of URIs or endpoints to which an XML notification message can be sent. Supported endpoint types will be email (mailto~: ) and HTTP POST (a normal http:~/~/ address);283 +* a list of URIs or endpoints to which an XML notification message can be sent. Supported endpoint types will be email (mailto~:) and HTTP POST (a normal http:~/~/ address); 285 285 * request for a list of submitted subscriptions; 286 286 * deletion of a subscription; 287 287 ... ... @@ -302,8 +302,10 @@ 302 302 303 303 a) Be a draft version. 304 304 ))) 304 +|(% style="width:188px" %)**Interface**|(% style="width:542px" %)**Behaviour** 305 305 |(% style="width:188px" %) |(% style="width:542px" %)((( 306 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. 307 + 307 307 4) The semantic versioning rules in the SDMX documentation MUST be obeyed. 308 308 ))) 309 309 |(% 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. ... ... @@ -328,12 +328,14 @@ 328 328 329 329 The table below shows the identification and related data attributes to be stored in a registry for objects that are one of: 330 330 331 -* //nnotable// 332 +* //Annotable// 332 332 * //Identifiable// 333 333 * //Nameable// 334 334 * //Versionable// 335 335 * //Maintainable// 336 336 338 +: 339 + 337 337 ((( 338 338 (% style="width:1052.29px" %) 339 339 |**Object Type**|(% style="width:241px" %)**Data Attributes**|(% style="width:156px" %)**Status**|**Data type**|(% style="width:457px" %)**Notes** ... ... @@ -361,9 +361,9 @@ 361 361 362 362 **Table 1: Common Attributes of Object Types** 363 363 364 -== {{id name="_Toc93856"/}}6.2 Unique identification of SDMX objects == 367 +=== {{id name="_Toc93856"/}}6.2 Unique identification of SDMX objects === 365 365 366 -=== {{id name="_Toc93857"/}}6.2.1 Agencies and Metadata Providers === 369 +===== {{id name="_Toc93857"/}}6.2.1 Agencies and Metadata Providers ===== 367 367 368 368 The Maintenance Agency in SDMX is maintained in an Agency Scheme which itself is a sub class of Organisation Scheme – this is shown in the class diagram below. 369 369 ... ... @@ -405,8 +405,32 @@ 405 405 406 406 An example of this is shown in the XML snippet below: 407 407 408 - [[image:1747307906944-697.png]]411 +**<str:Codelists>** 409 409 413 +**<str:Codelist id="CL_FREQ" agencyID="SDMX" version="1.0.0">** 414 + 415 +**<com:Name xml:lang="en">Standard frequency Codelist</com:Name>** 416 + 417 +**</str:Codelist>** 418 + 419 +**<str:Codelist id="CL_FREQ" agencyID="AA" version="1.0.0">** 420 + 421 +**<com:Name xml:lang="en">Codelist maintained by agency AA</com:Name>** 422 + 423 +**</str:Codelist>** 424 + 425 +**<str:Codelist id="CL_FREQ" agencyID="AA.CC" version="1.0.0">** 426 + 427 +**<com:Name xml:lang="en">Codelist maintained by the AA unit CC</com:Name>** 428 + 429 +**</str:Codelist>** 430 + 431 +**<str:Codelist id="CL_FREQ" agencyID="BB.CC" version="1.0.0">** 432 + 433 +**<com:Name xml:lang="en">Codelist maintained by the BB unit CC</com:Name>** 434 + 435 +**</str:Codelist>** 436 + 410 410 **Figure 8: Example Showing Use of Agency Identifiers** 411 411 412 412 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. ... ... @@ -419,10 +419,8 @@ 419 419 420 420 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.). 421 421 422 -==== 6.2.2.2 URN Structure ==== 449 +==== 6.2.2.2 URN Structure //__Case Rules for URN__ // ==== 423 423 424 -===== **//__Case Rules for URN__//** ===== 425 - 426 426 For the URN, all parts of the string are case sensitive. The generic structure of the URN is as follows: 427 427 428 428 SDMXprefix.SDMX-IM-package-name.class-name=agencyid:maintainedobjectid(maintainedobject-version).*containerobject-id.object-id ... ... @@ -433,7 +433,7 @@ 433 433 434 434 The Maintenance agency identifier is separated from the maintainable artefact identifier by a colon ‘:’. All other identifiers in the SDMX URN syntax are separated by a period ‘.’. The version information is encapsulated in parentheses ‘()’ and adheres to the SDMX versioning rules, as explained in SDMX Standards Section 6 “Technical Notes”, paragraph “4.3 Versioning. 435 435 436 - ====6.2.2.3 Explanation of the generic structure====461 +**6.2.2.3 Explanation of the generic structure** 437 437 438 438 In the explanation below the actual object that is the target of the URN is called the **actual object**. 439 439 ... ... @@ -443,23 +443,10 @@ 443 443 444 444 The packages are: 445 445 446 -base 447 -codelist 448 -conceptscheme 449 -datastructure 450 -categoryscheme 451 -registry 452 -metadatastructure 453 -process 454 -structuremapping 455 -transformation 471 +base codelist conceptscheme datastructure categoryscheme registry metadatastructure process structuremapping transformation 456 456 457 -**maintainable-object-id** is the identifier of the maintainable object. This will always be present as all identifiable objects are either a maintainable object or contained in a maintainable object. 473 +**maintainable-object-id** is the identifier of the maintainable object. This will always be present as all identifiable objects are either a maintainable object or contained in a maintainable object. **maintainable-object-version** is the version, according to the SDMX versioning rules, of the maintainable object and is enclosed in parentheses ‘()’, which are always present. **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 (Codelist) and has no intermediary container object, whereas a MetadataAttribute has an intermediary container object (MetadataAttributeDescriptor) and may have an intermediary container object, which is its parent MetadataAttribute. 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 AttributeDescriptor, DimensionDescriptor, and MeasureDescriptor 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 AttributeDescriptor, DimensionDescriptor, and MeasureDescriptor is not included when the actual object is a DataAttribute or a Dimension/ TimeDimension, or a Measure. 458 458 459 -**maintainable-object-version** is the version, according to the SDMX versioning rules, of the maintainable object and is enclosed in parentheses ‘()’, which are always present. 460 - 461 -**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 (Codelist) and has no intermediary container object, whereas a MetadataAttribute has an intermediary container object (MetadataAttributeDescriptor) and may have an intermediary container object, which is its parent MetadataAttribute. 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 AttributeDescriptor, DimensionDescriptor, and MeasureDescriptor 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 AttributeDescriptor, DimensionDescriptor, and MeasureDescriptor is not included when the actual object is a DataAttribute or a Dimension/ TimeDimension, or a Measure. 462 - 463 463 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 containerobject-id. 464 464 465 465 For example, the sequence is agency:DSDid(version).DimensionId and not agency:DSDid(version).DimensionDescriptorId.DimensionId. ... ... @@ -466,7 +466,7 @@ 466 466 467 467 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. 468 468 469 - =====//__**Generic Examples of the URN Structure**__//=====481 +//__**Generic Examples of the URN Structure**__// 470 470 471 471 __Actual object is a maintainable__ 472 472 ... ... @@ -492,27 +492,27 @@ 492 492 493 493 SDMXPrefix.SDMX-IM-package-name.classname=agencyid:maintained-objectid(version).contained-object-id.contained-object-id contained-objectid.object-id 494 494 495 - =====//__**Concrete Examples of the URN Structure**__//=====507 +//__**Concrete Examples of the URN Structure**__// 496 496 497 497 The Data Structure Definition CRED_EXT_DEBT of legacy version 2.1 maintained by the toplevel Agency TFFS would have the URN: 498 498 499 - urn:sdmx:org.sdmx.infomodel.datastructure.DataStucture=TFFS:CRED_EXT_ DEBT(2.1)511 +urn:sdmx:org.sdmx.infomodel.datastructure.DataStucture=TFFS:CRED_EXT_ DEBT(2.1) 500 500 501 501 The URN for a code for Argentina maintained by ISO in the code list CL_3166A2 of semantic version 1.0.0 would be: 502 502 503 - urn:sdmx:org.sdmx.infomodel.codelist.Code=ISO:CL_3166A2(1.0.0).AR515 +urn:sdmx:org.sdmx.infomodel.codelist.Code=ISO:CL_3166A2(1.0.0).AR 504 504 505 505 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 of the semantic extended version 1.0.0draft would be: 506 506 507 - urn:sdmx:org.sdmx.infomodel.categoryscheme.Category=SDMX:SUBJECT_MATT ER_DOMAINS(1.0.0-draft).1.2519 +urn:sdmx:org.sdmx.infomodel.categoryscheme.Category=SDMX:SUBJECT_MATT ER_DOMAINS(1.0.0-draft).1.2 508 508 509 509 The URN for a Metadata Attribute maintained by SDMX in the MSD CONTACT_METADATA of semantic version 1.0.0 where the hierarchy of the Metadata Attribute is CONTACT_DETAILS/CONTACT_NAME would be: 510 510 511 - urn:sdmx:org.sdmx.infomodel.metadatastructure.MetadataAttribute=SDMX: CONTACT_METADATA(1.0.0).CONTACT_DETAILS.CONTACT_NAME523 +urn:sdmx:org.sdmx.infomodel.metadatastructure.MetadataAttribute=SDMX: CONTACT_METADATA(1.0.0).CONTACT_DETAILS.CONTACT_NAME 512 512 513 513 The TFFS defines ABC as a sub-Agency of TFFS then the URN of a Dataflow maintained by ABC and identified as EXTERNAL_DEBT of semantic version 1.0.0 would be: 514 514 515 - urn:sdmx:org.sdmx.infomodel.datastructure.Dataflow=TFFS.ABC:EXTERNAL_ DEBT(1.0.0)527 +urn:sdmx:org.sdmx.infomodel.datastructure.Dataflow=TFFS.ABC:EXTERNAL_ DEBT(1.0.0) 516 516 517 517 The SDMX-RR MUST support this globally unique identification scheme. The SDMX-RR MUST be able to create the URN from the individual identification attributes submitted and to transform the URN to these identification attributes. The identification attributes are: 518 518 ... ... @@ -521,86 +521,85 @@ 521 521 522 522 The SDMX-RR MUST be able to resolve the unique identifier of an SDMX artefact and to produce an SDMX-ML rendering of that artefact if it is located in the Registry. 523 523 524 -=== {{id name="_Toc93859"/}}6.2.3 Table of SDMX-IM Packages and Classes === 536 +===== {{id name="_Toc93859"/}}6.2.3 Table of SDMX-IM Packages and Classes ===== 525 525 526 526 The table below lists all of the packages in the SDMX-IM together with the concrete classes that are in these packages and whose objects have a URN. 527 527 528 -(% style="width:651.294px" %) 529 -|(% style="width:134px" %)**Package**|(% style="width:502px" %)**URN class name (model class name where this is different)** 530 -|(% style="width:134px" %)base|(% style="width:502px" %)Agency 531 -|(% style="width:134px" %) |(% style="width:502px" %)AgencyScheme 532 -|(% style="width:134px" %) |(% style="width:502px" %)DataConsumer 533 -|(% style="width:134px" %) |(% style="width:502px" %)DataConsumerScheme 534 -|(% style="width:134px" %) |(% style="width:502px" %)DataProvider 535 -|(% style="width:134px" %) |(% style="width:502px" %)DataProviderScheme 536 -|(% style="width:134px" %) |(% style="width:502px" %)MetadataProvider 537 -|(% style="width:134px" %) |(% style="width:502px" %)MetadataProviderScheme 538 -|(% style="width:134px" %) |(% style="width:502px" %)OrganisationUnit 539 -|(% style="width:134px" %) |(% style="width:502px" %)OrganisationUnitScheme 540 -|(% style="width:134px" %)datastructure|(% style="width:502px" %)AttributeDescriptor 541 -|(% style="width:134px" %) |(% style="width:502px" %)DataAttribute 542 -|(% style="width:134px" %) |(% style="width:502px" %)Dataflow 543 -|(% style="width:134px" %) |(% style="width:502px" %)DataStructure (DataStructureDefinition) 544 -|(% style="width:134px" %) |(% style="width:502px" %)Dimension 545 -|(% style="width:134px" %) |(% style="width:502px" %)DimensionDescriptor 546 -|(% style="width:134px" %) |(% style="width:502px" %)GroupDimensionDescriptor 547 -|(% style="width:134px" %) |(% style="width:502px" %)Measure 548 -|(% style="width:134px" %) |(% style="width:502px" %)MeasureDescriptor 549 -|(% style="width:134px" %) |(% style="width:502px" %)TimeDimension 550 -|(% style="width:134px" %) |(% style="width:502px" %) 551 -|(% style="width:134px" %)metadatastructure|(% style="width:502px" %)MetadataAttribute 552 -|(% style="width:134px" %) |(% style="width:502px" %)MetadataAttributeDescriptor 553 -|(% style="width:134px" %) |(% style="width:502px" %)MetadataStructure MetadataStructureDefinition) 554 -|(% style="width:134px" %) |(% style="width:502px" %)Metadataflow 555 -|(% style="width:134px" %) |(% style="width:502px" %)MetadataSet 556 -|(% style="width:134px" %) |(% style="width:502px" %) 557 -|(% style="width:134px" %)process|(% style="width:502px" %)Process 558 -|(% style="width:134px" %) |(% style="width:502px" %)ProcessStep 559 -|(% style="width:134px" %) |(% style="width:502px" %)Transition 560 -|(% style="width:134px" %) |(% style="width:502px" %) 561 -|(% style="width:134px" %)registry|(% style="width:502px" %)DataConstraint 562 -|(% style="width:134px" %) |(% style="width:502px" %)MetadataConstraint 563 -|(% style="width:134px" %) |(% style="width:502px" %)MetadataProvisionAgreement 564 -|(% style="width:134px" %) |(% style="width:502px" %)ProvisionAgreement 565 -|(% style="width:134px" %) |(% style="width:502px" %)Subscription 566 -|(% style="width:134px" %) |(% style="width:502px" %) 567 -|(% style="width:134px" %)structuremapping|(% style="width:502px" %)CategorySchemeMap 568 -|(% style="width:134px" %) |(% style="width:502px" %)ConceptSchemeMap 569 -|(% style="width:134px" %) |(% style="width:502px" %)OrganisationSchemeMap 570 -|(% style="width:134px" %) |(% style="width:502px" %)ReportingTaxonomyMap 571 -|(% style="width:134px" %) |(% style="width:502px" %)RepresentationMap 572 -|(% style="width:134px" %) |(% style="width:502px" %)StructureMap 573 -|(% style="width:134px" %) |(% style="width:502px" %) 574 -|(% style="width:134px" %)codelist|(% style="width:502px" %)Code 575 -|(% style="width:134px" %) |(% style="width:502px" %)Codelist 576 -|(% style="width:134px" %) |(% style="width:502px" %)HierarchicalCode 577 -|(% style="width:134px" %) |(% style="width:502px" %)Hierarchy 578 -|(% style="width:134px" %) |(% style="width:502px" %)HierarchyAssociation 579 -|(% style="width:134px" %) |(% style="width:502px" %)Level 580 -|(% style="width:134px" %) |(% style="width:502px" %)ValueList 581 -|(% style="width:134px" %) |(% style="width:502px" %) 582 -|(% style="width:134px" %)categoryscheme|(% style="width:502px" %)Categorisation 583 -|(% style="width:134px" %) |(% style="width:502px" %)Category 584 -|(% style="width:134px" %) |(% style="width:502px" %)CategoryScheme 585 -|(% style="width:134px" %) |(% style="width:502px" %)ReportingCategory 586 -|(% style="width:134px" %) |(% style="width:502px" %)ReportingTaxonomy 587 -|(% style="width:134px" %)conceptscheme|(% style="width:502px" %)Concept 588 -|(% style="width:134px" %) |(% style="width:502px" %)ConceptScheme 589 -|(% style="width:134px" %) |(% style="width:502px" %) 590 -|(% style="width:134px" %)transformation|(% style="width:502px" %)CustomType 591 -|(% style="width:134px" %) |(% style="width:502px" %)CustomTypeScheme 592 -|(% style="width:134px" %) |(% style="width:502px" %)NamePersonalisation 593 -|(% style="width:134px" %) |(% style="width:502px" %)NamePersonalisationScheme 594 -|(% style="width:134px" %) |(% style="width:502px" %)Ruleset 595 -|(% style="width:134px" %) |(% style="width:502px" %)RulesetScheme 596 -|(% style="width:134px" %) |(% style="width:502px" %)Transformation 597 -|(% style="width:134px" %) |(% style="width:502px" %)TransformationScheme 598 -|(% style="width:134px" %) |(% style="width:502px" %)UserDefinedOperator 599 -|(% style="width:134px" %) |(% style="width:502px" %)UserDefinedOperatorScheme 600 -|(% style="width:134px" %) |(% style="width:502px" %)VtlCodelistMapping 601 -|(% style="width:134px" %) |(% style="width:502px" %)VtlConceptMapping 602 -|(% style="width:134px" %) |(% style="width:502px" %)VtlDataflowMapping 603 -|(% style="width:134px" %) |(% style="width:502px" %)VtlMappingScheme 540 +|**Package**|**URN class name (model class name where this is different)** 541 +|base|Agency 542 +| |AgencyScheme 543 +| |DataConsumer 544 +| |DataConsumerScheme 545 +| |DataProvider 546 +| |DataProviderScheme 547 +| |MetadataProvider 548 +| |MetadataProviderScheme 549 +| |OrganisationUnit 550 +| |OrganisationUnitScheme 551 +|datastructure|AttributeDescriptor 552 +| |DataAttribute 553 +| |Dataflow 554 +| |DataStructure (DataStructureDefinition) 555 +| |Dimension 556 +| |DimensionDescriptor 557 +| |GroupDimensionDescriptor 558 +| |Measure 559 +| |MeasureDescriptor 560 +| |TimeDimension 561 +| | 562 +|metadatastructure|MetadataAttribute 563 +| |MetadataAttributeDescriptor 564 +| |MetadataStructure MetadataStructureDefinition) 565 +| |Metadataflow 566 +| |MetadataSet 567 +| | 568 +|process|Process 569 +| |ProcessStep 570 +| |Transition 571 +| | 572 +|registry|DataConstraint 573 +| |MetadataConstraint 574 +| |MetadataProvisionAgreement 575 +| |ProvisionAgreement 576 +| |Subscription 577 +| | 578 +|structuremapping|CategorySchemeMap 579 +| |ConceptSchemeMap 580 +| |OrganisationSchemeMap 581 +| |ReportingTaxonomyMap 582 +| |RepresentationMap 583 +| |StructureMap 584 +| | 585 +|codelist|Code 586 +| |Codelist 587 +| |HierarchicalCode 588 +| |Hierarchy 589 +| |HierarchyAssociation 590 +| |Level 591 +| |ValueList 592 +| | 593 +|categoryscheme|Categorisation 594 +| |Category 595 +| |CategoryScheme 596 +| |ReportingCategory 597 +| |ReportingTaxonomy 598 +|conceptscheme|Concept 599 +| |ConceptScheme 600 +| | 601 +|transformation|CustomType 602 +| |CustomTypeScheme 603 +| |NamePersonalisation 604 +| |NamePersonalisationScheme 605 +| |Ruleset 606 +| |RulesetScheme 607 +| |Transformation 608 +| |TransformationScheme 609 +| |UserDefinedOperator 610 +| |UserDefinedOperatorScheme 611 +| |VtlCodelistMapping 612 +| |VtlConceptMapping 613 +| |VtlDataflowMapping 614 +| |VtlMappingScheme 604 604 605 605 **Table 2: SDMX-IM Packages and Contained Classes** 606 606 ... ... @@ -612,108 +612,136 @@ 612 612 613 613 urn:sdmx.org.sdmx.infomodel.{package}.{classname}= 614 614 615 -(% style="width:1419.29px" %) 616 -|(% style="width:227px" %)**Classname**|(% style="width:645px" %)**Ending URN pattern**|(% style="width:543px" %)**Example** 617 -|(% style="width:227px" %)Agency{{footnote}}The identification of an Agency in the URN structure for the maintainable object is by means of the agencyId. The AgencyScheme is not identified as SDMX has a mechanism for identifying an Agency uniquely by its Id. Note that this Id may be hierarchical. For example, a sub-agency of IMF is referred like this: IMF.SubAgency1{{/footnote}}|(% style="width:645px" %)agencySchemeAgencyId:**AGENCIES**(**1.0**).agencyId|(% style="width:543px" %)ECB:**AGENCIES**(**1.0**).AA 618 -|(% style="width:227px" %)//AgencyScheme//|(% style="width:645px" %)agencySchemeAgencyId:**AGENCIES**(**1.0**)|(% style="width:543px" %)ECB:**AGENCIES**(**1.0**) 619 -|(% style="width:227px" %)//Categorisation//|(% style="width:645px" %)categorisationAgencyId:categorisationId(version)|(% style="width:543px" %)IMF:cat001(1.0.0) 620 -|(% style="width:227px" %)Category|(% style="width:645px" %)categorySchemeAgencyId:categorySchemeId(versi on).categoryId.categoryId.categoryId etc.|(% style="width:543px" %)IMF:SDDS(1.0.0):level_1_category.level_2_category … 621 -|(% style="width:227px" %)//CategoryScheme//|(% style="width:645px" %)categorySchemeAgencyId:categorySchemeId(versi on)|(% style="width:543px" %)IMF:SDDS(1.0.0) 622 -|(% style="width:227px" %)//CategorySchemeMap//|(% style="width:645px" %)((( 623 -catSchemeMapAgencyId:catSchemeMapId(version) 624 -)))|(% style="width:543px" %)SDMX:EUROSTAT_SUBJECT_DOMAIN(1.0.0) 625 -|(% style="width:227px" %)Code|(% style="width:645px" %)codeListAgencyId:codelistId(version).codeId|(% style="width:543px" %)SDMX:CL_FREQ(1.0.0).Q 626 -|(% style="width:227px" %)//Codelist//|(% style="width:645px" %)codeListAgencyId:codeListId(version)|(% style="width:543px" %)SDMX:CL_FREQ(1.0.0) 627 -|(% style="width:227px" %)ComponentMap|(% style="width:645px" %)structureMapAgencyId:structureMap(version).com ponentMapId|(% style="width:543px" %)SDMX:BOP_STRUCTURES(1.0.0).REF_AREA_TO_COUNT RY 628 -|(% style="width:227px" %)Concept|(% style="width:645px" %)conceptSchemeAgencyId:conceptSchemeId(versio n).conceptId|(% style="width:543px" %)SDMX:CROSS_DOMAIN_CONCEPTS(1.0.0).FREQ 629 -|(% style="width:227px" %)//ConceptScheme//|(% style="width:645px" %)conceptSchemeAgencyId:conceptSchemeId(versio n)|(% style="width:543px" %)SDMX:CROSS_DOMAIN_CONCEPTS(1.0.0) 630 -|(% style="width:227px" %)//ConceptSchemeMap//|(% style="width:645px" %)((( 626 +|**Classname**|**Ending URN pattern**|**Example** 627 +|Agency^^[[(% class="wikiinternallink wikiinternallink wikiinternallink" %)^^2^^>>path:#sdfootnote2sym||name="sdfootnote2anc"]](%%)^^|agencySchemeAgencyId:**AGENCIES**(**1.0**).agencyId|ECB:**AGENCIES**(**1.0**).AA 628 +|//AgencyScheme//|agencySchemeAgencyId:**AGENCIES**(**1.0**)|ECB:**AGENCIES**(**1.0**) 629 +|//Categorisation//|categorisationAgencyId:categorisationId(version)|IMF:cat001(1.0.0) 630 +|Category|categorySchemeAgencyId:categorySchemeId(versi on).categoryId.categoryId.categoryId etc.|IMF:SDDS(1.0.0):level_1_category.level_2_category … 631 +|//CategoryScheme//|categorySchemeAgencyId:categorySchemeId(versi on)|IMF:SDDS(1.0.0) 632 + 633 +|**Classname**|**Ending URN pattern**|**Example** 634 +|//CategorySchemeMap//|((( 635 +catSchemeMapAgencyId:catSchemeMapId(version 636 + 637 +) 638 +)))|SDMX:EUROSTAT_SUBJECT_DOMAIN(1.0.0) 639 +|Code|codeListAgencyId:codelistId(version).codeId|SDMX:CL_FREQ(1.0.0).Q 640 +|//Codelist//|codeListAgencyId:codeListId(version)|SDMX:CL_FREQ(1.0.0) 641 +|ComponentMap|structureMapAgencyId:structureMap(version).com ponentMapId|SDMX:BOP_STRUCTURES(1.0.0).REF_AREA_TO_COUNT RY 642 +|Concept|conceptSchemeAgencyId:conceptSchemeId(versio n).conceptId|SDMX:CROSS_DOMAIN_CONCEPTS(1.0.0).FREQ 643 +|//ConceptScheme//|conceptSchemeAgencyId:conceptSchemeId(versio n)|SDMX:CROSS_DOMAIN_CONCEPTS(1.0.0) 644 +|//ConceptSchemeMap//|((( 631 631 conceptSchemeMapAgencyId:conceptSchemeMap 646 + 632 632 Id(version) 633 -)))|(% style="width:543px" %)SDMX:CONCEPT_MAP(1.0.0) 634 -|(% style="width:227px" %)CustomType|(% style="width:645px" %)customTypeSchemeAgencyId customTypeSchemeId(version) customTypeId|(% style="width:543px" %)ECB: CUSTOM_TYPE_SCHEME(1.0.0).CUSTOM_TYPE_1 635 -|(% style="width:227px" %)//CustomTypeScheme//|(% style="width:645px" %)customTypeSchemeAgencyId customTypeSchemeId(version)|(% style="width:543px" %)ECB:CUSTOM_TYPE_SCHEME(1.0.0) 636 -|(% style="width:227px" %)DataAttrribute|(% style="width:645px" %)dataStructureDefinitionAgencyId:dataStructureDef initionId(version).dataAttributeId|(% style="width:543px" %)TFFS:EXT_DEBT(1.0.0).OBS_STATUS 637 -|(% style="width:227px" %)//DataConstraint//|(% style="width:645px" %)dataConstraintAgencyId:dataConstraintId(version)|(% style="width:543px" %)TFFS:CREDITOR_DATA_CONTENT(1.0.0) 638 -|(% style="width:229px" %)DataConsumer|(% style="width:645px" %)dataConsumerSchemeAgencyId:**DATA_CONSUME RS**(**1.0**).dataConsumerId|(% style="width:543px" %)SDMX:**DATA_CONSUMERS**(**1.0**).CONSUMER_1 639 -|(% style="width:229px" %)//DataConsumerScheme//|(% style="width:645px" %)((( 640 -dataConsumerSchemeAgencyId:**DATA_CONSUME RS**(**1.0**) 641 -)))|(% style="width:543px" %)SDMX:**DATA_CONSUMERS**(**1.0**) 642 -|(% style="width:229px" %)//Dataflow//|(% style="width:645px" %)dataflowAgencyId:dataflowId(version)|(% style="width:543px" %)TFFS:CRED_EXT_DEBT(1.0.0) 643 -|(% style="width:229px" %)DataProvider|(% style="width:645px" %)((( 644 -dataProviderSchemeAgencyId:**DATA_PROVIDERS**(**1.0**).dataProviderId 645 -)))|(% style="width:543px" %)SDMX:**DATA_PROVIDERS**(**1.0**).PROVIDER_1 646 -|(% style="width:229px" %)//DataProviderScheme//|(% style="width:645px" %)((( 647 -dataProviderSchemeAgencyId:**DATA_PROVIDERS**(**1.0**) 648 -)))|(% style="width:543px" %)SDMX:**DATA_PROVIDERS**(**1.0**) 649 -|(% style="width:229px" %)//DataStructure//|(% style="width:645px" %)dataStructureDefinitionAgencyId:dataStructureDef initionId(version)|(% style="width:543px" %)TFFS:EXT_DEBT(1.0.0) 650 -|(% style="width:229px" %)Dimension|(% style="width:645px" %)dataStructureDefinitionAgencyId:dataStructureDef initionId(version).dimensionId|(% style="width:543px" %)TFFS:EXT_DEBT(1.0.0).FREQ 651 -|(% style="width:229px" %)((( 648 +)))|SDMX:CONCEPT_MAP(1.0.0) 649 +|CustomType|customTypeSchemeAgencyId customTypeSchemeId(version) customTypeId|ECB: CUSTOM_TYPE_SCHEME(1.0.0).CUSTOM_TYPE_1 650 +|//CustomTypeScheme//|customTypeSchemeAgencyId customTypeSchemeId(version)|ECB:CUSTOM_TYPE_SCHEME(1.0.0) 651 +|DataAttrribute|dataStructureDefinitionAgencyId:dataStructureDef initionId(version).dataAttributeId|TFFS:EXT_DEBT(1.0.0).OBS_STATUS 652 +|//DataConstraint//|dataConstraintAgencyId:dataConstraintId(version)|TFFS:CREDITOR_DATA_CONTENT(1.0.0) 653 + 654 +|**Classname**|**Ending URN pattern**|**Example** 655 +|DataConsumer|dataConsumerSchemeAgencyId:**DATA_CONSUME RS**(**1.0**).dataConsumerId|SDMX:**DATA_CONSUMERS**(**1.0**).CONSUMER_1 656 +|//DataConsumerScheme//|((( 657 +dataConsumerSchemeAgencyId:**DATA_CONSUME** 658 + 659 +**RS**(**1.0**) 660 +)))|SDMX:**DATA_CONSUMERS**(**1.0**) 661 +|//Dataflow//|dataflowAgencyId:dataflowId(version)|TFFS:CRED_EXT_DEBT(1.0.0) 662 +|DataProvider|((( 663 +dataProviderSchemeAgencyId:**DATA_PROVIDERS**( 664 + 665 +**1.0**).dataProviderId 666 +)))|SDMX:**DATA_PROVIDERS**(**1.0**).PROVIDER_1 667 +|//DataProviderScheme//|((( 668 +dataProviderSchemeAgencyId:**DATA_PROVIDERS**( 669 + 670 +**1.0**) 671 +)))|SDMX:**DATA_PROVIDERS**(**1.0**) 672 +|//DataStructure//|dataStructureDefinitionAgencyId:dataStructureDef initionId(version)|TFFS:EXT_DEBT(1.0.0) 673 +|Dimension|dataStructureDefinitionAgencyId:dataStructureDef initionId(version).dimensionId|TFFS:EXT_DEBT(1.0.0).FREQ 674 +|((( 652 652 DimensionDescriptor 676 + 653 653 MeasureDescriptor 678 + 654 654 AttributeDescriptor 655 -)))| (% style="width:645px" %)dataStructureDefinitionAgencyId:dataStructureDef initionId(version).componentListId where the componentListId is the name of the class (there is only one occurrence of each in the Data Structure Definition)|(% style="width:543px" %)(((680 +)))|dataStructureDefinitionAgencyId:dataStructureDef initionId(version).componentListId where the componentListId is the name of the class (there is only one occurrence of each in the Data Structure Definition)|((( 656 656 TFFS:EXT_DEBT(1.0.0).DimensionDescriptor 682 + 657 657 TFFS:EXT_DEBT(1.0.0).MeasureDescriptor 684 + 658 658 TFFS:EXT_DEBT(1.0.0).AttributeDescriptor 659 659 ))) 660 -|(% style="width:229px" %)GroupDimensionDescriptor|(% style="width:645px" %)dataStructureDefinitionAgencyId:dataStructureDef initionId(version).groupDimensionDescriptorId|(% style="width:543px" %)TFFS:EXT_DEBT(1.0.0).SIBLING 661 -|(% style="width:229px" %)HierarchicalCode|(% style="width:645px" %)hierarchyAgencyId:hierarchyId(version).hierarchica lCode.hierarchicalCode|(% style="width:543px" %)UNESCO:H-C-GOV(1.0.0).GOV_CODE1.GOV_CODE1_1 662 -|(% style="width:206px" %)//Hierarchy//|(% style="width:645px" %)hierarchyAgencyId:hierarchyId(version)|(% style="width:543px" %)UNESCO:H-C-GOV(1.0.0) 663 -|(% style="width:206px" %)//HierarchyAssociation//|(% style="width:645px" %)hierarchyAssociationAgencyId:hierarchyAssociatio nId(version)|(% style="width:543px" %)UNESCO:CL_EXP_SOURCE(1.0.0) 664 -|(% style="width:206px" %)Level|(% style="width:645px" %)hierarchyAgencyId:hierarchyId(version).level|(% style="width:543px" %)UNESCO:H-C-GOV(1.0.0).LVL1 665 -|(% style="width:206px" %)Measure|(% style="width:645px" %)dataStructureDefinitionAgencyId:dataStructureDef initionId(version).measureId|(% style="width:543px" %)TFFS:EXT_DEBT(1.0.0).OBS_VALUE 666 -|(% style="width:206px" %)MetadataAttribute|(% style="width:645px" %)((( 687 +|GroupDimensionDescriptor|dataStructureDefinitionAgencyId:dataStructureDef initionId(version).groupDimensionDescriptorId|TFFS:EXT_DEBT(1.0.0).SIBLING 688 +|HierarchicalCode|hierarchyAgencyId:hierarchyId(version).hierarchica lCode.hierarchicalCode|UNESCO:H-C-GOV(1.0.0).GOV_CODE1.GOV_CODE1_1 689 + 690 +|**Classname**|**Ending URN pattern**|**Example** 691 +|//Hierarchy//|hierarchyAgencyId:hierarchyId(version)|UNESCO:H-C-GOV(1.0.0) 692 +|//HierarchyAssociation//|hierarchyAssociationAgencyId:hierarchyAssociatio nId(version)|UNESCO:CL_EXP_SOURCE(1.0.0) 693 +|Level|hierarchyAgencyId:hierarchyId(version).level|UNESCO:H-C-GOV(1.0.0).LVL1 694 +|Measure|dataStructureDefinitionAgencyId:dataStructureDef initionId(version).measureId|TFFS:EXT_DEBT(1.0.0).OBS_VALUE 695 +|MetadataAttribute|((( 667 667 msdAgencyId:msdId(version).metadataAttributeId. 697 + 668 668 metadataAttributeId 669 -)))|(% style="width:543px" %)IMF:SDDS_MSD(1.0.0).COMPILATION.METHOD 670 -|(% style="width:206px" %)MetadataAttributeDescriptor|(% style="width:645px" %)msdAgencyId:msdId(version).metadataAttributeDe scriptorId|(% style="width:543px" %)IMF:SDDS_MSD(1.0.0).MetadataAttributeDescriptor 671 -|(% style="width:206px" %)//MetadataConstraint//|(% style="width:645px" %)metadataConstraintAgencyId:metadataConstraintI d(version)|(% style="width:543px" %)TFFS:CREDITOR_METADATA_CONTENT(1.0.0) 672 -|(% style="width:206px" %)//Metadataflow//|(% style="width:645px" %)metadataflowAgencyId:metadataflowId(version)|(% style="width:543px" %)IMF:SDDS_MDF(1.0.0) 673 -|(% style="width:206px" %)MetadataProvider|(% style="width:645px" %)metadataProviderSchemeAgencyId:**METADATA_P ROVIDERS**(**1.0**).metadataProviderId|(% style="width:543px" %)SDMX:**METADATA_PROVIDERS**(**1.0**).MD_PROVIDER_1 674 -|(% style="width:206px" %)//MetadataProviderScheme//|(% style="width:645px" %)metadataProviderSchemeAgencyId:**METADATA_P ROVIDERS**(**1.0**)|(% style="width:543px" %)SDMX:**METADATA_PROVIDERS**(**1.0**) 675 -|(% style="width:206px" %)//MetadataProvisionAgreement//|(% style="width:645px" %)metadataProvisionAgreementAgencyId:metadataP rovisionAgreementId(version)|(% style="width:543px" %)IMF:SDDS_MDF_AB(1.0.0) 676 -|(% style="width:206px" %)//MetadataSet//|(% style="width:645px" %)metadataProviderId:metadataSetId(version)|(% style="width:543px" %)MD_PROVIDER:METADATASET(1.0.0) 677 -|(% style="width:206px" %)//MetadataStructure//|(% style="width:645px" %)msdAgencyId:msdId(version)|(% style="width:543px" %)IMF:SDDS_MSD(1.0.0) 678 -|(% style="width:227px" %)NamePersonalisation|(% style="width:527px" %)namePersonalisationSchemeAgencyId namePersonalisationSchemeId(version) namePersonalisationId|(% style="width:545px" %)ECB:PSN_SCHEME(1.0.0).PSN1234 679 -|(% style="width:227px" %)//NamePersonalisationScheme//|(% style="width:527px" %)namePersonalisationSchemeAgencyId namePersonalisationSchemeId(version)|(% style="width:545px" %)ECB:PSN_SCHEME(1.0.0) 680 -|(% style="width:227px" %)//OrganisationSchemeMap//|(% style="width:527px" %)orgSchemeMapAgencyId:orgSchemeMapId(versio n)|(% style="width:545px" %)SDMX:AGENCIES_PROVIDERS(1.0.0) 681 -|(% style="width:227px" %)OrganisationUnit|(% style="width:527px" %)organisationUnitSchemeAgencyId:organisationUnitSchemeId(version).organisationUnitId|(% style="width:545px" %)ECB:ORGANISATIONS(1.0.0).1F 682 -|(% style="width:227px" %)//OrganisationUnitScheme//|(% style="width:527px" %)organisationUnitSchemeAgencyId:organisationUni tSchemeId(version)|(% style="width:545px" %)ECB:ORGANISATIONS(1.0.0) 683 -|(% style="width:227px" %)//Process//|(% style="width:527px" %)processAgencyId:processId{version)|(% style="width:545px" %)BIS:PROCESS1(1.0.0) 684 -|(% style="width:227px" %)ProcessStep|(% style="width:527px" %)((( 699 +)))|IMF:SDDS_MSD(1.0.0).COMPILATION.METHOD 700 +|MetadataAttributeDescriptor|msdAgencyId:msdId(version).metadataAttributeDe scriptorId|IMF:SDDS_MSD(1.0.0).MetadataAttributeDescriptor 701 +|//MetadataConstraint//|metadataConstraintAgencyId:metadataConstraintI d(version)|TFFS:CREDITOR_METADATA_CONTENT(1.0.0) 702 +|//Metadataflow//|metadataflowAgencyId:metadataflowId(version)|IMF:SDDS_MDF(1.0.0) 703 +|MetadataProvider|metadataProviderSchemeAgencyId:**METADATA_P ROVIDERS**(**1.0**).metadataProviderId|SDMX:**METADATA_PROVIDERS**(**1.0**).MD_PROVIDER_1 704 +|//MetadataProviderScheme//|metadataProviderSchemeAgencyId:**METADATA_P ROVIDERS**(**1.0**)|SDMX:**METADATA_PROVIDERS**(**1.0**) 705 +|//MetadataProvisionAgreement//|metadataProvisionAgreementAgencyId:metadataP rovisionAgreementId(version)|IMF:SDDS_MDF_AB(1.0.0) 706 +|//MetadataSet//|metadataProviderId:metadataSetId(version)|MD_PROVIDER:METADATASET(1.0.0) 707 +|//MetadataStructure//|msdAgencyId:msdId(version)|IMF:SDDS_MSD(1.0.0) 708 + 709 +|**Classname**|**Ending URN pattern**|**Example** 710 +|NamePersonalisation|namePersonalisationSchemeAgencyId namePersonalisationSchemeId(version) namePersonalisationId|ECB:PSN_SCHEME(1.0.0).PSN1234 711 +|//NamePersonalisationScheme//|namePersonalisationSchemeAgencyId namePersonalisationSchemeId(version)|ECB:PSN_SCHEME(1.0.0) 712 +|//OrganisationSchemeMap//|orgSchemeMapAgencyId:orgSchemeMapId(versio n)|SDMX:AGENCIES_PROVIDERS(1.0.0) 713 +|OrganisationUnit|organisationUnitSchemeAgencyId:organisationUni tSchemeId(version).organisationUnitId|ECB:ORGANISATIONS(1.0.0).1F 714 +|//OrganisationUnitScheme//|organisationUnitSchemeAgencyId:organisationUni tSchemeId(version)|ECB:ORGANISATIONS(1.0.0) 715 +|//Process//|processAgencyId:processId{version)|BIS:PROCESS1(1.0.0) 716 +|ProcessStep|((( 685 685 processAgencyId:processId(version).processStepId. 718 + 686 686 processStepId 687 -)))| (% style="width:545px" %)BIS:PROCESS1(1.0.0).STEP1.STEP1_1688 -| (% style="width:227px" %)//ProvisionAgreement//|(% style="width:527px" %)provisionAgreementAgencyId:provisionAgreement Id(version)|(% style="width:545px" %)TFFS:CRED_EXT_DEBT_AB(1.0.0)689 -| (% style="width:227px" %)ReportingCategory|(% style="width:527px" %)(((720 +)))|BIS:PROCESS1(1.0.0).STEP1.STEP1_1 721 +|//ProvisionAgreement//|provisionAgreementAgencyId:provisionAgreement Id(version)|TFFS:CRED_EXT_DEBT_AB(1.0.0) 722 +|ReportingCategory|((( 690 690 reportingTaxonomyAgencyId: 724 + 691 691 reportingTaxonomyId(version).reportingCategoryI d.reportingCategoryId 692 -)))|(% style="width:545px" %)IMF:REP_1(1.0.0):LVL1_REP_CAT.LVL2_REP_CAT 693 -|(% style="width:227px" %)//ReportingTaxonomy//|(% style="width:527px" %)reportingTaxonomyAgencyId:reportingTaxonomyI d(version)|(% style="width:545px" %)IMF:REP_1(1.0.0) 694 -|(% style="width:227px" %)//ReportingTaxonomyMap//|(% style="width:527px" %)repTaxonomyAgencyId:repTaxonomyId(version)|(% style="width:545px" %)SDMX:RT_MAP(1.0.0) 695 -|(% style="width:229px" %)//RepresentationMap//|(% style="width:645px" %)repMapAgencyId:repMapId(version)|(% style="width:215px" %)SDMX:REF_AREA_MAPPING(1.0.0) 696 -|(% style="width:229px" %)Ruleset|(% style="width:645px" %)rulesetSchemeAgencyId rulesetSchemeId(version) rulesetId|(% style="width:215px" %)ECB:RULESET_23(1.0.0).SET111 697 -|(% style="width:229px" %)//RulesetScheme//|(% style="width:645px" %)rulesetSchemeAgencyId rulesetSchemeId(version)|(% style="width:215px" %)ECB:RULESET_23(1.0.0) 698 -|(% style="width:229px" %)//StructureMap//|(% style="width:645px" %)structureMapAgencyId:structureMap(version)|(% style="width:215px" %)SDMX:BOP_STRUCTURES(1.0.0) 699 -|(% style="width:229px" %)Subscription|(% style="width:645px" %)((( 726 +)))|IMF:REP_1(1.0.0):LVL1_REP_CAT.LVL2_REP_CAT 727 +|//ReportingTaxonomy//|reportingTaxonomyAgencyId:reportingTaxonomyI d(version)|IMF:REP_1(1.0.0) 728 +|//ReportingTaxonomyMap//|repTaxonomyAgencyId:repTaxonomyId(version)|SDMX:RT_MAP(1.0.0) 729 + 730 +|**Classname**|**Ending URN pattern**|**Example** 731 +|//RepresentationMap//|repMapAgencyId:repMapId(version)|SDMX:REF_AREA_MAPPING(1.0.0) 732 +|Ruleset|rulesetSchemeAgencyId rulesetSchemeId(version) rulesetId|ECB:RULESET_23(1.0.0).SET111 733 +|//RulesetScheme//|rulesetSchemeAgencyId rulesetSchemeId(version)|ECB:RULESET_23(1.0.0) 734 +|//StructureMap//|structureMapAgencyId:structureMap(version)|SDMX:BOP_STRUCTURES(1.0.0) 735 +|Subscription|((( 700 700 The Subscription is not itself an Identifiable Artefact and therefore it does not follow the rules for URN structure. 737 + 701 701 The name of the URN is registryURN There is no pre-determined format. 702 -)))|(% style="width:1015px" %)This cannot be generated by a common mechanism as subscriptions, although maintainable in the sense that they can be submitted and deleted, are not mandated to be created by a maintenance agency and have no versioning mechanism. It is therefore the responsibility of the target registry to generate a unique Id for the Subscription, and for the application creating the subscription to store the registry URN that is returned from the registry in the subscription response message. 703 -|(% style="width:229px" %)TimeDimension|(% style="width:645px" %)dataStructureDefinitionAgencyId:dataStructureDef initionId(version).timeDimensionId|(% style="width:1015px" %)TFFS:EXT_DEBT(1.0.0).TIME_PERIOD 704 -|(% style="width:229px" %)Transformation|(% style="width:645px" %)transformationSchemeAgencyId transformationSchemeId(version) transformationId|(% style="width:1015px" %)ECB:TRANSFORMATION_SCHEME(1.0.0).TRANS_1 705 -|(% style="width:229px" %)//TransformationScheme//|(% style="width:645px" %)transformationSchemeAgencyId transformationSchemeId(version)|(% style="width:1015px" %)ECB: TRANSFORMATION_SCHEME(1.0.0) 706 -|(% style="width:229px" %)Transition|(% style="width:645px" %)((( 739 +)))|This cannot be generated by a common mechanism as subscriptions, although maintainable in the sense that they can be submitted and deleted, are not mandated to be created by a maintenance agency and have no versioning mechanism. It is therefore the responsibility of the target registry to generate a unique Id for the Subscription, and for the application creating the subscription to store the registry URN that is returned from the registry in the subscription response message. 740 +|TimeDimension|dataStructureDefinitionAgencyId:dataStructureDef initionId(version).timeDimensionId|TFFS:EXT_DEBT(1.0.0).TIME_PERIOD 741 +|Transformation|transformationSchemeAgencyId transformationSchemeId(version) transformationId|ECB:TRANSFORMATION_SCHEME(1.0.0).TRANS_1 742 +|//TransformationScheme//|transformationSchemeAgencyId transformationSchemeId(version)|ECB: TRANSFORMATION_SCHEME(1.0.0) 743 +|**Classname**|**Ending URN pattern**|**Example** 744 +|Transition|((( 707 707 processAgencyId:processId(version).processStepId. 746 + 708 708 transitionId 709 -)))| (% style="width:1015px" %)BIS:PROCESS1(1.0.0).STEP1.TRANSITION1710 -| (% style="width:229px" %)UserDefinedOperator|(% style="width:645px" %)userDefinedOperatorSchemeAgencyId userDefinedOperatorSchemeId(version) usserDefinedOperatorId|(% style="width:1015px" %)ECB:OS_CALC(1.2.0).OS267711 -| (% style="width:229px" %)//UserDefinedOperatorScheme//|(% style="width:645px" %)userDefinedOperatorSchemeAgencyId userDefinedOperatorSchemeId(version)|(% style="width:1015px" %)ECB:OS_CALC(1.2.0)712 -| (% style="width:229px" %)//ValueList//|(% style="width:645px" %)valuelistAgencyId:valuelistId(version)|(% style="width:1015px" %)SDMX:VLIST(1.0.0)713 -| (% style="width:229px" %)VtlCodelistMapping|(% style="width:645px" %)vtlMappingSchemeAgencyId vtlMappingSchemeId(version) vtlCodelistMappingId|(% style="width:1015px" %)ECB:CLIST_MP(2.0.0).ABZ714 -| (% style="width:229px" %)VtlConceptMapping|(% style="width:645px" %)vtlMappingSchemeAgencyId vtlMappingSchemeId(version) vtlConceptMappingId|(% style="width:1015px" %)ECB:CLIST_MP(1.0.0).XYA715 -| (% style="width:229px" %)VtlDataflowMapping|(% style="width:645px" %)vtlMappingSchemeAgencyId vtlMappingSchemeId(version) vtlDataflowMappingId|(% style="width:1015px" %)ECB:CLIST_MP(1.0.0).MOQ716 -| (% style="width:229px" %)//VtlMappingScheme//|(% style="width:645px" %)vtlMappingSchemeAgencyId VtlMappingSchemeId(version)|(% style="width:1015px" %)ECB:CLIST_MP(2.0.0)748 +)))|BIS:PROCESS1(1.0.0).STEP1.TRANSITION1 749 +|UserDefinedOperator|userDefinedOperatorSchemeAgencyId userDefinedOperatorSchemeId(version) usserDefinedOperatorId|ECB:OS_CALC(1.2.0).OS267 750 +|//UserDefinedOperatorScheme//|userDefinedOperatorSchemeAgencyId userDefinedOperatorSchemeId(version)|ECB:OS_CALC(1.2.0) 751 +|//ValueList//|valuelistAgencyId:valuelistId(version)|SDMX:VLIST(1.0.0) 752 +|VtlCodelistMapping|vtlMappingSchemeAgencyId vtlMappingSchemeId(version) vtlCodelistMappingId|ECB:CLIST_MP(2.0.0).ABZ 753 +|VtlConceptMapping|vtlMappingSchemeAgencyId vtlMappingSchemeId(version) vtlConceptMappingId|ECB:CLIST_MP(1.0.0).XYA 754 +|VtlDataflowMapping|vtlMappingSchemeAgencyId vtlMappingSchemeId(version) vtlDataflowMappingId|ECB:CLIST_MP(1.0.0).MOQ 755 +|//VtlMappingScheme//|vtlMappingSchemeAgencyId VtlMappingSchemeId(version)|ECB:CLIST_MP(2.0.0) 717 717 718 718 **Table 3: Table of identification components for SDMX Identifiable Artefacts** 719 719 ... ... @@ -721,7 +721,7 @@ 721 721 722 722 === {{id name="_Toc93862"/}}7.1 Structural Definition Metadata === 723 723 724 -=== {{id name="_Toc93863"/}}7.1.1 Introduction === 763 +===== {{id name="_Toc93863"/}}7.1.1 Introduction ===== 725 725 726 726 The SDMX Registry must have the ability to support agencies in their role of defining and disseminating structural metadata artefacts. These artefacts include data structure definitions, code lists, concepts etc. and are fully defined in the SDMX-IM. An authenticated agency may submit valid structural metadata definitions which must be stored in the registry. Note that the term “structural metadata” refers as a general term to all structural components (Data Structure Definitions, Metadata Structure Definitions, Code Lists, Concept Schemes, etc.) 727 727 ... ... @@ -737,79 +737,90 @@ 737 737 738 738 The following table lists the Maintainable Artefacts. 739 739 740 -(% style="width:881.294px" %) 741 -|(% colspan="2" style="width:522px" %)**Maintainable Artefacts**|(% style="width:490px" %)**Content** 742 -|(% style="width:198px" %)**Abstract Class**|(% style="width:324px" %)**Concrete Class**|(% style="width:490px" %) 743 -|(% style="width:198px" %)Item Scheme|(% style="width:324px" %)Codelist|(% style="width:490px" %)Code 744 -|(% style="width:198px" %) |(% style="width:324px" %)Concept Scheme|(% style="width:490px" %)Concept 745 -|(% style="width:198px" %) |(% style="width:324px" %)Category Scheme|(% style="width:490px" %)Category 746 -|(% style="width:198px" %) |(% style="width:324px" %)Organisation Unit Scheme|(% style="width:490px" %)Organisation Unit 747 -|(% style="width:198px" %) |(% style="width:324px" %)Agency Scheme|(% style="width:490px" %)Agency 748 -|(% style="width:198px" %) |(% style="width:324px" %)Data Provider Scheme|(% style="width:490px" %)Data Provider 749 -|(% style="width:198px" %) |(% style="width:324px" %)Metadata Provider Scheme|(% style="width:490px" %)Metadata Provider 750 -|(% style="width:198px" %) |(% style="width:324px" %)Data Consumer Scheme|(% style="width:490px" %)Data Consumer 751 -|(% style="width:198px" %) |(% style="width:324px" %)Reporting Taxonomy|(% style="width:490px" %)Reporting Category 752 -|(% style="width:198px" %) |(% style="width:324px" %)Transformation Scheme|(% style="width:490px" %)Transformation 753 -|(% style="width:198px" %) |(% style="width:324px" %)Custom Type Scheme|(% style="width:490px" %)Custom Type 754 -|(% style="width:198px" %) |(% style="width:324px" %)Name Personalisation Scheme|(% style="width:490px" %)Name Personalisation 755 -|(% style="width:198px" %) |(% style="width:324px" %)Vtl Mapping Scheme|(% style="width:490px" %)Vtl Codelist Mapping Vtl Concept Mapping 756 -|(% style="width:198px" %) |(% style="width:324px" %)Ruleset Scheme|(% style="width:490px" %)Ruleset 757 -|(% style="width:198px" %) |(% style="width:324px" %)User Defined Operator Scheme|(% style="width:490px" %)User Defined Operator 758 -|(% style="width:198px" %)Enumerated List|(% style="width:324px" %)ValueList|(% style="width:490px" %)Value Item 759 -|(% style="width:198px" %)Structure|(% style="width:324px" %)Data Structure Definition|(% style="width:490px" %)((( 779 +|(% colspan="2" %)**Maintainable Artefacts**|**Content** 780 +|**Abstract Class**|**Concrete Class**| 781 +|Item Scheme|Codelist|Code 782 +| |Concept Scheme|Concept 783 +| |Category Scheme|Category 784 +| |Organisation Unit Scheme|Organisation Unit 785 +| |Agency Scheme|Agency 786 +| |Data Provider Scheme|Data Provider 787 +| |Metadata Provider Scheme|Metadata Provider 788 +| |Data Consumer Scheme|Data Consumer 789 +| |Reporting Taxonomy|Reporting Category 790 +| |Transformation Scheme|Transformation 791 +| |Custom Type Scheme|Custom Type 792 +| |Name Personalisation Scheme|Name Personalisation 793 +| |Vtl Mapping Scheme|Vtl Codelist Mapping Vtl Concept Mapping 794 +| |Ruleset Scheme|Ruleset 795 +| |User Defined Operator Scheme|User Defined Operator 796 +|Enumerated List|ValueList|Value Item 797 +|Structure|Data Structure Definition|((( 760 760 Dimension Descriptor 799 + 761 761 Group Dimension Descriptor 801 + 762 762 Dimension 803 + 763 763 Time Dimension 805 + 764 764 Attribute Descriptor 807 + 765 765 Data Attribute 809 + 766 766 Measure Descriptor 811 + 767 767 Measure 768 768 ))) 769 -| (%style="width:198px" %)|(% style="width:324px" %)Metadata Structure Definition|(% style="width:490px" %)Metadata Attribute Descriptor Metadata Attribute770 -| (% style="width:198px" %)Structure Usage|(% style="width:324px" %)Dataflow|(%style="width:490px" %)771 -| (%style="width:198px" %)|(% style="width:324px" %)Metadataflow|(%style="width:490px" %)772 -| (% style="width:198px" %)None|(% style="width:324px" %)Process|(% style="width:490px" %)Process Step773 -| (% style="width:198px" %)None|(% style="width:324px" %)Structure Map|(% style="width:490px" %)(((814 +| |Metadata Structure Definition|Metadata Attribute Descriptor Metadata Attribute 815 +|Structure Usage|Dataflow| 816 +| |Metadataflow| 817 +|None|Process|Process Step 818 +|None|Structure Map|((( 774 774 Component Map 820 + 775 775 Epoch Map 822 + 776 776 Date Pattern Map 777 777 ))) 778 -| (% style="width:198px" %)None|(% style="width:324px" %)Representation Map|(% style="width:490px" %)Representation Mapping779 -| (% style="width:198px" %)Item Scheme Map|(% style="width:324px" %)Organisation Scheme Map|(% style="width:490px" %)Item Map780 -| (%style="width:198px" %)|(% style="width:324px" %)Concept Scheme Map|(% style="width:490px" %)Item Map781 -| (%style="width:198px" %)|(% style="width:324px" %)Category Scheme Map|(% style="width:490px" %)Item Map782 -| (%style="width:198px" %)|(% style="width:324px" %)Reporting Taxonomy Map|(% style="width:490px" %)Item Map783 -| (% style="width:198px" %)None|(% style="width:324px" %)Provision Agreement|(%style="width:490px" %)784 -| (% style="width:198px" %)None|(% style="width:324px" %)Metadata Provision Agreement|(%style="width:490px" %)785 -| (% style="width:198px" %)None|(% style="width:324px" %)Hierarchy|(% style="width:490px" %)Hierarchical Code786 -| (% style="width:198px" %)None|(% style="width:324px" %)Hierarchy Association|(%style="width:490px" %)787 -| (% style="width:198px" %)None|(% style="width:324px" %)Categorisation|(%style="width:490px" %)825 +|None|Representation Map|Representation Mapping 826 +|Item Scheme Map|Organisation Scheme Map|Item Map 827 +| |Concept Scheme Map|Item Map 828 +| |Category Scheme Map|Item Map 829 +| |Reporting Taxonomy Map|Item Map 830 +|None|Provision Agreement| 831 +|None|Metadata Provision Agreement| 832 +|None|Hierarchy|Hierarchical Code 833 +|None|Hierarchy Association| 834 +|None|Categorisation| 788 788 789 789 **Table 4: Table of Maintainable Artefacts for Structural Definition Metadata** 790 790 791 -=== {{id name="_Toc93864"/}}7.1.2 Item Scheme, Structure === 838 +===== {{id name="_Toc93864"/}}7.1.2 Item Scheme, Structure ===== 792 792 793 793 The artefacts included in the structural definitions are: 794 794 795 -* 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) 796 -* All types of Enumerated List (ValueList){{footnote}}Note that Codelist is also an EnumeratedList.{{/footnote}} 797 -* All types of Structure (Data Structure Definition, Metadata Structure Definition) 798 -* All types of Structure Usage (Dataflow, Metadataflow) 842 +• 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) 799 799 800 - ==={{idname="_Toc93865"/}}7.1.3StructureUsage===844 +• All types of Enumerated List (ValueList)^^[[(% class="wikiinternallink wikiinternallink wikiinternallink" %)^^3^^>>path:#sdfootnote3sym||name="sdfootnote3anc"]](%%)^^ 801 801 802 - ====7.1.3.1StructureUsage: BasicConcepts====846 +• All types of Structure (Data Structure Definition, Metadata Structure Definition) 803 803 848 +• All types of Structure Usage (Dataflow, Metadataflow) 849 + 850 +===== {{id name="_Toc93865"/}}7.1.3 Structure Usage ===== 851 + 852 +**7.1.3.1 Structure Usage: Basic Concepts** 853 + 804 804 The Structure Usage defines, in its concrete classes of Dataflow and Metadataflow, which flows of data and metadata use which specific Structure, and importantly for the support of data and metadata discovery, the Structure Usage can be linked to one or more Category in one or more Category Scheme using the Categorisation mechanism. This gives the ability for an application to discover data and metadata by “drilling down” the Category Schemes. 805 805 806 - ====7.1.3.2 Structure Usage Schematic====856 +**7.1.3.2 Structure Usage Schematic** 807 807 808 808 [[image:SDMX 3-0-0 SECTION 5 FINAL-1.0_en_52097ab5.jpg||height="246" width="438"]] 809 809 810 810 **Figure 9: Schematic of Linking the Data and Metadata Flows to Categories and Structure Definitions** 811 811 812 - ====7.1.3.3 Structure Usage Model====862 +**7.1.3.3 Structure Usage Model** 813 813 814 814 [[image:SDMX 3-0-0 SECTION 5 FINAL-1.0_en_302cc1a2.jpg||height="548" width="578"]] 815 815 ... ... @@ -825,9 +825,9 @@ 825 825 * Categorisation to Dataflow and Category 826 826 * Categorisation to Metadataflow and Category 827 827 828 -== {{id name="_Toc93866"/}}7.2 Data and Metadata Provisioning == 878 +=== {{id name="_Toc93866"/}}7.2 Data and Metadata Provisioning === 829 829 830 -=== {{id name="_Toc93867"/}}7.2.1 Provisioning Agreement: Basic concepts === 880 +===== {{id name="_Toc93867"/}}7.2.1 Provisioning Agreement: Basic concepts ===== 831 831 832 832 Data/Metadata provisioning defines a framework in which the provision of different types of statistical data and metadata by various data/metadata providers can be specified and controlled. This framework is the basis on which the existence of data can be made known to the SDMX-enabled community and hence the basis on which data can subsequently be discovered. Such a framework can be used to regulate the data content to facilitate the building of intelligent applications. It can also be used to facilitate the processing implied by service level agreements, or other provisioning agreements in those scenarios that are based on legal directives. Additionally, quality and timeliness metadata can be supported by this framework which makes it practical to implement information supply chain monitoring. 833 833 ... ... @@ -835,7 +835,7 @@ 835 835 836 836 Although the Provision Agreement directly supports the data-sharing “pull” model, it is also useful in “push” exchanges (bilateral and gateway scenarios), or in a dissemination environment. It should be noted, too, that in any exchange scenario, the registry functions as a repository of structural metadata. 837 837 838 -=== {{id name="_Toc93868"/}}7.2.2 Provisioning Agreement Model – pull use case === 888 +===== {{id name="_Toc93868"/}}7.2.2 Provisioning Agreement Model – pull use case ===== 839 839 840 840 An organisation which publishes statistical data or reference metadata and wishes to make it available to an SDMX enabled community is called a Data Provider. In terms of the SDMX Information Model, the Data Provider is maintained in a Data Provider Scheme. 841 841 ... ... @@ -857,9 +857,9 @@ 857 857 858 858 A Provision Agreement is structural metadata. Each Provision Agreement must reference a Data Provider or Metadata Provider and a Dataflow or Metadataflow Definition. The Data/Metadata Provider and the Dataflow/Metadataflow must exist already in order to set up a Metadata Provision or Provision Agreement. 859 859 860 -== {{id name="_Toc93869"/}}7.3 Data and Metadata Constraints == 910 +=== {{id name="_Toc93869"/}}7.3 Data and Metadata Constraints === 861 861 862 -=== {{id name="_Toc93870"/}}7.3.1 Data and Metadata Constraints: Basic Concepts === 912 +===== {{id name="_Toc93870"/}}7.3.1 Data and Metadata Constraints: Basic Concepts ===== 863 863 864 864 Constraints are, effectively, lists of the valid or actual content of data and metadata. Constraints can be used to specify a subset of the theoretical content of data set or metadata set which can be derived from the specification of the DSD or MSD. A Constraint can comprise a list of keys or a list of content (usually code values) of a specific component such as a dimension or attribute. 865 865 ... ... @@ -923,14 +923,17 @@ 923 923 924 924 The Registration has an action attribute which takes one of the following values: 925 925 976 +: 977 + 926 926 ((( 927 -(% style="width:761.294px" %) 928 -|(% style="width:196px" %)**Action Attribute Value**|(% style="width:561px" %)**Behaviour** 929 -|(% style="width:196px" %)Append|(% style="width:561px" %)Add this Registration to the registry 930 -|(% style="width:196px" %)Replace|(% style="width:561px" %)((( 931 -Replace the existing Registration with identified by the id in the Registration of the SubmitRegistrationRequest 979 +|**Action Attribute Value**|**Behaviour** 980 +|Append|Add this Registration to the registry 981 +|Replace|((( 982 +Replace the existing Registration with identified by the id in the 983 + 984 +Registration of the SubmitRegistrationRequest 932 932 ))) 933 -| (% style="width:196px" %)Delete|(% style="width:561px" %)Delete the existing Registration identified by the id in the Registration of the SubmitRegistrationRequest986 +|Delete|Delete the existing Registration identified by the id in the Registration of the SubmitRegistrationRequest 934 934 ))) 935 935 936 936 [[image:SDMX 3-0-0 SECTION 5 FINAL-1.0_en_bc1dcdec.jpg||height="575" width="579"]] ... ... @@ -947,20 +947,27 @@ 947 947 948 948 Information in the data or metadata set is extracted and placed in one or more //Constraint//s (see the //Constraint// model in the SDMX Information Model – Section 2 of the SDMX Standards). The information to be extracted is indicated by the Boolean values set on the ProvisionAgreement or MetadataProvisionAgreement as shown in the table below. 949 949 1003 +: 1004 + 950 950 ((( 951 -(% style="width:678.294px" %) 952 -|**Indexing Required**|(% style="width:504px" %)**Registration Process Activity** 953 -|indexTimeSeries|(% style="width:504px" %)Extract all the series keys and create a KeySet(s) Constraint. 954 -|indexDataSet|(% style="width:504px" %)Extract all the codes and other content of the Key value of the Series Key in a Data Set and create one or more Cube Regions containing Member Selections of Dimension Components of the Constraints model in the SDMX-IM, and the associated Selection Value. 955 -|indexReportingPeriod|(% style="width:504px" %)((( 1006 +|**Indexing Required**|**Registration Process Activity** 1007 +|indexTimeSeries|Extract all the series keys and create a KeySet(s) Constraint. 1008 +|indexDataSet|Extract all the codes and other content of the Key value of the Series Key in a Data Set and create one or more Cube Regions containing Member Selections of Dimension Components of the Constraints model in the SDMX-IM, and the associated Selection Value. 1009 +|indexReportingPeriod|((( 956 956 This applies only to a registered __dataset__. 1011 + 957 957 Extract the Reporting Begin and Reporting End from the Header of the Message containing the data set, and create a Reference Period constraint. 958 958 ))) 959 -|**Indexing Required**| (% style="width:504px" %)**Registration Process Activity**960 -|indexAttributes|( % style="width:504px" %)(((1014 +|**Indexing Required**|**Registration Process Activity** 1015 +|indexAttributes|((( 961 961 **Data Set** 962 -Extract the content of the Attribute Values in a Data Set and create one or more Cube Regions containing Member Selections of Data Attribute Components of the Constraints model in the SDMXIM, and the associated Selection Value 1017 + 1018 +Extract the content of the Attribute Values in a Data Set and create one or more Cube Regions containing Member Selections of Data Attribute Components of the Constraints model in the 1019 + 1020 +SDMXIM, and the associated Selection Value 1021 + 963 963 **Metadata Set** 1023 + 964 964 Indicate the presence of a Reported Attribute by creating one or more Cube Regions containing Member Selections of Metadata Attribute Components of the Constraints model in the SDMX-IM. Note that the content is not stored in the Selection Value. 965 965 ))) 966 966 ))) ... ... @@ -969,7 +969,7 @@ 969 969 970 970 The Registration must reference the ProvisionAgreement or MetadataProvisionAgreement to which it relates. 971 971 972 -=== {{id name="_Toc93876"/}}7.4.3 Registration Response === 1032 +===== {{id name="_Toc93876"/}}7.4.3 Registration Response ===== 973 973 974 974 After a registration request has been submitted to the registry, a response is returned to the submitter indicating success or failure. Given that a registration request can hold many Registrations, then there must be a registration status for each Registration. The SubmitRegistration class has a status field, which is either set to “Success”, “Warning” or “Failure”. 975 975 ... ... @@ -999,18 +999,20 @@ 999 999 1000 1000 Regardless of the type of registry/repository events being observed, a subscription always contains: 1001 1001 1002 -1. set of URIs describing the end-points to which notifications must be sent if the subscription is activated. The URIs can be either mailto~: or http: protocol. In the former case an email notification is sent; in the latter an HTTP POST notification is sent. 1062 +1. A set of URIs describing the end-points to which notifications must be sent if the subscription is activated. The URIs can be either mailto~: or http: protocol. In the former case an email notification is sent; in the latter an HTTP POST notification is sent. 1003 1003 1. A user-defined identifier, which is returned in the response to the subscription request. This helps with asynchronous processing and is NOT stored in the Registry. 1004 1004 1. A validity period which defines both when the subscription becomes active and expires. The subscriber may be sent a notification on expiration of the subscription. 1005 1005 1. A selector which specifies which type of events are of interest. The set of event types is: 1006 1006 1067 +: 1068 +:: 1069 + 1007 1007 ((( 1008 -(% style="width:856.294px" %) 1009 -|(% style="width:320px" %)**Event Type**|(% style="width:532px" %)**Comment** 1010 -|(% style="width:320px" %)STRUCTURAL_REPOSITORY_EVENTS|(% style="width:532px" %)Life-cycle changes to Maintainable Artefacts in the structural metadata repository. 1011 -|(% style="width:320px" %)DATA_REGISTRATION_EVENTS|(% style="width:532px" %)Whenever a published dataset is registered. This can be either a SDMXML data file or an SDMX conformant database. 1012 -|(% style="width:320px" %)METADATA_REGISTRATION_EVENTS|(% style="width:532px" %)Whenever a published metadataset is registered. This can be either a SDMXML reference metadata file or an SDMX conformant database. 1013 -|(% style="width:320px" %)ALL_EVENTS|(% style="width:532px" %)All events of the specified EventType 1071 +|**Event Type**|**Comment** 1072 +|STRUCTURAL_REPOSITORY_EVENTS|Life-cycle changes to Maintainable Artefacts in the structural metadata repository. 1073 +|DATA_REGISTRATION_EVENTS|Whenever a published dataset is registered. This can be either a SDMXML data file or an SDMX conformant database. 1074 +|METADATA_REGISTRATION_EVENTS|Whenever a published metadataset is registered. This can be either a SDMXML reference metadata file or an SDMX conformant database. 1075 +|ALL_EVENTS|All events of the specified EventType 1014 1014 ))) 1015 1015 1016 1016 === {{id name="_Toc93880"/}}7.5.3 Wildcard Facility === ... ... @@ -1024,25 +1024,33 @@ 1024 1024 Examples of wildcarded identifier components for an identified object type of Codelist are shown below: 1025 1025 1026 1026 AgencyID = * 1089 + 1027 1027 Id = * 1091 + 1028 1028 Version = * 1029 1029 1030 1030 This subscribes to all Codelists of all versions for all agencies. 1031 1031 1032 1032 AgencyID = AGENCY1 1097 + 1033 1033 Id = CODELIST1 1099 + 1034 1034 Version = * 1035 1035 1036 1036 This subscribes to all versions of Codelist CODELIST1 maintained by the agency AGENCY1. 1037 1037 1038 1038 AgencyID = AGENCY1 1105 + 1039 1039 Id = * 1107 + 1040 1040 Version = * 1041 1041 1042 1042 This subscribes to all versions of all Codelist objects maintained by the agency AGENCY1. 1043 1043 1044 1044 AgencyID = * 1113 + 1045 1045 Id = CODELIST1 1115 + 1046 1046 Version = * 1047 1047 1048 1048 This subscribes to all versions of Codelist CODELIST1 maintained by any agency. ... ... @@ -1069,14 +1069,15 @@ 1069 1069 1070 1070 Whenever a dataset or metadata-set is registered a registration event is created. A subscription may be observing all data or metadata registrations, or it may focus on specific registrations as shown in the table below: 1071 1071 1142 +: 1143 + 1072 1072 ((( 1073 -(% style="width:1126.29px" %) 1074 -|(% style="width:382px" %)**Selector**|(% style="width:740px" %)**Comment** 1075 -|(% style="width:382px" %)DataProvider & MetadataProvider|(% style="width:740px" %)Any datasets or metadata sets registered by the specified data or metadata provider will activate the notification. 1076 -|(% style="width:382px" %)ProvisionAgreement & MetadataProvisionAgreement|(% style="width:740px" %)Any datasets or metadata sets registered for the agreement will activate the notification. 1077 -|(% style="width:382px" %)Dataflow & Metadataflow|(% style="width:740px" %)Any datasets or metadata sets registered for the specified dataflow (or metadataflow) will activate the notification. 1078 -|(% style="width:382px" %)DataStructureDefinition & MetadataStructureDefinition|(% style="width:740px" %)Any datasets or metadata sets registered for those dataflows (or metadataflows) that are based on the specified Data Structure Definition will activate the notification 1079 -|(% style="width:382px" %)Category|(% style="width:740px" %)Any datasets or metadata sets registered for those dataflows, metadataflows, provision agreements that are categorised by the category. 1145 +|**Selector**|**Comment** 1146 +|DataProvider & MetadataProvider|Any datasets or metadata sets registered by the specified data or metadata provider will activate the notification. 1147 +|ProvisionAgreement & MetadataProvisionAgreement|Any datasets or metadata sets registered for the agreement will activate the notification. 1148 +|Dataflow & Metadataflow|Any datasets or metadata sets registered for the specified dataflow (or metadataflow) will activate the notification. 1149 +|DataStructureDefinition & MetadataStructureDefinition|Any datasets or metadata sets registered for those dataflows (or metadataflows) that are based on the specified Data Structure Definition will activate the notification 1150 +|Category|Any datasets or metadata sets registered for those dataflows, metadataflows, provision agreements that are categorised by the category. 1080 1080 ))) 1081 1081 1082 1082 The event will also capture the semantic of the registration: deletion or replacement of an existing registration or a new registration. ... ... @@ -1108,6 +1108,12 @@ 1108 1108 1109 1109 The notification will contain the Registration. 1110 1110 1111 - ----1182 +[[1>>path:#sdfootnote1anc||name="sdfootnote1sym"]] 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.4draft does not break integrity of the aforementioned DSD. 1112 1112 1184 +[[2>>path:#sdfootnote2anc||name="sdfootnote2sym"]] The identification of an Agency in the URN structure for the maintainable object is by means of the agencyId. The AgencyScheme is not identified as SDMX has a mechanism for identifying an Agency uniquely by its Id. Note that this Id may be hierarchical. For example, a sub-agency of IMF is referred like this: 1185 + 1186 +IMF.SubAgency1 1187 + 1188 +[[3>>path:#sdfootnote3anc||name="sdfootnote3sym"]] Note that Codelist is also an EnumeratedList. 1189 + 1113 1113 {{putFootnotes/}}
- 1747307906944-697.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.helena - Size
-
... ... @@ -1,1 +1,0 @@ 1 -37.9 KB - Content
- SUZ.Methodology.Code.MethodologyClass[0]
-