InstanceKey#

Fully qualified class name of the UML model DDI-CDI 1.0: DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyValue::InstanceKey

Definition#

Single-valued key representation produced from the merge of the representations of all key members and a descriptor.

Examples#

The string “cluster:income_distribution:unitid:20:period:2020/02:income”, where “cluster:income_distribution” is a key member based on a contextual component, “unitid:20” is based on an identifier component, “period:2020/02” is based on a component with a time role and “income” is based on a descriptor.

Explanatory notes#

For value strings, the merge is the string concatenation operation. For other classes, an appropriate merge representation can be defined.

Diagram#

Diagram

Inheritance#

Inheritance
  ᐊ── KeyValue::InstanceKey

Attributes#

Attributes
Attributes#

Name

Inherited from

Description

Data Type

Multiplicity

Default value

identifier

DataDescription::Key

Identifier for objects requiring short- or long-lasting referencing and management.

Identifier

0..1

Associations#

Associations
Associations#

Direction

Association

Description

Multiplicity of InstanceKey

Package of Other Class

Other Class

Multiplicity of other class

Aggregation Kind

Inherited from

from

Key correspondsTo Unit

0..*

Conceptual

Unit

0..1

none

DataDescription::Key

from

Key correspondsTo Universe

0..*

Conceptual

Universe

0..1

none

DataDescription::Key

to

DataSet has Key

0..*

DataDescription

DataSet

1..1

none

DataDescription::Key

from

Key has KeyMember

0..1

DataDescription

KeyMember

0..*

shared

DataDescription::Key

from

Key identifies DataPoint

0..1

DataDescription

DataPoint

1..*

none

DataDescription::Key

from

Key represents KeyDefinition

1..*

DataDescription

KeyDefinition

0..1

none

DataDescription::Key

from

InstanceKey has InstanceValue

0..*

DataDescription

InstanceValue

0..1

none

own class

from

InstanceKey refersTo ReferenceValue

0..*

Long

ReferenceValue

1..1

none

own class

Encodings#

Syntax representations / encodings

All syntax representations except the Canonical XMI are provided as reference points for specific implementations, or for use as defaults if sufficient in the form presented.

Fragment for the class InstanceKey (entire model as XMI)

 1<packagedElement xmlns:StandardProfile="http://www.omg.org/spec/UML/20131001/StandardProfile"
 2                  xmlns:uml="http://www.omg.org/spec/UML/20131001"
 3                  xmlns:xmi="http://www.omg.org/spec/XMI/20131001"
 4                  xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyValue-InstanceKey"
 5                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#InstanceKey"
 6                  xmi:type="uml:Class">
 7   <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyValue-InstanceKey-ownedComment"
 8                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#InstanceKey-ownedComment"
 9                  xmi:type="uml:Comment">
10      <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyValue-InstanceKey"/>
11      <body>Definition
12============
13Single-valued key representation produced from the merge of the representations of all key members and a descriptor. 
14
15Examples
16==========
17The string "cluster:income_distribution:unitid:20:period:2020/02:income", where "cluster:income_distribution" is a key member based on a contextual component, "unitid:20" is based on an identifier component, "period:2020/02" is based on a component with a time role and "income" is based on a descriptor.
18
19
20Explanatory notes
21===================
22For value strings, the merge is the string concatenation operation.
23For other classes, an appropriate merge representation can be defined.</body>
24   </ownedComment>
25   <name>InstanceKey</name>
26   <generalization xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyValue-InstanceKey-generalization"
27                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#InstanceKey-generalization"
28                    xmi:type="uml:Generalization">
29      <general xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-Key"/>
30   </generalization>
31   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyValue-InstanceKey-ownedAttribute_1"
32                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#InstanceKey-ownedAttribute_1"
33                    xmi:type="uml:Property">
34      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyValue-InstanceKey-ownedAttribute_1-lowerValue"
35                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#InstanceKey-ownedAttribute_1-lowerValue"
36                   xmi:type="uml:LiteralInteger"/>
37      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyValue-InstanceKey-ownedAttribute_1-upperValue"
38                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#InstanceKey-ownedAttribute_1-upperValue"
39                   xmi:type="uml:LiteralUnlimitedNatural">
40         <value>1</value>
41      </upperValue>
42      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-InstanceKey_has_InstanceValue"/>
43      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-InstanceValue"/>
44   </ownedAttribute>
45   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyValue-InstanceKey-ownedAttribute_2"
46                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#InstanceKey-ownedAttribute_2"
47                    xmi:type="uml:Property">
48      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyValue-InstanceKey-ownedAttribute_2-lowerValue"
49                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#InstanceKey-ownedAttribute_2-lowerValue"
50                   xmi:type="uml:LiteralInteger">
51         <value>1</value>
52      </lowerValue>
53      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyValue-InstanceKey-ownedAttribute_2-upperValue"
54                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#InstanceKey-ownedAttribute_2-upperValue"
55                   xmi:type="uml:LiteralUnlimitedNatural">
56         <value>1</value>
57      </upperValue>
58      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyValue-InstanceKey_refersTo_ReferenceValue"/>
59      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-Long-ReferenceValue"/>
60   </ownedAttribute>
61</packagedElement>

Fragment for the class InstanceKey (entire XML Schema)

  1<xs:element name="InstanceKey"
  2            type="InstanceKeyXsdType"
  3            xml:id="InstanceKey">
  4  <!-- based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyValue::InstanceKey -->
  5  <xs:annotation>
  6    <xs:documentation>Definition
  7          ============
  8          Single-valued key representation produced from the merge of the representations of all key members and a descriptor. 
  9          
 10          Examples
 11          ==========
 12          The string "cluster:income_distribution:unitid:20:period:2020/02:income", where "cluster:income_distribution" is a key member based on a contextual component, "unitid:20" is based on an identifier component, "period:2020/02" is based on a component with a time role and "income" is based on a descriptor.
 13          
 14          
 15          Explanatory notes
 16          ===================
 17          For value strings, the merge is the string concatenation operation.
 18          For other classes, an appropriate merge representation can be defined.</xs:documentation>
 19  </xs:annotation>
 20</xs:element>
 21<xs:complexType name="InstanceKeyXsdType"
 22                xml:id="InstanceKeyXsdType">
 23  <xs:annotation>
 24    <xs:documentation>Definition
 25          ============
 26          Single-valued key representation produced from the merge of the representations of all key members and a descriptor. 
 27          
 28          Examples
 29          ==========
 30          The string "cluster:income_distribution:unitid:20:period:2020/02:income", where "cluster:income_distribution" is a key member based on a contextual component, "unitid:20" is based on an identifier component, "period:2020/02" is based on a component with a time role and "income" is based on a descriptor.
 31          
 32          
 33          Explanatory notes
 34          ===================
 35          For value strings, the merge is the string concatenation operation.
 36          For other classes, an appropriate merge representation can be defined.</xs:documentation>
 37  </xs:annotation>
 38  <xs:complexContent>
 39    <xs:extension base="KeyXsdType">
 40      <xs:sequence>
 41        <xs:element name="InstanceKey_has_InstanceValue"
 42                    minOccurs="0"
 43                    maxOccurs="1"
 44                    xml:id="InstanceKey_has_InstanceValue">
 45          <xs:annotation>
 46            <xs:documentation></xs:documentation>
 47          </xs:annotation>
 48          <xs:complexType>
 49            <xs:complexContent>
 50              <xs:restriction base="AssociationReferenceXsdType">
 51                <xs:sequence>
 52                  <xs:element name="ddiReference"
 53                              type="InternationalRegistrationDataIdentifierXsdType"
 54                              minOccurs="0"
 55                              maxOccurs="1"
 56                              xml:id="InstanceKey_has_InstanceValue-ddiReference"/>
 57                  <xs:element name="validType"
 58                              minOccurs="0"
 59                              maxOccurs="unbounded"
 60                              xml:id="InstanceKey_has_InstanceValue-validType">
 61                    <xs:simpleType>
 62                      <xs:restriction base="xs:NMTOKEN">
 63                        <xs:enumeration value="Descriptor"/>
 64                        <xs:enumeration value="DimensionalKeyMember"/>
 65                        <xs:enumeration value="InstanceValue"/>
 66                        <xs:enumeration value="KeyMember"/>
 67                        <xs:enumeration value="LongMainKeyMember"/>
 68                        <xs:enumeration value="MainKeyMember"/>
 69                        <xs:enumeration value="ReferenceValue"/>
 70                        <xs:enumeration value="WideKeyMember"/>
 71                      </xs:restriction>
 72                    </xs:simpleType>
 73                  </xs:element>
 74                </xs:sequence>
 75              </xs:restriction>
 76            </xs:complexContent>
 77          </xs:complexType>
 78        </xs:element>
 79        <xs:element name="InstanceKey_refersTo_ReferenceValue"
 80                    minOccurs="1"
 81                    maxOccurs="1"
 82                    xml:id="InstanceKey_refersTo_ReferenceValue">
 83          <xs:annotation>
 84            <xs:documentation></xs:documentation>
 85          </xs:annotation>
 86          <xs:complexType>
 87            <xs:complexContent>
 88              <xs:restriction base="AssociationReferenceXsdType">
 89                <xs:sequence>
 90                  <xs:element name="ddiReference"
 91                              type="InternationalRegistrationDataIdentifierXsdType"
 92                              minOccurs="0"
 93                              maxOccurs="1"
 94                              xml:id="InstanceKey_refersTo_ReferenceValue-ddiReference"/>
 95                  <xs:element name="validType"
 96                              minOccurs="0"
 97                              maxOccurs="unbounded"
 98                              xml:id="InstanceKey_refersTo_ReferenceValue-validType">
 99                    <xs:simpleType>
100                      <xs:restriction base="xs:NMTOKEN">
101                        <xs:enumeration value="ReferenceValue"/>
102                      </xs:restriction>
103                    </xs:simpleType>
104                  </xs:element>
105                </xs:sequence>
106              </xs:restriction>
107            </xs:complexContent>
108          </xs:complexType>
109        </xs:element>
110      </xs:sequence>
111    </xs:extension>
112  </xs:complexContent>
113</xs:complexType>

Fragment for the class InstanceKey (entire JSON Schema)

 1"cls-InstanceKey": {
 2  "description": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/InstanceKey",
 3  "type": "object",
 4  "properties": {
 5    "@context": {
 6      "$ref": "#/defs/at-context"
 7    },
 8    "@id": {
 9      "type": "string",
10      "format": "iri-reference"
11    },
12    "@type": {
13      "const": "InstanceKey"
14    },
15    "identifier": {
16      "$comment": "cardinality 0..1 – from cdi:Key",
17      "$ref": "#/defs/dt-Identifier"
18    },
19    "has_InstanceValue": {
20      "description": "InstanceKey_has_InstanceValue",
21      "$comment": "cardinality 0..1",
22       "$ref": "#/defs/target-InstanceValue"
23    },
24    "refersTo": {
25      "description": "InstanceKey_refersTo_ReferenceValue",
26      "$comment": "cardinality 1..1",
27       "$ref": "#/defs/target-ReferenceValue"
28    },
29    "correspondsTo_Unit": {
30      "description": "Key_correspondsTo_Unit",
31      "$comment": "cardinality 0..1",
32       "$ref": "#/defs/target-Unit"
33    },
34    "correspondsTo_Universe": {
35      "description": "Key_correspondsTo_Universe",
36      "$comment": "cardinality 0..1",
37       "$ref": "#/defs/target-Universe"
38    },
39    "has_KeyMember": {
40      "description": "Key_has_KeyMember",
41      "$comment": "cardinality 0..-1",
42      "anyOf": [
43        {
44          "$ref": "#/defs/target-KeyMember"
45        },
46        {
47          "type": "array",
48          "items": {
49            "$ref": "#/defs/target-KeyMember"
50          }
51        }
52      ]
53    },
54    "identifies": {
55      "description": "Key_identifies_DataPoint",
56      "$comment": "cardinality 1..-1",
57      "anyOf": [
58        {
59          "$ref": "#/defs/target-DataPoint"
60        },
61        {
62          "type": "array",
63          "items": {
64            "$ref": "#/defs/target-DataPoint"
65          }
66        }
67      ]
68    },
69    "represents": {
70      "description": "Key_represents_KeyDefinition",
71      "$comment": "cardinality 0..1",
72       "$ref": "#/defs/target-KeyDefinition"
73    },
74    "has_Key_OF_DataSet": {
75      "description": "DataSet_has_Key",
76      "$comment": "cardinality 1..1",
77      "$ref": "#/defs/target-DataSet"
78    },
79    "sameAs": {
80      "$ref": "#/defs/owl:sameAs"
81    }
82  },
83  "required": ["refersTo", "identifies","@type"],
84  "additionalProperties": false
85},
86"target-InstanceKey": {
87  "description": "all subclasses of http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/InstanceKey",
88  "anyOf": [
89    { "$ref": "#/defs/cls-InstanceKey" },
90    { "type": "string", "format": "iri-reference" }
91  ]
92},

Fragment for the class InstanceKey (main ontology)

 1# class InstanceKey
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyValue::InstanceKey
 3cdi:InstanceKey
 4  a rdfs:Class, owl:Class, ucmis:Class;
 5  rdfs:label "InstanceKey";
 6  rdfs:comment "Definition\n============\nSingle-valued key representation produced from the merge of the representations of all key members and a descriptor. \n\nExamples\n==========\nThe string \"cluster:income_distribution:unitid:20:period:2020/02:income\", where \"cluster:income_distribution\" is a key member based on a contextual component, \"unitid:20\" is based on an identifier component, \"period:2020/02\" is based on a component with a time role and \"income\" is based on a descriptor.\n\n\nExplanatory notes\n===================\nFor value strings, the merge is the string concatenation operation.\nFor other classes, an appropriate merge representation can be defined."@en;
 7  rdfs:subClassOf cdi:Key;
 8.
 9
10
11cdi:InstanceKey_has_InstanceValue
12  a rdf:Property, owl:ObjectProperty, ucmis:Association;
13  # ASSOCIATION
14  rdfs:label "has_InstanceValue";
15  skos:altLabel "InstanceKey_has_InstanceValue";
16  
17  rdfs:domain cdi:InstanceKey;
18  rdfs:range cdi:InstanceValue;
19.
20
21cdi:InstanceKey_refersTo_ReferenceValue
22  a rdf:Property, owl:ObjectProperty, ucmis:Association;
23  # ASSOCIATION
24  rdfs:label "refersTo";
25  skos:altLabel "InstanceKey_refersTo_ReferenceValue";
26  
27  rdfs:domain cdi:InstanceKey;
28  rdfs:range cdi:ReferenceValue;
29.

Fragment for the class InstanceKey (entire JSON-LD)

 1{
 2  "@context": [
 3    "Key.jsonld",
 4    {
 5      "cdi": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/",
 6      "xsd": "http://www.w3.org/2001/XMLSchema#",
 7
 8      
 9      "has_InstanceValue": {
10        "@id": "cdi:InstanceKey_has_InstanceValue",
11        "@type": "@id",
12        "@context": "InstanceValue.jsonld"
13      },
14      "refersTo": {
15        "@id": "cdi:InstanceKey_refersTo_ReferenceValue",
16        "@type": "@id",
17        "@context": "ReferenceValue.jsonld"
18      },
19      " comment ": "tag:json-should-support-trailing-commas"
20    }
21  ],
22  "generatedBy": "This code was generated by the Eclipse Acceleo project UCMIS M2T on 2025-08-29 14:34:50.",
23  "basedOn": "based on the UML data type DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyValue::InstanceKey"
24}

Fragment for the class InstanceKey (entire SHACL - Shapes Constraint Language)

 1# class InstanceKey
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyValue::InstanceKey
 3<#InstanceKey> a sh:NodeShape;
 4    sh:targetClass cdi:InstanceKey;
 5	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/InstanceKey";
 6	sh:closed true;
 7	sh:ignoredProperties ( owl:sameAs );
 8    sh:property [
 9			sh:path rdf:type;
10			sh:in (   cdi:InstanceKey
11			 ) ;
12    ];
13    # attributes
14    # associations from InstanceKey
15    sh:property <#InstanceKey_has_InstanceValue>;
16    sh:property <#InstanceKey_refersTo_ReferenceValue>;
17    # associations to InstanceKey
18
19    # ---- superclass: Key
20    # attributes
21    sh:property <#Key-identifier>;
22    # associations from Key
23    sh:property <#Key_correspondsTo_Unit>;
24    sh:property <#Key_correspondsTo_Universe>;
25    sh:property <#Key_has_KeyMember>;
26    sh:property <#Key_identifies_DataPoint>;
27    sh:property <#Key_represents_KeyDefinition>;
28    # associations to Key
29    sh:property <#rev_DataSet_has_Key>;
30
31
32
33
34
35.
36
37
38<#InstanceKey_has_InstanceValue> a sh:PropertyShape ;
39    sh:path cdi:InstanceKey_has_InstanceValue;
40	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
41        cdi:InstanceValue
42        cdi:KeyMember
43        cdi:Descriptor
44        cdi:DimensionalKeyMember
45        cdi:LongMainKeyMember
46        cdi:MainKeyMember
47        cdi:WideKeyMember
48        cdi:ReferenceValue
49      
50    ) ]];
51    sh:maxCount 1;
52.
53<#rev_InstanceKey_has_InstanceValue> a sh:PropertyShape ;
54    sh:path [ sh:inversePath cdi:InstanceKey_has_InstanceValue ];
55.
56<#InstanceKey_refersTo_ReferenceValue> a sh:PropertyShape ;
57    sh:path cdi:InstanceKey_refersTo_ReferenceValue;
58	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
59        cdi:ReferenceValue
60      
61    ) ]];
62    sh:minCount 1;
63    sh:maxCount 1;
64.
65<#rev_InstanceKey_refersTo_ReferenceValue> a sh:PropertyShape ;
66    sh:path [ sh:inversePath cdi:InstanceKey_refersTo_ReferenceValue ];
67.

Fragment for the class InstanceKey (entire ShEx - Shape Expressions)

 1# class InstanceKey
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyValue::InstanceKey
 3cdi:InstanceKeyShape CLOSED {
 4	a [cdi:InstanceKey];
 5	cdi:InstanceKey_has_InstanceValue	@cdi:InstanceValueShape OR @cdi:KeyMemberShape OR @cdi:ReferenceValueShape?;
 6	
 7	cdi:InstanceKey_refersTo_ReferenceValue	@cdi:ReferenceValueShape ;
 8	
 9		&cdi:KeyProperties;
10	}