URN V11
Contents
Overview
A URN is an abbreviation for Uniform Resource Name. The URN, as used by the SDMX specification, is a globally unique identifier to any Identifiable SDMX Structure.
The URN is used as a mechanism to link structures together without having to know the exact location of the structure, this is how the URN differs from a URL, the former provides a long lasting references which is agnostic to location, the latter provides a precise location of where to obtain the resource.
Structure of a SDMX URN
A URN is made up of 2 to 3 parts, depending on the type of structure being referenced.
- Namespace
- Reference to the Maintainable Structure
- Reference to the Identifiable Structure (if the URN is referencing a Structure within a Maintainable, i.e a Code within a Codelist)
URN Namespace
The URN Namespaces are defined by SDMX, and take the following syntax:
The prefix for all SDMX Structural Metadata is urn:sdmx:org.sdmx.infomodel. The Package and Class are used to represent the type of structure being referenced.
URN Identifiers
The URN Namespace identifies which type of Structure is being referenced, i.e., a Codelist, Data Structure, Concept, etc.
The subsequent properties in the URN Namespace are used to Identify the structure, starting with the Maintainable identifiers, which are:
- Agency Id
- Identifiable|Id
- Version
If the structure is not a Maintainable structure, but instead lives inside one, i.e a Code which lives inside a Codelist or a Dimension which lives inside a Data Structure, then the remainder of the URN is used to identify the structure inside the Maintainable parent.
For structures which live nested inside others, i.e., a Category which is a number of levels deep, the nesting is part of the URN identification.
urn:sdmx:org.sdmx.infomodel.categoryscheme.Category=SDMX:STAT_SUBJECT_MATTER(1.0).DEMO_SOCIAL_STAT.HEALTH
Where the HEALTH Category is a child of the DEMO_SOCIAL_STAT Category.
URN Examples
Structure Type | Package | Class | Parent | Example |
---|---|---|---|---|
Agency Scheme | base | AgencyScheme | - | urn:sdmx:org.sdmx.infomodel.base.AgencyScheme=SDMX:AGENCIES(1.0) |
Agency | base | Agency | AgencyScheme | urn:sdmx:org.sdmx.infomodel.base.Agency=SDMX |
Data Provider Scheme | base | DataProviderScheme | - | urn:sdmx:org.sdmx.infomodel.base.DataProviderScheme=FAO:DATA_PROVIDERS(1.0) |
Data Provider | base | DataProvider | DataProviderScheme | urn:sdmx:org.sdmx.infomodel.base.DataProvider=FAO:DATA_PROVIDERS(1.0).FR2 |
Data Consumer Scheme | base | DataConsumerScheme | - | urn:sdmx:org.sdmx.infomodel.base.DataConsumerScheme=FAO:DATA_CONSUMERS(1.0) |
Data Consumer | base | DataConsumer | DataConsumerScheme | urn:sdmx:org.sdmx.infomodel.base.DataConsumer=FAO:DATA_CONSUMER(1.0).FR2 |
Organisation Unit Scheme | base | OrganisationUnitScheme | - | urn:sdmx:org.sdmx.infomodel.base.OrganisationUnitScheme=FAO:UNITSCHEME_A(1.0) |
Organisation Unit | base | OrganisationUnit | OrganisationUnitScheme | urn:sdmx:org.sdmx.infomodel.base.OrganisationUnit=FAO:UNITSCHEME_A(1.0).STATS |
Categorisation | categoryscheme | Categorisation | - | urn:sdmx:org.sdmx.infomodel.categoryscheme.Categorisation=IMF:CAT1(1.0) |
Category Scheme | categoryscheme | CategoryScheme | - | urn:sdmx:org.sdmx.infomodel.categoryscheme.CategoryScheme=SDMX:STAT_SUBJECT_MATTER(1.0) |
Category | categoryscheme | Category | CategoryScheme | urn:sdmx:org.sdmx.infomodel.categoryscheme.Category=SDMX:STAT_SUBJECT_MATTER(1.0).DEMO_SOCIAL_STAT |
Reporting Taxonomy | categoryscheme | ReportingTaxonomy | - | urn:sdmx:org.sdmx.infomodel.categoryscheme.ReportingTaxonomy=SDMX:RT(1.0) |
Reporting Category | categoryscheme | ReportingCategory | ReportingTaxonomy | urn:sdmx:org.sdmx.infomodel.categoryscheme.ReportingCategory=SDMX:RT(1.0).CAT1 |
Concept Scheme | conceptscheme | ConceptScheme | - | urn:sdmx:org.sdmx.infomodel.conceptscheme.ConceptScheme=SDMX:CROSS_DOMAIN_CONCEPTS(2.0) |
Concept | conceptscheme | Concept | ConceptScheme | urn:sdmx:org.sdmx.infomodel.conceptscheme.Concept=SDMX:CROSS_DOMAIN_CONCEPTS(2.0).FREQ |
Codelist | codelist | Codelist | - | urn:sdmx:org.sdmx.infomodel.codelist.Codelist=SDMX:CL_FREQ(2.0) |
Code | codelist | Code | Codelist | urn:sdmx:org.sdmx.infomodel.codelist.Code=SDMX:CL_FREQ(2.0).A |
Data Structure | datastructure | DataStructure | - | urn:sdmx:org.sdmx.infomodel.datastructure.DataStructure=ESTAT:CPI(1.1) |
Attribute List | datastructure | AttributeDescriptor | DataStructure | urn:sdmx:org.sdmx.infomodel.datastructure.AttributeDescriptor=ESTAT:CPI(1.1).AttributeDescriptor |
Attribute | datastructure | DataAttribute | AttributeDescriptor | urn:sdmx:org.sdmx.infomodel.datastructure.DataAttribute=ESTAT:CPI(1.0).DISS_ORG |
Dimension List | datastructure | DimensionDescriptor | DataStructure | urn:sdmx:org.sdmx.infomodel.datastructure.DimensionDescriptor=ESTAT:CPI(1.1).DimensionDescriptor |
Dimension | datastructure | Dimension | DimensionDescriptor | urn:sdmx:org.sdmx.infomodel.datastructure.Dimension=ESTAT:CPI(1.0).FREQ |
Group List | datastructure | GroupDimensionDescriptor | DataStructure | urn:sdmx:org.sdmx.infomodel.datastructure.GroupDimensionDescriptor=ESTAT:CPI(1.1).SiblingGroup |
Measure List | datastructure | MeasureDescriptor | DataStructure | urn:sdmx:org.sdmx.infomodel.datastructure.MeasureDescriptor=ESTAT:CPI(1.1).MeasureDescriptor |
Primary Measure | datastructure | PrimaryMeasure | MeasureDescriptor | urn:sdmx:org.sdmx.infomodel.datastructure.PrimaryMeasure=ESTAT:CPI(1.1).OBS_VALUE |
Time Dimension | datastructure | TimeDimension | DataStructure | urn:sdmx:org.sdmx.infomodel.datastructure.TimeDimension=ESTAT:CPI(1.0).TIME_PERIOD |
Metadata Structure | metadatastructure | MetadataStructure | - | |
Report Structure | metadatastructure | ReportStructure | MetadataStructure | |
Metadata Attribute | metadatastructure | MetadataAttribute | ReportStructure | |
Metadata Target | metadatastructure | MetadataTarget | MetadataStructure | |
Metadata Target (URN) | metadatastructure | IdentifiableObjectTarget | MetadataTarget | |
Metadata Target (Dimension Values) | metadatastructure | DimensionDescriptorValuesTarget | - | |
Metadataflow | metadatastructure | Metadataflow | - | |
Process | process | Process | - | |
Process Step | process | ProcessStep | Process | |
Transition | process | Transition | ProcessStep | |
Provision Agreement | registry | ProvisionAgreement | - | |
Content Constraint | registry | ContentConstraint | - | |
Structure Set | mapping | StructureSet | - | |
Structure Map | mapping | Structure Map | StructureSet | |
Category Scheme Map | mapping | CategorySchemeMap | StructureSet | |
Concept Scheme Map | mapping | ConceptSchemeMap | StructureSet | |
Codelist Map | mapping | CodelistMap | StructureSet | |
Component Map | mapping | ComponentMap | StructureSet | |
Organisation Scheme Map | mapping | OrganisationSchemeMap | StructureSet |