DataStructure

Fully qualified class name: DDICDIModels::DDICDILibrary::Classes::DataDescription::DataStructure

Definition

Data organization based on reusable data structure components.

Diagram

Inheritance
  ᐊ── DataDescription::DataStructure
    ᐊ── KeyValue::KeyValueStructure
    ᐊ── Long::LongDataStructure
    ᐊ── Wide::WideDataStructure
Attributes

Name

Inherited from

Description

Data Type

Multiplicity

Default value

identifier

Components::DataStructureComponent

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

Identifier

0..1

semantic

Components::DataStructureComponent

Qualifies the purpose or use expressed as a paired external controlled vocabulary.

PairedControlledVocabularyEntry

0..*

specialization

Components::DataStructureComponent

The role played by the component for the data set for purposes of harmonization and integration, typically regarding geography, time, etc.

SpecializationRole

0..1

Associations

Direction

Association

Description

Multiplicity of DataStructure

Package of Other Class

Other Class

Multiplicity of other class

Aggregation Kind

Inherited from

from

DataStructureComponent isDefinedBy RepresentedVariable

Data structure component is defined by zero to one represented variable.

0..*

Conceptual

RepresentedVariable

0..1

none

Components::DataStructureComponent

to

DataPoint correspondsTo DataStructureComponent

0..*

- own package -

DataPoint

0..*

none

Components::DataStructureComponent

to

DataStructure has DataStructureComponent

0..*

- own package -

DataStructure

0..1

none

Components::DataStructureComponent

to

KeyMember isBasedOn DataStructureComponent

0..*

- own package -

KeyMember

0..*

none

Components::DataStructureComponent

to

AttributeComponent qualifies DataStructureComponent

0..*

Components

AttributeComponent

0..*

none

Components::DataStructureComponent

to

ComponentPosition indexes DataStructureComponent

0..1

Components

ComponentPosition

0..*

none

Components::DataStructureComponent

to

ForeignKeyComponent correspondsTo DataStructureComponent

1..1

Components

ForeignKeyComponent

0..1

none

Components::DataStructureComponent

to

PrimaryKeyComponent correspondsTo DataStructureComponent

1..1

Components

PrimaryKeyComponent

0..1

none

Components::DataStructureComponent

to

DataSet isStructuredBy DataStructure

0..*

- own package -

DataSet

0..*

none

- own class -

from

DataStructure has ComponentPosition

1..1

Components

ComponentPosition

0..*

composite

- own class -

from

DataStructure has DataStructureComponent

0..1

Components

DataStructureComponent

0..*

composite

- own class -

from

DataStructure has ForeignKey

1..1

Components

ForeignKey

0..*

composite

- own class -

from

DataStructure has PrimaryKey

1..1

Components

PrimaryKey

0..1

composite

- own class -

to

PhysicalDataSetStructure correspondsTo DataStructure

0..1

FormatDescription

PhysicalDataSetStructure

0..*

none

- own class -

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 DataStructure (entire model as XMI)

 1<packagedElement xmlns:StandardProfile="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard"
 2                 xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML"
 3                 xmlns:xmi="http://www.omg.org/spec/XMI/20131001"
 4                 xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-DataStructure"
 5                 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructure"
 6                 xmi:type="uml:Class">
 7   <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-DataStructure-ownedComment"
 8                 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructure-ownedComment"
 9                 xmi:type="uml:Comment">
10      <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-DataStructure"/>
11      <body>Definition 
12============
13Data organization based on reusable data structure components.</body>
14   </ownedComment>
15   <name>DataStructure</name>
16   <generalization xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-DataStructure-generalization"
17                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructure-generalization"
18                   xmi:type="uml:Generalization">
19      <general xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-DataStructureComponent"/>
20   </generalization>
21   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-DataStructure-ownedAttribute_1"
22                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructure-ownedAttribute_1"
23                   xmi:type="uml:Property">
24      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-DataStructure-ownedAttribute_1-lowerValue"
25                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructure-ownedAttribute_1-lowerValue"
26                  xmi:type="uml:LiteralInteger"/>
27      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-DataStructure-ownedAttribute_1-upperValue"
28                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructure-ownedAttribute_1-upperValue"
29                  xmi:type="uml:LiteralUnlimitedNatural">
30         <value>*</value>
31      </upperValue>
32      <aggregation>composite</aggregation>
33      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-DataStructure_has_ForeignKey"/>
34      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-ForeignKey"/>
35   </ownedAttribute>
36   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-DataStructure-ownedAttribute_2"
37                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructure-ownedAttribute_2"
38                   xmi:type="uml:Property">
39      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-DataStructure-ownedAttribute_2-lowerValue"
40                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructure-ownedAttribute_2-lowerValue"
41                  xmi:type="uml:LiteralInteger"/>
42      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-DataStructure-ownedAttribute_2-upperValue"
43                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructure-ownedAttribute_2-upperValue"
44                  xmi:type="uml:LiteralUnlimitedNatural">
45         <value>*</value>
46      </upperValue>
47      <aggregation>composite</aggregation>
48      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-DataStructure_has_DataStructureComponent"/>
49      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-DataStructureComponent"/>
50   </ownedAttribute>
51   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-DataStructure-ownedAttribute_3"
52                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructure-ownedAttribute_3"
53                   xmi:type="uml:Property">
54      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-DataStructure-ownedAttribute_3-lowerValue"
55                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructure-ownedAttribute_3-lowerValue"
56                  xmi:type="uml:LiteralInteger"/>
57      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-DataStructure-ownedAttribute_3-upperValue"
58                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructure-ownedAttribute_3-upperValue"
59                  xmi:type="uml:LiteralUnlimitedNatural">
60         <value>*</value>
61      </upperValue>
62      <aggregation>composite</aggregation>
63      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-DataStructure_has_ComponentPosition"/>
64      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-ComponentPosition"/>
65   </ownedAttribute>
66   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-DataStructure-ownedAttribute_4"
67                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructure-ownedAttribute_4"
68                   xmi:type="uml:Property">
69      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-DataStructure-ownedAttribute_4-lowerValue"
70                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructure-ownedAttribute_4-lowerValue"
71                  xmi:type="uml:LiteralInteger"/>
72      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-DataStructure-ownedAttribute_4-upperValue"
73                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructure-ownedAttribute_4-upperValue"
74                  xmi:type="uml:LiteralUnlimitedNatural">
75         <value>1</value>
76      </upperValue>
77      <aggregation>composite</aggregation>
78      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-DataStructure_has_PrimaryKey"/>
79      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-PrimaryKey"/>
80   </ownedAttribute>
81</packagedElement>

Fragment for the class DataStructure (entire XML Schema)

  1<xs:element name="DataStructure"
  2            type="DataStructureXsdType"
  3            xml:id="DataStructure">
  4  <!-- based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::DataStructure -->
  5  <xs:annotation>
  6    <xs:documentation>Definition 
  7          ============
  8          Data organization based on reusable data structure components.</xs:documentation>
  9  </xs:annotation>
 10</xs:element>
 11<xs:complexType name="DataStructureXsdType"
 12                xml:id="DataStructureXsdType">
 13  <xs:annotation>
 14    <xs:documentation>Definition 
 15          ============
 16          Data organization based on reusable data structure components.</xs:documentation>
 17  </xs:annotation>
 18  <xs:complexContent>
 19    <xs:extension base="DataStructureComponentXsdType">
 20      <xs:sequence>
 21        <xs:element name="DataStructure_has_ForeignKey"
 22                    minOccurs="0"
 23                    maxOccurs="unbounded"
 24                    xml:id="DataStructure_has_ForeignKey">
 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="DataStructure_has_ForeignKey-ddiReference"/>
 37                  <xs:element name="validType"
 38                              minOccurs="1"
 39                              maxOccurs="1"
 40                              xml:id="DataStructure_has_ForeignKey-validType">
 41                    <xs:simpleType>
 42                      <xs:restriction base="xs:NMTOKEN">
 43                        <xs:enumeration value="ForeignKey"/>
 44                      </xs:restriction>
 45                    </xs:simpleType>
 46                  </xs:element>
 47                </xs:sequence>
 48              </xs:restriction>
 49            </xs:complexContent>
 50          </xs:complexType>
 51        </xs:element>
 52        <xs:element name="DataStructure_has_DataStructureComponent"
 53                    minOccurs="0"
 54                    maxOccurs="unbounded"
 55                    xml:id="DataStructure_has_DataStructureComponent">
 56          <xs:annotation>
 57            <xs:documentation></xs:documentation>
 58          </xs:annotation>
 59          <xs:complexType>
 60            <xs:complexContent>
 61              <xs:restriction base="AssociationReferenceXsdType">
 62                <xs:sequence>
 63                  <xs:element name="ddiReference"
 64                              type="InternationalRegistrationDataIdentifierXsdType"
 65                              minOccurs="0"
 66                              maxOccurs="1"
 67                              xml:id="DataStructure_has_DataStructureComponent-ddiReference"/>
 68                  <xs:element name="validType"
 69                              minOccurs="0"
 70                              maxOccurs="1"
 71                              xml:id="DataStructure_has_DataStructureComponent-validType">
 72                    <xs:simpleType>
 73                      <xs:restriction base="xs:NMTOKEN">
 74                        <xs:enumeration value="AttributeComponent"/>
 75                        <xs:enumeration value="ContextualComponent"/>
 76                        <xs:enumeration value="DataStructure"/>
 77                        <xs:enumeration value="DataStructureComponent"/>
 78                        <xs:enumeration value="DimensionComponent"/>
 79                        <xs:enumeration value="DimensionalDataStructure"/>
 80                        <xs:enumeration value="IdentifierComponent"/>
 81                        <xs:enumeration value="KeyValueStructure"/>
 82                        <xs:enumeration value="LongDataStructure"/>
 83                        <xs:enumeration value="MeasureComponent"/>
 84                        <xs:enumeration value="QualifiedMeasure"/>
 85                        <xs:enumeration value="SyntheticIdComponent"/>
 86                        <xs:enumeration value="VariableDescriptorComponent"/>
 87                        <xs:enumeration value="VariableValueComponent"/>
 88                        <xs:enumeration value="WideDataStructure"/>
 89                      </xs:restriction>
 90                    </xs:simpleType>
 91                  </xs:element>
 92                </xs:sequence>
 93              </xs:restriction>
 94            </xs:complexContent>
 95          </xs:complexType>
 96        </xs:element>
 97        <xs:element name="DataStructure_has_ComponentPosition"
 98                    minOccurs="0"
 99                    maxOccurs="unbounded"
100                    xml:id="DataStructure_has_ComponentPosition">
101          <xs:annotation>
102            <xs:documentation></xs:documentation>
103          </xs:annotation>
104          <xs:complexType>
105            <xs:complexContent>
106              <xs:restriction base="AssociationReferenceXsdType">
107                <xs:sequence>
108                  <xs:element name="ddiReference"
109                              type="InternationalRegistrationDataIdentifierXsdType"
110                              minOccurs="0"
111                              maxOccurs="1"
112                              xml:id="DataStructure_has_ComponentPosition-ddiReference"/>
113                  <xs:element name="validType"
114                              minOccurs="1"
115                              maxOccurs="1"
116                              xml:id="DataStructure_has_ComponentPosition-validType">
117                    <xs:simpleType>
118                      <xs:restriction base="xs:NMTOKEN">
119                        <xs:enumeration value="ComponentPosition"/>
120                      </xs:restriction>
121                    </xs:simpleType>
122                  </xs:element>
123                </xs:sequence>
124              </xs:restriction>
125            </xs:complexContent>
126          </xs:complexType>
127        </xs:element>
128        <xs:element name="DataStructure_has_PrimaryKey"
129                    minOccurs="0"
130                    maxOccurs="1"
131                    xml:id="DataStructure_has_PrimaryKey">
132          <xs:annotation>
133            <xs:documentation></xs:documentation>
134          </xs:annotation>
135          <xs:complexType>
136            <xs:complexContent>
137              <xs:restriction base="AssociationReferenceXsdType">
138                <xs:sequence>
139                  <xs:element name="ddiReference"
140                              type="InternationalRegistrationDataIdentifierXsdType"
141                              minOccurs="0"
142                              maxOccurs="1"
143                              xml:id="DataStructure_has_PrimaryKey-ddiReference"/>
144                  <xs:element name="validType"
145                              minOccurs="1"
146                              maxOccurs="1"
147                              xml:id="DataStructure_has_PrimaryKey-validType">
148                    <xs:simpleType>
149                      <xs:restriction base="xs:NMTOKEN">
150                        <xs:enumeration value="PrimaryKey"/>
151                      </xs:restriction>
152                    </xs:simpleType>
153                  </xs:element>
154                </xs:sequence>
155              </xs:restriction>
156            </xs:complexContent>
157          </xs:complexType>
158        </xs:element>
159      </xs:sequence>
160    </xs:extension>
161  </xs:complexContent>
162</xs:complexType>

Fragment for the class DataStructure (main ontology)

 1# class DataStructure
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::DataStructure
 3cdi:DataStructure
 4  a rdfs:Class, owl:Class, ucmis:Class;
 5  rdfs:label "DataStructure";
 6  rdfs:comment "Definition \n============\nData organization based on reusable data structure components."@en;
 7  rdfs:subClassOf cdi:DataStructureComponent;
 8.
 9
10
11cdi:DataStructure_has_ComponentPosition
12  a rdf:Property, owl:ObjectProperty, ucmis:Association;
13  # ASSOCIATION
14  rdfs:label "has";
15  skos:altLabel "DataStructure_has_ComponentPosition";
16  
17  rdfs:domain cdi:DataStructure;
18  rdfs:range cdi:ComponentPosition;
19.
20
21cdi:DataStructure_has_DataStructureComponent
22  a rdf:Property, owl:ObjectProperty, ucmis:Association;
23  # ASSOCIATION
24  rdfs:label "has";
25  skos:altLabel "DataStructure_has_DataStructureComponent";
26  
27  rdfs:domain cdi:DataStructure;
28  rdfs:range cdi:DataStructureComponent;
29.
30
31cdi:DataStructure_has_ForeignKey
32  a rdf:Property, owl:ObjectProperty, ucmis:Association;
33  # ASSOCIATION
34  rdfs:label "has";
35  skos:altLabel "DataStructure_has_ForeignKey";
36  
37  rdfs:domain cdi:DataStructure;
38  rdfs:range cdi:ForeignKey;
39.
40
41cdi:DataStructure_has_PrimaryKey
42  a rdf:Property, owl:ObjectProperty, ucmis:Association;
43  # ASSOCIATION
44  rdfs:label "has";
45  skos:altLabel "DataStructure_has_PrimaryKey";
46  
47  rdfs:domain cdi:DataStructure;
48  rdfs:range cdi:PrimaryKey;
49.

Fragment for the class DataStructure (main JSON-LD)

 1{
 2  "@context": [
 3    "DataStructureComponent.jsonld",
 4    {
 5      "cdi": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/",
 6      "xsd": "http://www.w3.org/2001/XMLSchema#",
 7      "DataStructure": "cdi:DataStructure",
 8      
 9      "has": {
10        "@id": "cdi:DataStructure_has_ComponentPosition",
11        "@type": "@id"      },
12      "has": {
13        "@id": "cdi:DataStructure_has_DataStructureComponent",
14        "@type": "@id"      },
15      "has": {
16        "@id": "cdi:DataStructure_has_ForeignKey",
17        "@type": "@id"      },
18      "has": {
19        "@id": "cdi:DataStructure_has_PrimaryKey",
20        "@type": "@id"      },
21      "isStructuredBy_OF_DataSet": {
22        "@reverse": "cdi:DataSet_isStructuredBy_DataStructure",
23        "@type": "@id"
24      },
25      "correspondsTo_OF_PhysicalDataSetStructure": {
26        "@reverse": "cdi:PhysicalDataSetStructure_correspondsTo_DataStructure",
27        "@type": "@id"
28      },
29      " comment ": "tag:json-should-support-trailing-commas" 
30    }
31  ],
32  "generatedBy": "This code was generated by the Eclipse Acceleo project UCMIS M2T on 2024-03-16 23:40:09.",
33  "basedOn": "based on the UML data type DDICDIModels::DDICDILibrary::Classes::DataDescription::DataStructure"
34}