KeyMember#

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

Definition#

Single data instance that is part of a key.

Diagram#

Diagram

Inheritance#

Inheritance
  ᐊ── DataDescription::KeyMember
    ᐊ── Long::Descriptor
    ᐊ── Long::LongMainKeyMember
    ᐊ── KeyValue::MainKeyMember
    ᐊ── Wide::WideKeyMember

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 KeyMember

Package of Other Class

Other Class

Multiplicity of other class

Aggregation Kind

Inherited from

to

Datum uses InstanceValue

1..*

- own package -

Datum

0..*

none

DataDescription::InstanceValue

to

InstanceKey has InstanceValue

0..1

KeyValue

InstanceKey

0..*

none

DataDescription::InstanceValue

from

InstanceValue hasValueFrom ValueDomain

0..*

Representations

ValueDomain

1..1

none

DataDescription::InstanceValue

from

InstanceValue isStoredIn DataPoint

0..1

- own package -

DataPoint

0..1

none

DataDescription::InstanceValue

from

InstanceValue represents ConceptualValue

1..*

- own package -

ConceptualValue

0..1

none

DataDescription::InstanceValue

to

Key has KeyMember

0..*

- own package -

Key

0..1

none

own class

from

KeyMember isBasedOn DataStructureComponent

0..*

Components

DataStructureComponent

0..*

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 KeyMember (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-KeyMember"
 5                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#KeyMember"
 6                  xmi:type="uml:Class">
 7   <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyMember-ownedComment"
 8                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#KeyMember-ownedComment"
 9                  xmi:type="uml:Comment">
10      <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyMember"/>
11      <body>Definition 
12============ 
13Single data instance that is part of a key.</body>
14   </ownedComment>
15   <name>KeyMember</name>
16   <generalization xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyMember-generalization"
17                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#KeyMember-generalization"
18                    xmi:type="uml:Generalization">
19      <general xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-InstanceValue"/>
20   </generalization>
21   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyMember-ownedAttribute"
22                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#KeyMember-ownedAttribute"
23                    xmi:type="uml:Property">
24      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyMember-ownedAttribute-lowerValue"
25                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#KeyMember-ownedAttribute-lowerValue"
26                   xmi:type="uml:LiteralInteger"/>
27      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyMember-ownedAttribute-upperValue"
28                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#KeyMember-ownedAttribute-upperValue"
29                   xmi:type="uml:LiteralUnlimitedNatural">
30         <value>*</value>
31      </upperValue>
32      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyMember_isBasedOn_DataStructureComponent"/>
33      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-DataStructureComponent"/>
34   </ownedAttribute>
35</packagedElement>

Fragment for the class KeyMember (entire XML Schema)

 1<xs:element name="KeyMember"
 2            type="KeyMemberXsdType"
 3            xml:id="KeyMember">
 4  <!-- based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyMember -->
 5  <xs:annotation>
 6    <xs:documentation>Definition 
 7          ============ 
 8          Single data instance that is part of a key.</xs:documentation>
 9  </xs:annotation>
10</xs:element>
11<xs:complexType name="KeyMemberXsdType"
12                xml:id="KeyMemberXsdType">
13  <xs:annotation>
14    <xs:documentation>Definition 
15          ============ 
16          Single data instance that is part of a key.</xs:documentation>
17  </xs:annotation>
18  <xs:complexContent>
19    <xs:extension base="InstanceValueXsdType">
20      <xs:sequence>
21        <xs:element name="KeyMember_isBasedOn_DataStructureComponent"
22                    minOccurs="0"
23                    maxOccurs="unbounded"
24                    xml:id="KeyMember_isBasedOn_DataStructureComponent">
25          <xs:annotation>
26            <xs:documentation></xs:documentation>
27          </xs:annotation>
28          <xs:complexType>
29            <xs:complexContent>
30              <xs:restriction base="AssociationReferenceXsdType">
31                <xs:sequence>
32                  <xs:element name="ddiReference"
33                              type="InternationalRegistrationDataIdentifierXsdType"
34                              minOccurs="0"
35                              maxOccurs="1"
36                              xml:id="KeyMember_isBasedOn_DataStructureComponent-ddiReference"/>
37                  <xs:element name="validType"
38                              minOccurs="0"
39                              maxOccurs="unbounded"
40                              xml:id="KeyMember_isBasedOn_DataStructureComponent-validType">
41                    <xs:simpleType>
42                      <xs:restriction base="xs:NMTOKEN">
43                        <xs:enumeration value="AttributeComponent"/>
44                        <xs:enumeration value="ContextualComponent"/>
45                        <xs:enumeration value="DataStructure"/>
46                        <xs:enumeration value="DataStructureComponent"/>
47                        <xs:enumeration value="DimensionComponent"/>
48                        <xs:enumeration value="DimensionalDataStructure"/>
49                        <xs:enumeration value="IdentifierComponent"/>
50                        <xs:enumeration value="KeyValueStructure"/>
51                        <xs:enumeration value="LongDataStructure"/>
52                        <xs:enumeration value="MeasureComponent"/>
53                        <xs:enumeration value="QualifiedMeasure"/>
54                        <xs:enumeration value="SyntheticIdComponent"/>
55                        <xs:enumeration value="VariableDescriptorComponent"/>
56                        <xs:enumeration value="VariableValueComponent"/>
57                        <xs:enumeration value="WideDataStructure"/>
58                      </xs:restriction>
59                    </xs:simpleType>
60                  </xs:element>
61                </xs:sequence>
62              </xs:restriction>
63            </xs:complexContent>
64          </xs:complexType>
65        </xs:element>
66      </xs:sequence>
67    </xs:extension>
68  </xs:complexContent>
69</xs:complexType>

Fragment for the class KeyMember (entire JSON Schema)

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

Fragment for the class KeyMember (main ontology)

 1# class KeyMember
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyMember
 3cdi:KeyMember
 4  a rdfs:Class, owl:Class, ucmis:Class;
 5  rdfs:label "KeyMember";
 6  rdfs:comment "Definition \n============ \nSingle data instance that is part of a key."@en;
 7  rdfs:subClassOf cdi:InstanceValue;
 8.
 9
10
11cdi:KeyMember_isBasedOn_DataStructureComponent
12  a rdf:Property, owl:ObjectProperty, ucmis:Association;
13  # ASSOCIATION
14  rdfs:label "isBasedOn";
15  skos:altLabel "KeyMember_isBasedOn_DataStructureComponent";
16  
17  rdfs:domain cdi:KeyMember;
18  rdfs:range cdi:DataStructureComponent;
19.

Fragment for the class KeyMember (entire JSON-LD)

 1{
 2  "@context": [
 3    "InstanceValue.jsonld",
 4    {
 5      "cdi": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/",
 6      "xsd": "http://www.w3.org/2001/XMLSchema#",
 7
 8      
 9      "isBasedOn": {
10        "@id": "cdi:KeyMember_isBasedOn_DataStructureComponent",
11        "@type": "@id",
12        "@context": "DataStructureComponent.jsonld"
13      },
14      "has_KeyMember_OF_Key": {
15        "@reverse": "cdi:Key_has_KeyMember",
16        "@type": "@id",
17        "@context": "Key.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:52.",
23  "basedOn": "based on the UML data type DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyMember"
24}

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

 1# class KeyMember
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyMember
 3<#KeyMember> a sh:NodeShape;
 4    sh:targetClass cdi:KeyMember;
 5	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/KeyMember";
 6	sh:closed true;
 7	sh:ignoredProperties ( owl:sameAs );
 8    sh:property [
 9			sh:path rdf:type;
10			sh:in (   cdi:KeyMember
11			  cdi:Descriptor
12			  cdi:DimensionalKeyMember
13			  cdi:LongMainKeyMember
14			  cdi:MainKeyMember
15			  cdi:WideKeyMember
16			 ) ;
17    ];
18    # attributes
19    # associations from KeyMember
20    sh:property <#KeyMember_isBasedOn_DataStructureComponent>;
21    # associations to KeyMember
22    sh:property <#rev_Key_has_KeyMember>;
23
24    # ---- superclass: InstanceValue
25    # attributes
26    sh:property <#InstanceValue-content>;
27    sh:property <#InstanceValue-identifier>;
28    sh:property <#InstanceValue-whiteSpace>;
29    # associations from InstanceValue
30    sh:property <#InstanceValue_hasValueFrom_ValueDomain>;
31    sh:property <#InstanceValue_isStoredIn_DataPoint>;
32    sh:property <#InstanceValue_represents_ConceptualValue>;
33    # associations to InstanceValue
34    sh:property <#rev_Datum_uses_InstanceValue>;
35    sh:property <#rev_InstanceKey_has_InstanceValue>;
36
37
38
39
40
41.
42
43
44<#KeyMember_isBasedOn_DataStructureComponent> a sh:PropertyShape ;
45    sh:path cdi:KeyMember_isBasedOn_DataStructureComponent;
46	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
47        cdi:DataStructureComponent
48        cdi:AttributeComponent
49        cdi:ContextualComponent
50        cdi:DataStructure
51        cdi:DimensionalDataStructure
52        cdi:KeyValueStructure
53        cdi:LongDataStructure
54        cdi:WideDataStructure
55        cdi:DimensionComponent
56        cdi:IdentifierComponent
57        cdi:MeasureComponent
58        cdi:QualifiedMeasure
59        cdi:SyntheticIdComponent
60        cdi:VariableDescriptorComponent
61        cdi:VariableValueComponent
62      
63    ) ]];
64.
65<#rev_KeyMember_isBasedOn_DataStructureComponent> a sh:PropertyShape ;
66    sh:path [ sh:inversePath cdi:KeyMember_isBasedOn_DataStructureComponent ];
67.

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

 1# class KeyMember
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyMember
 3cdi:KeyMemberShape CLOSED {
 4	a [cdi:KeyMember];
 5	$cdi:KeyMemberProperties (
 6	^cdi:Key_has_KeyMember @cdi:KeyShape OR @cdi:DimensionalKeyShape OR @cdi:InstanceKeyShape OR @cdi:LongKeyShape OR @cdi:WideKeyShape?;
 7	cdi:KeyMember_isBasedOn_DataStructureComponent	@cdi:DataStructureComponentShape OR @cdi:AttributeComponentShape OR @cdi:ContextualComponentShape OR @cdi:DataStructureShape OR @cdi:DimensionComponentShape OR @cdi:IdentifierComponentShape OR @cdi:MeasureComponentShape OR @cdi:SyntheticIdComponentShape OR @cdi:VariableDescriptorComponentShape OR @cdi:VariableValueComponentShape*;
 8	
 9		&cdi:InstanceValueProperties;
10		);
11}