MainKeyMember#

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

Definition#

Identifies the unit of interest, either a statistical unit or a population, via identifier or dimension components, respectively, plus an optional contextual component. If neither identifier nor dimension components are present, then a synthetic id component is used.

Examples#

The string “income_distribution:male:Ontario:married” in a dimensional key-value datastore, where instance key members are defined by context plus Sex, Province and Marital Status dimensions.

Diagram#

Diagram

Inheritance#

Inheritance
    ᐊ── KeyValue::MainKeyMember

Attributes#

Attributes
Attributes#

Name

Inherited from

Description

Data Type

Multiplicity

Default value

content

DataDescription::InstanceValue

The content of this value expressed as a string.

TypedString

0..1

identifier

DataDescription::InstanceValue

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

Identifier

0..1

whiteSpace

DataDescription::InstanceValue

The usual setting “collapse” states that leading and trailing white space will be removed and multiple adjacent white spaces will be treated as a single white space. When setting to “replace” all occurrences of #x9 (tab), #xA (line feed) and #xD (carriage return) are replaced with #x20 (space) but leading and trailing spaces will be retained. If the existence of any of these white spaces is critical to the understanding of the content, change the value of this attribute to “preserve”.

WhiteSpaceRule

0..1

Associations#

Associations
Associations#

Direction

Association

Description

Multiplicity of MainKeyMember

Package of Other Class

Other Class

Multiplicity of other class

Aggregation Kind

Inherited from

to

Key has KeyMember

0..*

DataDescription

Key

0..1

none

DataDescription::KeyMember

from

KeyMember isBasedOn DataStructureComponent

0..*

Components

DataStructureComponent

0..*

none

DataDescription::KeyMember

to

Datum uses InstanceValue

1..*

DataDescription

Datum

0..*

none

DataDescription::InstanceValue

to

InstanceKey has InstanceValue

0..1

- own package -

InstanceKey

0..*

none

DataDescription::InstanceValue

from

InstanceValue hasValueFrom ValueDomain

0..*

Representations

ValueDomain

1..1

none

DataDescription::InstanceValue

from

InstanceValue isStoredIn DataPoint

0..1

DataDescription

DataPoint

0..1

none

DataDescription::InstanceValue

from

InstanceValue represents ConceptualValue

1..*

DataDescription

ConceptualValue

0..1

none

DataDescription::InstanceValue

from

MainKeyMember hasValueFrom SubstantiveValueDomain

0..*

Representations

SubstantiveValueDomain

0..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 MainKeyMember (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-MainKeyMember"
 5                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#MainKeyMember"
 6                  xmi:type="uml:Class">
 7   <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyValue-MainKeyMember-ownedComment"
 8                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#MainKeyMember-ownedComment"
 9                  xmi:type="uml:Comment">
10      <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyValue-MainKeyMember"/>
11      <body>Definition
12============
13Identifies the unit of interest, either a statistical unit or a population, via identifier or dimension components, respectively, plus an optional contextual component. 
14If neither identifier nor dimension components are present, then a synthetic id component is used. 
15
16Examples
17==========
18The string "income_distribution:male:Ontario:married" in a dimensional key-value datastore, where instance key members are defined by context plus Sex, Province and Marital Status dimensions.</body>
19   </ownedComment>
20   <name>MainKeyMember</name>
21   <generalization xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyValue-MainKeyMember-generalization"
22                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#MainKeyMember-generalization"
23                    xmi:type="uml:Generalization">
24      <general xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyMember"/>
25   </generalization>
26   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyValue-MainKeyMember-ownedAttribute"
27                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#MainKeyMember-ownedAttribute"
28                    xmi:type="uml:Property">
29      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyValue-MainKeyMember-ownedAttribute-lowerValue"
30                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#MainKeyMember-ownedAttribute-lowerValue"
31                   xmi:type="uml:LiteralInteger"/>
32      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyValue-MainKeyMember-ownedAttribute-upperValue"
33                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#MainKeyMember-ownedAttribute-upperValue"
34                   xmi:type="uml:LiteralUnlimitedNatural">
35         <value>1</value>
36      </upperValue>
37      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyValue-MainKeyMember_hasValueFrom_SubstantiveValueDomain"/>
38      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Representations-SubstantiveValueDomain"/>
39   </ownedAttribute>
40</packagedElement>

Fragment for the class MainKeyMember (entire XML Schema)

 1<xs:element name="MainKeyMember"
 2            type="MainKeyMemberXsdType"
 3            xml:id="MainKeyMember">
 4  <!-- based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyValue::MainKeyMember -->
 5  <xs:annotation>
 6    <xs:documentation>Definition
 7          ============
 8          Identifies the unit of interest, either a statistical unit or a population, via identifier or dimension components, respectively, plus an optional contextual component. 
 9          If neither identifier nor dimension components are present, then a synthetic id component is used. 
10          
11          Examples
12          ==========
13          The string "income_distribution:male:Ontario:married" in a dimensional key-value datastore, where instance key members are defined by context plus Sex, Province and Marital Status dimensions.</xs:documentation>
14  </xs:annotation>
15</xs:element>
16<xs:complexType name="MainKeyMemberXsdType"
17                xml:id="MainKeyMemberXsdType">
18  <xs:annotation>
19    <xs:documentation>Definition
20          ============
21          Identifies the unit of interest, either a statistical unit or a population, via identifier or dimension components, respectively, plus an optional contextual component. 
22          If neither identifier nor dimension components are present, then a synthetic id component is used. 
23          
24          Examples
25          ==========
26          The string "income_distribution:male:Ontario:married" in a dimensional key-value datastore, where instance key members are defined by context plus Sex, Province and Marital Status dimensions.</xs:documentation>
27  </xs:annotation>
28  <xs:complexContent>
29    <xs:extension base="KeyMemberXsdType">
30      <xs:sequence>
31        <xs:element name="MainKeyMember_hasValueFrom_SubstantiveValueDomain"
32                    minOccurs="0"
33                    maxOccurs="1"
34                    xml:id="MainKeyMember_hasValueFrom_SubstantiveValueDomain">
35          <xs:annotation>
36            <xs:documentation></xs:documentation>
37          </xs:annotation>
38          <xs:complexType>
39            <xs:complexContent>
40              <xs:restriction base="AssociationReferenceXsdType">
41                <xs:sequence>
42                  <xs:element name="ddiReference"
43                              type="InternationalRegistrationDataIdentifierXsdType"
44                              minOccurs="0"
45                              maxOccurs="1"
46                              xml:id="MainKeyMember_hasValueFrom_SubstantiveValueDomain-ddiReference"/>
47                  <xs:element name="validType"
48                              minOccurs="0"
49                              maxOccurs="unbounded"
50                              xml:id="MainKeyMember_hasValueFrom_SubstantiveValueDomain-validType">
51                    <xs:simpleType>
52                      <xs:restriction base="xs:NMTOKEN">
53                        <xs:enumeration value="DescriptorValueDomain"/>
54                        <xs:enumeration value="SubstantiveValueDomain"/>
55                      </xs:restriction>
56                    </xs:simpleType>
57                  </xs:element>
58                </xs:sequence>
59              </xs:restriction>
60            </xs:complexContent>
61          </xs:complexType>
62        </xs:element>
63      </xs:sequence>
64    </xs:extension>
65  </xs:complexContent>
66</xs:complexType>

Fragment for the class MainKeyMember (entire JSON Schema)

  1"cls-MainKeyMember": {
  2  "description": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/MainKeyMember",
  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": "MainKeyMember"
 14    },
 15    "content": {
 16      "$comment": "cardinality 0..1 – from cdi:InstanceValue",
 17      "$ref": "#/defs/dt-TypedString"
 18    },
 19    "identifier": {
 20      "$comment": "cardinality 0..1 – from cdi:InstanceValue",
 21      "$ref": "#/defs/dt-Identifier"
 22    },
 23    "whiteSpace": {
 24      "$comment": "cardinality 0..1 – from cdi:InstanceValue",
 25      "$ref": "#/defs/enum-WhiteSpaceRule"
 26    },
 27    "hasValueFrom_SubstantiveValueDomain": {
 28      "description": "MainKeyMember_hasValueFrom_SubstantiveValueDomain",
 29      "$comment": "cardinality 0..1",
 30       "$ref": "#/defs/target-SubstantiveValueDomain"
 31    },
 32    "isBasedOn": {
 33      "description": "KeyMember_isBasedOn_DataStructureComponent",
 34      "$comment": "cardinality 0..-1",
 35      "anyOf": [
 36        {
 37          "$ref": "#/defs/target-DataStructureComponent"
 38        },
 39        {
 40          "type": "array",
 41          "items": {
 42            "$ref": "#/defs/target-DataStructureComponent"
 43          }
 44        }
 45      ]
 46    },
 47    "hasValueFrom_ValueDomain": {
 48      "description": "InstanceValue_hasValueFrom_ValueDomain",
 49      "$comment": "cardinality 1..1",
 50       "$ref": "#/defs/target-ValueDomain"
 51    },
 52    "isStoredIn": {
 53      "description": "InstanceValue_isStoredIn_DataPoint",
 54      "$comment": "cardinality 0..1",
 55       "$ref": "#/defs/target-DataPoint"
 56    },
 57    "represents": {
 58      "description": "InstanceValue_represents_ConceptualValue",
 59      "$comment": "cardinality 0..1",
 60       "$ref": "#/defs/target-ConceptualValue"
 61    },
 62    "has_KeyMember_OF_Key": {
 63      "description": "Key_has_KeyMember",
 64      "$comment": "cardinality 0..1",
 65      "$ref": "#/defs/target-Key"
 66    },
 67    "uses_InstanceValue_OF_Datum": {
 68      "description": "Datum_uses_InstanceValue",
 69      "$comment": "cardinality 0..-1",
 70      "anyOf": [
 71        {
 72          "$ref": "#/defs/target-Datum"
 73        },
 74        {
 75          "type": "array",
 76          "items": {
 77            "$ref": "#/defs/target-Datum"
 78          }
 79        }
 80      ]
 81    },
 82    "has_InstanceValue_OF_InstanceKey": {
 83      "description": "InstanceKey_has_InstanceValue",
 84      "$comment": "cardinality 0..-1",
 85      "anyOf": [
 86        {
 87          "$ref": "#/defs/target-InstanceKey"
 88        },
 89        {
 90          "type": "array",
 91          "items": {
 92            "$ref": "#/defs/target-InstanceKey"
 93          }
 94        }
 95      ]
 96    },
 97    "sameAs": {
 98      "$ref": "#/defs/owl:sameAs"
 99    }
100  },
101  "required": ["hasValueFrom_ValueDomain","@type"],
102  "additionalProperties": false
103},
104"target-MainKeyMember": {
105  "description": "all subclasses of http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/MainKeyMember",
106  "anyOf": [
107    { "$ref": "#/defs/cls-MainKeyMember" },
108    { "type": "string", "format": "iri-reference" }
109  ]
110},

Fragment for the class MainKeyMember (main ontology)

 1# class MainKeyMember
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyValue::MainKeyMember
 3cdi:MainKeyMember
 4  a rdfs:Class, owl:Class, ucmis:Class;
 5  rdfs:label "MainKeyMember";
 6  rdfs:comment "Definition\n============\nIdentifies the unit of interest, either a statistical unit or a population, via identifier or dimension components, respectively, plus an optional contextual component. \nIf neither identifier nor dimension components are present, then a synthetic id component is used. \n\nExamples\n==========\nThe string \"income_distribution:male:Ontario:married\" in a dimensional key-value datastore, where instance key members are defined by context plus Sex, Province and Marital Status dimensions."@en;
 7  rdfs:subClassOf cdi:KeyMember;
 8.
 9
10
11cdi:MainKeyMember_hasValueFrom_SubstantiveValueDomain
12  a rdf:Property, owl:ObjectProperty, ucmis:Association;
13  # ASSOCIATION
14  rdfs:label "hasValueFrom_SubstantiveValueDomain";
15  skos:altLabel "MainKeyMember_hasValueFrom_SubstantiveValueDomain";
16  
17  rdfs:domain cdi:MainKeyMember;
18  rdfs:range cdi:SubstantiveValueDomain;
19.

Fragment for the class MainKeyMember (entire JSON-LD)

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

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

 1# class MainKeyMember
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyValue::MainKeyMember
 3<#MainKeyMember> a sh:NodeShape;
 4    sh:targetClass cdi:MainKeyMember;
 5	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/MainKeyMember";
 6	sh:closed true;
 7	sh:ignoredProperties ( owl:sameAs );
 8    sh:property [
 9			sh:path rdf:type;
10			sh:in (   cdi:MainKeyMember
11			 ) ;
12    ];
13    # attributes
14    # associations from MainKeyMember
15    sh:property <#MainKeyMember_hasValueFrom_SubstantiveValueDomain>;
16    # associations to MainKeyMember
17
18    # ---- superclass: KeyMember
19    # attributes
20    # associations from KeyMember
21    sh:property <#KeyMember_isBasedOn_DataStructureComponent>;
22    # associations to KeyMember
23    sh:property <#rev_Key_has_KeyMember>;
24
25    # ---- superclass: InstanceValue
26    # attributes
27    sh:property <#InstanceValue-content>;
28    sh:property <#InstanceValue-identifier>;
29    sh:property <#InstanceValue-whiteSpace>;
30    # associations from InstanceValue
31    sh:property <#InstanceValue_hasValueFrom_ValueDomain>;
32    sh:property <#InstanceValue_isStoredIn_DataPoint>;
33    sh:property <#InstanceValue_represents_ConceptualValue>;
34    # associations to InstanceValue
35    sh:property <#rev_Datum_uses_InstanceValue>;
36    sh:property <#rev_InstanceKey_has_InstanceValue>;
37
38
39
40
41
42
43
44.
45
46
47<#MainKeyMember_hasValueFrom_SubstantiveValueDomain> a sh:PropertyShape ;
48    sh:path cdi:MainKeyMember_hasValueFrom_SubstantiveValueDomain;
49	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
50        cdi:SubstantiveValueDomain
51        cdi:DescriptorValueDomain
52      
53    ) ]];
54    sh:maxCount 1;
55.
56<#rev_MainKeyMember_hasValueFrom_SubstantiveValueDomain> a sh:PropertyShape ;
57    sh:path [ sh:inversePath cdi:MainKeyMember_hasValueFrom_SubstantiveValueDomain ];
58.

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

1# class MainKeyMember
2# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyValue::MainKeyMember
3cdi:MainKeyMemberShape CLOSED {
4	a [cdi:MainKeyMember];
5	cdi:MainKeyMember_hasValueFrom_SubstantiveValueDomain	@cdi:SubstantiveValueDomainShape OR @cdi:DescriptorValueDomainShape?;
6	
7		&cdi:KeyMemberProperties;
8	}