DataStructure#
Fully qualified class name of the UML model DDI-CDI 1.0: DDICDIModels::DDICDILibrary::Classes::DataDescription::DataStructure
Definition#
Data organization based on reusable data structure components.
Diagram#
Diagram
Inheritance#
Inheritance
Attributes#
Attributes
Name |
Inherited from |
Description |
Data Type |
Multiplicity |
Default value |
|---|---|---|---|---|---|
identifier |
Identifier for objects requiring short- or long-lasting referencing and management. |
0..1 |
|||
semantic |
Qualifies the purpose or use expressed as a paired external controlled vocabulary. |
0..* |
|||
specialization |
The role played by the component for the data set for purposes of harmonization and integration, typically regarding geography, time, etc. |
0..1 |
Associations#
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..* |
0..1 |
none |
|||
to |
DataPoint correspondsTo DataStructureComponent |
0..* |
- own package - |
0..* |
none |
|||
to |
DataStructure has DataStructureComponent |
0..* |
- own package - |
0..1 |
none |
|||
to |
KeyMember isBasedOn DataStructureComponent |
0..* |
- own package - |
0..* |
none |
|||
to |
AttributeComponent qualifies DataStructureComponent |
0..* |
0..* |
none |
||||
to |
ComponentPosition indexes DataStructureComponent |
0..1 |
0..* |
none |
||||
to |
ForeignKeyComponent correspondsTo DataStructureComponent |
1..1 |
0..1 |
none |
||||
to |
PrimaryKeyComponent correspondsTo DataStructureComponent |
1..1 |
0..1 |
none |
||||
to |
DataSet isStructuredBy DataStructure |
0..* |
- own package - |
0..* |
none |
own class |
||
from |
DataStructure has ComponentPosition |
1..1 |
0..* |
composite |
own class |
|||
from |
DataStructure has DataStructureComponent |
0..1 |
0..* |
composite |
own class |
|||
from |
DataStructure has ForeignKey |
1..1 |
0..* |
composite |
own class |
|||
from |
DataStructure has PrimaryKey |
1..1 |
0..1 |
composite |
own class |
|||
to |
PhysicalDataSetStructure correspondsTo DataStructure |
0..1 |
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 DataStructure (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-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 (entire JSON Schema)
1"cls-DataStructure": {
2 "description": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DataStructure",
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": "DataStructure"
14 },
15 "identifier": {
16 "$comment": "cardinality 0..1 – from cdi:DataStructureComponent",
17 "$ref": "#/defs/dt-Identifier"
18 },
19 "semantic": {
20 "$comment": "cardinality 0..-1 – from cdi:DataStructureComponent",
21 "if": { "type": "array" },
22 "then": { "items": { "$ref": "#/defs/dt-PairedControlledVocabularyEntry" } },
23 "else": { "$ref": "#/defs/dt-PairedControlledVocabularyEntry" }
24 },
25 "specialization": {
26 "$comment": "cardinality 0..1 – from cdi:DataStructureComponent",
27 "$ref": "#/defs/dt-SpecializationRole"
28 },
29 "has_ComponentPosition": {
30 "description": "DataStructure_has_ComponentPosition",
31 "$comment": "cardinality 0..-1",
32 "anyOf": [
33 {
34 "$ref": "#/defs/target-ComponentPosition"
35 },
36 {
37 "type": "array",
38 "items": {
39 "$ref": "#/defs/target-ComponentPosition"
40 }
41 }
42 ]
43 },
44 "has_DataStructureComponent": {
45 "description": "DataStructure_has_DataStructureComponent",
46 "$comment": "cardinality 0..-1",
47 "anyOf": [
48 {
49 "$ref": "#/defs/target-DataStructureComponent"
50 },
51 {
52 "type": "array",
53 "items": {
54 "$ref": "#/defs/target-DataStructureComponent"
55 }
56 }
57 ]
58 },
59 "has_ForeignKey": {
60 "description": "DataStructure_has_ForeignKey",
61 "$comment": "cardinality 0..-1",
62 "anyOf": [
63 {
64 "$ref": "#/defs/target-ForeignKey"
65 },
66 {
67 "type": "array",
68 "items": {
69 "$ref": "#/defs/target-ForeignKey"
70 }
71 }
72 ]
73 },
74 "has_PrimaryKey": {
75 "description": "DataStructure_has_PrimaryKey",
76 "$comment": "cardinality 0..1",
77 "$ref": "#/defs/target-PrimaryKey"
78 },
79 "isDefinedBy_RepresentedVariable": {
80 "description": "DataStructureComponent_isDefinedBy_RepresentedVariable",
81 "$comment": "cardinality 0..1",
82 "$ref": "#/defs/target-RepresentedVariable"
83 },
84 "isStructuredBy_OF_DataSet": {
85 "description": "DataSet_isStructuredBy_DataStructure",
86 "$comment": "cardinality 0..-1",
87 "anyOf": [
88 {
89 "$ref": "#/defs/target-DataSet"
90 },
91 {
92 "type": "array",
93 "items": {
94 "$ref": "#/defs/target-DataSet"
95 }
96 }
97 ]
98 },
99 "correspondsTo_DataStructure_OF_PhysicalDataSetStructure": {
100 "description": "PhysicalDataSetStructure_correspondsTo_DataStructure",
101 "$comment": "cardinality 0..-1",
102 "anyOf": [
103 {
104 "$ref": "#/defs/target-PhysicalDataSetStructure"
105 },
106 {
107 "type": "array",
108 "items": {
109 "$ref": "#/defs/target-PhysicalDataSetStructure"
110 }
111 }
112 ]
113 },
114 "correspondsTo_DataStructureComponent_OF_DataPoint": {
115 "description": "DataPoint_correspondsTo_DataStructureComponent",
116 "$comment": "cardinality 0..-1",
117 "anyOf": [
118 {
119 "$ref": "#/defs/target-DataPoint"
120 },
121 {
122 "type": "array",
123 "items": {
124 "$ref": "#/defs/target-DataPoint"
125 }
126 }
127 ]
128 },
129 "has_DataStructureComponent_OF_DataStructure": {
130 "description": "DataStructure_has_DataStructureComponent",
131 "$comment": "cardinality 0..1",
132 "$ref": "#/defs/target-DataStructure"
133 },
134 "isBasedOn_OF_KeyMember": {
135 "description": "KeyMember_isBasedOn_DataStructureComponent",
136 "$comment": "cardinality 0..-1",
137 "anyOf": [
138 {
139 "$ref": "#/defs/target-KeyMember"
140 },
141 {
142 "type": "array",
143 "items": {
144 "$ref": "#/defs/target-KeyMember"
145 }
146 }
147 ]
148 },
149 "qualifies_OF_AttributeComponent": {
150 "description": "AttributeComponent_qualifies_DataStructureComponent",
151 "$comment": "cardinality 0..-1",
152 "anyOf": [
153 {
154 "$ref": "#/defs/target-AttributeComponent"
155 },
156 {
157 "type": "array",
158 "items": {
159 "$ref": "#/defs/target-AttributeComponent"
160 }
161 }
162 ]
163 },
164 "indexes_OF_ComponentPosition": {
165 "description": "ComponentPosition_indexes_DataStructureComponent",
166 "$comment": "cardinality 0..-1",
167 "anyOf": [
168 {
169 "$ref": "#/defs/target-ComponentPosition"
170 },
171 {
172 "type": "array",
173 "items": {
174 "$ref": "#/defs/target-ComponentPosition"
175 }
176 }
177 ]
178 },
179 "correspondsTo_DataStructureComponent_OF_ForeignKeyComponent": {
180 "description": "ForeignKeyComponent_correspondsTo_DataStructureComponent",
181 "$comment": "cardinality 0..1",
182 "$ref": "#/defs/target-ForeignKeyComponent"
183 },
184 "correspondsTo_DataStructureComponent_OF_PrimaryKeyComponent": {
185 "description": "PrimaryKeyComponent_correspondsTo_DataStructureComponent",
186 "$comment": "cardinality 0..1",
187 "$ref": "#/defs/target-PrimaryKeyComponent"
188 },
189 "sameAs": {
190 "$ref": "#/defs/owl:sameAs"
191 }
192 },
193 "required": ["@type"],
194 "additionalProperties": false
195},
196"target-DataStructure": {
197 "description": "all subclasses of http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DataStructure",
198 "anyOf": [
199 { "$ref": "#/defs/cls-DataStructure" },
200 { "$ref": "#/defs/cls-DimensionalDataStructure" },
201 { "$ref": "#/defs/cls-KeyValueStructure" },
202 { "$ref": "#/defs/cls-LongDataStructure" },
203 { "$ref": "#/defs/cls-WideDataStructure" },
204 { "type": "string", "format": "iri-reference" }
205 ]
206},
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_ComponentPosition";
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_DataStructureComponent";
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_ForeignKey";
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_PrimaryKey";
45 skos:altLabel "DataStructure_has_PrimaryKey";
46
47 rdfs:domain cdi:DataStructure;
48 rdfs:range cdi:PrimaryKey;
49.
Fragment for the class DataStructure (entire 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
8
9 "has_ComponentPosition": {
10 "@id": "cdi:DataStructure_has_ComponentPosition",
11 "@type": "@id",
12 "@context": "ComponentPosition.jsonld"
13 },
14 "has_DataStructureComponent": {
15 "@id": "cdi:DataStructure_has_DataStructureComponent",
16 "@type": "@id",
17 "@context": "DataStructureComponent.jsonld"
18 },
19 "has_ForeignKey": {
20 "@id": "cdi:DataStructure_has_ForeignKey",
21 "@type": "@id",
22 "@context": "ForeignKey.jsonld"
23 },
24 "has_PrimaryKey": {
25 "@id": "cdi:DataStructure_has_PrimaryKey",
26 "@type": "@id",
27 "@context": "PrimaryKey.jsonld"
28 },
29 "isStructuredBy_OF_DataSet": {
30 "@reverse": "cdi:DataSet_isStructuredBy_DataStructure",
31 "@type": "@id",
32 "@context": "DataSet.jsonld"
33 },
34 "correspondsTo_DataStructure_OF_PhysicalDataSetStructure": {
35 "@reverse": "cdi:PhysicalDataSetStructure_correspondsTo_DataStructure",
36 "@type": "@id",
37 "@context": "PhysicalDataSetStructure.jsonld"
38 },
39 " comment ": "tag:json-should-support-trailing-commas"
40 }
41 ],
42 "generatedBy": "This code was generated by the Eclipse Acceleo project UCMIS M2T on 2025-08-29 14:34:51.",
43 "basedOn": "based on the UML data type DDICDIModels::DDICDILibrary::Classes::DataDescription::DataStructure"
44}
Fragment for the class DataStructure (entire SHACL - Shapes Constraint Language)
1# class DataStructure
2# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::DataStructure
3<#DataStructure> a sh:NodeShape;
4 sh:targetClass cdi:DataStructure;
5 sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DataStructure";
6 sh:closed true;
7 sh:ignoredProperties ( owl:sameAs );
8 sh:property [
9 sh:path rdf:type;
10 sh:in ( cdi:DataStructure
11 cdi:DimensionalDataStructure
12 cdi:KeyValueStructure
13 cdi:LongDataStructure
14 cdi:WideDataStructure
15 ) ;
16 ];
17 # attributes
18 # associations from DataStructure
19 sh:property <#DataStructure_has_ComponentPosition>;
20 sh:property <#DataStructure_has_DataStructureComponent>;
21 sh:property <#DataStructure_has_ForeignKey>;
22 sh:property <#DataStructure_has_PrimaryKey>;
23 # associations to DataStructure
24 sh:property <#rev_DataSet_isStructuredBy_DataStructure>;
25 sh:property <#rev_PhysicalDataSetStructure_correspondsTo_DataStructure>;
26
27 # ---- superclass: DataStructureComponent
28 # attributes
29 sh:property <#DataStructureComponent-identifier>;
30 sh:property <#DataStructureComponent-semantic>;
31 sh:property <#DataStructureComponent-specialization>;
32 # associations from DataStructureComponent
33 sh:property <#DataStructureComponent_isDefinedBy_RepresentedVariable>;
34 # associations to DataStructureComponent
35 sh:property <#rev_DataPoint_correspondsTo_DataStructureComponent>;
36 sh:property <#rev_DataStructure_has_DataStructureComponent>;
37 sh:property <#rev_KeyMember_isBasedOn_DataStructureComponent>;
38 sh:property <#rev_AttributeComponent_qualifies_DataStructureComponent>;
39 sh:property <#rev_ComponentPosition_indexes_DataStructureComponent>;
40 sh:property <#rev_ForeignKeyComponent_correspondsTo_DataStructureComponent>;
41 sh:property <#rev_PrimaryKeyComponent_correspondsTo_DataStructureComponent>;
42
43
44
45
46
47.
48
49
50<#DataStructure_has_ComponentPosition> a sh:PropertyShape ;
51 sh:path cdi:DataStructure_has_ComponentPosition;
52 sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
53 cdi:ComponentPosition
54
55 ) ]];
56.
57<#rev_DataStructure_has_ComponentPosition> a sh:PropertyShape ;
58 sh:path [ sh:inversePath cdi:DataStructure_has_ComponentPosition ];
59 sh:minCount 1;
60 sh:maxCount 1;
61.
62<#DataStructure_has_DataStructureComponent> a sh:PropertyShape ;
63 sh:path cdi:DataStructure_has_DataStructureComponent;
64 sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
65 cdi:DataStructureComponent
66 cdi:AttributeComponent
67 cdi:ContextualComponent
68 cdi:DataStructure
69 cdi:DimensionalDataStructure
70 cdi:KeyValueStructure
71 cdi:LongDataStructure
72 cdi:WideDataStructure
73 cdi:DimensionComponent
74 cdi:IdentifierComponent
75 cdi:MeasureComponent
76 cdi:QualifiedMeasure
77 cdi:SyntheticIdComponent
78 cdi:VariableDescriptorComponent
79 cdi:VariableValueComponent
80
81 ) ]];
82.
83<#rev_DataStructure_has_DataStructureComponent> a sh:PropertyShape ;
84 sh:path [ sh:inversePath cdi:DataStructure_has_DataStructureComponent ];
85 sh:maxCount 1;
86.
87<#DataStructure_has_ForeignKey> a sh:PropertyShape ;
88 sh:path cdi:DataStructure_has_ForeignKey;
89 sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
90 cdi:ForeignKey
91
92 ) ]];
93.
94<#rev_DataStructure_has_ForeignKey> a sh:PropertyShape ;
95 sh:path [ sh:inversePath cdi:DataStructure_has_ForeignKey ];
96 sh:minCount 1;
97 sh:maxCount 1;
98.
99<#DataStructure_has_PrimaryKey> a sh:PropertyShape ;
100 sh:path cdi:DataStructure_has_PrimaryKey;
101 sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
102 cdi:PrimaryKey
103
104 ) ]];
105 sh:maxCount 1;
106.
107<#rev_DataStructure_has_PrimaryKey> a sh:PropertyShape ;
108 sh:path [ sh:inversePath cdi:DataStructure_has_PrimaryKey ];
109 sh:minCount 1;
110 sh:maxCount 1;
111.
Fragment for the class DataStructure (entire ShEx - Shape Expressions)
1# class DataStructure
2# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::DataStructure
3cdi:DataStructureShape CLOSED {
4 a [cdi:DataStructure];
5 $cdi:DataStructureProperties (
6 ^cdi:DataSet_isStructuredBy_DataStructure @cdi:DataSetShape OR @cdi:DimensionalDataSetShape OR @cdi:KeyValueDataStoreShape OR @cdi:LongDataSetShape OR @cdi:WideDataSetShape*;
7 cdi:DataStructure_has_ComponentPosition @cdi:ComponentPositionShape *;
8
9 cdi:DataStructure_has_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*;
10
11 cdi:DataStructure_has_ForeignKey @cdi:ForeignKeyShape *;
12
13 cdi:DataStructure_has_PrimaryKey @cdi:PrimaryKeyShape ?;
14
15 ^cdi:PhysicalDataSetStructure_correspondsTo_DataStructure @cdi:PhysicalDataSetStructureShape *;
16 &cdi:DataStructureComponentProperties;
17 );
18}