DataStructureComponent#

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

Definition#

Role given to a represented variable in the context of a data structure.

Explanatory notes#

A represented variable can have different roles in different data structures. For instance, the variable sex can be a measure in a wide data structure and a dimension in a dimensional data structure.

Diagram#

Diagram

Inheritance#

Inheritance

Attributes#

Attributes
Attributes#

Name

Inherited from

Description

Data Type

Multiplicity

Default value

identifier

- own class -

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

Identifier

0..1

semantic

- own class -

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

PairedControlledVocabularyEntry

0..*

specialization

- own class -

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#

Associations
Associations#

Direction

Association

Description

Multiplicity of DataStructureComponent

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

own class

to

DataPoint correspondsTo DataStructureComponent

0..*

DataDescription

DataPoint

0..*

none

own class

to

DataStructure has DataStructureComponent

0..*

DataDescription

DataStructure

0..1

none

own class

to

KeyMember isBasedOn DataStructureComponent

0..*

DataDescription

KeyMember

0..*

none

own class

to

AttributeComponent qualifies DataStructureComponent

0..*

- own package -

AttributeComponent

0..*

none

own class

to

ComponentPosition indexes DataStructureComponent

0..1

- own package -

ComponentPosition

0..*

none

own class

to

ForeignKeyComponent correspondsTo DataStructureComponent

1..1

- own package -

ForeignKeyComponent

0..1

none

own class

to

PrimaryKeyComponent correspondsTo DataStructureComponent

1..1

- own package -

PrimaryKeyComponent

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 DataStructureComponent (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-Components-DataStructureComponent"
 5                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructureComponent"
 6                  xmi:type="uml:Class">
 7   <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-DataStructureComponent-ownedComment"
 8                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructureComponent-ownedComment"
 9                  xmi:type="uml:Comment">
10      <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-DataStructureComponent"/>
11      <body>Definition 
12============ 
13Role given to a represented variable in the context of a data structure.  
14
15Explanatory notes 
16=================== 
17A represented variable can have different roles in different data structures. For instance, the variable sex can be a measure in a wide data structure and a dimension in a dimensional data structure.</body>
18   </ownedComment>
19   <name>DataStructureComponent</name>
20   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-DataStructureComponent-identifier"
21                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructureComponent-identifier"
22                    xmi:type="uml:Property">
23      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-DataStructureComponent-identifier-ownedComment"
24                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructureComponent-identifier-ownedComment"
25                     xmi:type="uml:Comment">
26         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-DataStructureComponent-identifier"/>
27         <body>Identifier for objects requiring short- or long-lasting referencing and management.</body>
28      </ownedComment>
29      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-DataStructureComponent-identifier-lowerValue"
30                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructureComponent-identifier-lowerValue"
31                   xmi:type="uml:LiteralInteger"/>
32      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-DataStructureComponent-identifier-upperValue"
33                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructureComponent-identifier-upperValue"
34                   xmi:type="uml:LiteralUnlimitedNatural">
35         <value>1</value>
36      </upperValue>
37      <name>identifier</name>
38      <isID>true</isID>
39      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-Identifier"/>
40   </ownedAttribute>
41   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-DataStructureComponent-ownedAttribute"
42                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructureComponent-ownedAttribute"
43                    xmi:type="uml:Property">
44      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-DataStructureComponent-ownedAttribute-lowerValue"
45                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructureComponent-ownedAttribute-lowerValue"
46                   xmi:type="uml:LiteralInteger"/>
47      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-DataStructureComponent-ownedAttribute-upperValue"
48                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructureComponent-ownedAttribute-upperValue"
49                   xmi:type="uml:LiteralUnlimitedNatural">
50         <value>1</value>
51      </upperValue>
52      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Conceptual-DataStructureComponent_isDefinedBy_RepresentedVariable"/>
53      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Conceptual-RepresentedVariable"/>
54   </ownedAttribute>
55   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-DataStructureComponent-semantic"
56                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructureComponent-semantic"
57                    xmi:type="uml:Property">
58      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-DataStructureComponent-semantic-ownedComment"
59                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructureComponent-semantic-ownedComment"
60                     xmi:type="uml:Comment">
61         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-DataStructureComponent-semantic"/>
62         <body>Qualifies the purpose or use expressed as a paired external controlled vocabulary.</body>
63      </ownedComment>
64      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-DataStructureComponent-semantic-lowerValue"
65                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructureComponent-semantic-lowerValue"
66                   xmi:type="uml:LiteralInteger"/>
67      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-DataStructureComponent-semantic-upperValue"
68                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructureComponent-semantic-upperValue"
69                   xmi:type="uml:LiteralUnlimitedNatural">
70         <value>*</value>
71      </upperValue>
72      <name>semantic</name>
73      <isOrdered>true</isOrdered>
74      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-PairedControlledVocabularyEntry"/>
75   </ownedAttribute>
76   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-DataStructureComponent-specialization"
77                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructureComponent-specialization"
78                    xmi:type="uml:Property">
79      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-DataStructureComponent-specialization-ownedComment"
80                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructureComponent-specialization-ownedComment"
81                     xmi:type="uml:Comment">
82         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-DataStructureComponent-specialization"/>
83         <body>The role played by the component for the data set for purposes of harmonization and integration, typically regarding geography, time, etc.</body>
84      </ownedComment>
85      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-DataStructureComponent-specialization-lowerValue"
86                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructureComponent-specialization-lowerValue"
87                   xmi:type="uml:LiteralInteger"/>
88      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-DataStructureComponent-specialization-upperValue"
89                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStructureComponent-specialization-upperValue"
90                   xmi:type="uml:LiteralUnlimitedNatural">
91         <value>1</value>
92      </upperValue>
93      <name>specialization</name>
94      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-SpecializationRole"/>
95   </ownedAttribute>
96</packagedElement>

Fragment for the class DataStructureComponent (entire XML Schema)

 1<xs:element name="DataStructureComponent"
 2            type="DataStructureComponentXsdType"
 3            xml:id="DataStructureComponent">
 4  <!-- based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Components::DataStructureComponent -->
 5  <xs:annotation>
 6    <xs:documentation>Definition 
 7          ============ 
 8          Role given to a represented variable in the context of a data structure.  
 9          
10          Explanatory notes 
11          =================== 
12          A represented variable can have different roles in different data structures. For instance, the variable sex can be a measure in a wide data structure and a dimension in a dimensional data structure.</xs:documentation>
13  </xs:annotation>
14</xs:element>
15<xs:complexType name="DataStructureComponentXsdType"
16                xml:id="DataStructureComponentXsdType">
17  <xs:annotation>
18    <xs:documentation>Definition 
19          ============ 
20          Role given to a represented variable in the context of a data structure.  
21          
22          Explanatory notes 
23          =================== 
24          A represented variable can have different roles in different data structures. For instance, the variable sex can be a measure in a wide data structure and a dimension in a dimensional data structure.</xs:documentation>
25  </xs:annotation>
26  <xs:sequence>
27    <xs:element name="identifier"
28                type="IdentifierXsdType"
29                minOccurs="0"
30                maxOccurs="1"
31                xml:id="DataStructureComponent-identifier">
32      <xs:annotation>
33        <xs:documentation>Identifier for objects requiring short- or long-lasting referencing and management.</xs:documentation>
34      </xs:annotation>
35    </xs:element>
36    <xs:element name="semantic"
37                type="PairedControlledVocabularyEntryXsdType"
38                minOccurs="0"
39                maxOccurs="unbounded"
40                xml:id="DataStructureComponent-semantic">
41      <xs:annotation>
42        <xs:documentation>Qualifies the purpose or use expressed as a paired external controlled vocabulary.</xs:documentation>
43      </xs:annotation>
44    </xs:element>
45    <xs:element name="specialization"
46                type="SpecializationRoleXsdType"
47                minOccurs="0"
48                maxOccurs="1"
49                xml:id="DataStructureComponent-specialization">
50      <xs:annotation>
51        <xs:documentation>The role played by the component for the data set for purposes of harmonization and integration, typically regarding geography, time, etc.</xs:documentation>
52      </xs:annotation>
53    </xs:element>
54    <xs:element name="DataStructureComponent_isDefinedBy_RepresentedVariable"
55                minOccurs="0"
56                maxOccurs="1"
57                xml:id="DataStructureComponent_isDefinedBy_RepresentedVariable">
58      <xs:annotation>
59        <xs:documentation>Data structure component is defined by zero to one represented variable.</xs:documentation>
60      </xs:annotation>
61      <xs:complexType>
62        <xs:complexContent>
63          <xs:restriction base="AssociationReferenceXsdType">
64            <xs:sequence>
65              <xs:element name="ddiReference"
66                          type="InternationalRegistrationDataIdentifierXsdType"
67                          minOccurs="0"
68                          maxOccurs="1"
69                          xml:id="DataStructureComponent_isDefinedBy_RepresentedVariable-ddiReference"/>
70              <xs:element name="validType"
71                          minOccurs="0"
72                          maxOccurs="unbounded"
73                          xml:id="DataStructureComponent_isDefinedBy_RepresentedVariable-validType">
74                <xs:simpleType>
75                  <xs:restriction base="xs:NMTOKEN">
76                    <xs:enumeration value="DescriptorVariable"/>
77                    <xs:enumeration value="InstanceVariable"/>
78                    <xs:enumeration value="ReferenceVariable"/>
79                    <xs:enumeration value="RepresentedVariable"/>
80                  </xs:restriction>
81                </xs:simpleType>
82              </xs:element>
83            </xs:sequence>
84          </xs:restriction>
85        </xs:complexContent>
86      </xs:complexType>
87    </xs:element>
88  </xs:sequence>
89</xs:complexType>

Fragment for the class DataStructureComponent (entire JSON Schema)

  1"cls-DataStructureComponent": {
  2  "description": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DataStructureComponent",
  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": "DataStructureComponent"
 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    "isDefinedBy_RepresentedVariable": {
 30      "description": "DataStructureComponent_isDefinedBy_RepresentedVariable",
 31      "$comment": "cardinality 0..1",
 32       "$ref": "#/defs/target-RepresentedVariable"
 33    },
 34    "correspondsTo_DataStructureComponent_OF_DataPoint": {
 35      "description": "DataPoint_correspondsTo_DataStructureComponent",
 36      "$comment": "cardinality 0..-1",
 37      "anyOf": [
 38        {
 39          "$ref": "#/defs/target-DataPoint"
 40        },
 41        {
 42          "type": "array",
 43          "items": {
 44            "$ref": "#/defs/target-DataPoint"
 45          }
 46        }
 47      ]
 48    },
 49    "has_DataStructureComponent_OF_DataStructure": {
 50      "description": "DataStructure_has_DataStructureComponent",
 51      "$comment": "cardinality 0..1",
 52      "$ref": "#/defs/target-DataStructure"
 53    },
 54    "isBasedOn_OF_KeyMember": {
 55      "description": "KeyMember_isBasedOn_DataStructureComponent",
 56      "$comment": "cardinality 0..-1",
 57      "anyOf": [
 58        {
 59          "$ref": "#/defs/target-KeyMember"
 60        },
 61        {
 62          "type": "array",
 63          "items": {
 64            "$ref": "#/defs/target-KeyMember"
 65          }
 66        }
 67      ]
 68    },
 69    "qualifies_OF_AttributeComponent": {
 70      "description": "AttributeComponent_qualifies_DataStructureComponent",
 71      "$comment": "cardinality 0..-1",
 72      "anyOf": [
 73        {
 74          "$ref": "#/defs/target-AttributeComponent"
 75        },
 76        {
 77          "type": "array",
 78          "items": {
 79            "$ref": "#/defs/target-AttributeComponent"
 80          }
 81        }
 82      ]
 83    },
 84    "indexes_OF_ComponentPosition": {
 85      "description": "ComponentPosition_indexes_DataStructureComponent",
 86      "$comment": "cardinality 0..-1",
 87      "anyOf": [
 88        {
 89          "$ref": "#/defs/target-ComponentPosition"
 90        },
 91        {
 92          "type": "array",
 93          "items": {
 94            "$ref": "#/defs/target-ComponentPosition"
 95          }
 96        }
 97      ]
 98    },
 99    "correspondsTo_DataStructureComponent_OF_ForeignKeyComponent": {
100      "description": "ForeignKeyComponent_correspondsTo_DataStructureComponent",
101      "$comment": "cardinality 0..1",
102      "$ref": "#/defs/target-ForeignKeyComponent"
103    },
104    "correspondsTo_DataStructureComponent_OF_PrimaryKeyComponent": {
105      "description": "PrimaryKeyComponent_correspondsTo_DataStructureComponent",
106      "$comment": "cardinality 0..1",
107      "$ref": "#/defs/target-PrimaryKeyComponent"
108    },
109    "sameAs": {
110      "$ref": "#/defs/owl:sameAs"
111    }
112  },
113  "required": ["@type"],
114  "additionalProperties": false
115},
116"target-DataStructureComponent": {
117  "description": "all subclasses of http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DataStructureComponent",
118  "anyOf": [
119    { "$ref": "#/defs/cls-DataStructureComponent" },
120    { "$ref": "#/defs/cls-AttributeComponent" },
121    { "$ref": "#/defs/cls-ContextualComponent" },
122    { "$ref": "#/defs/cls-DataStructure" },
123    { "$ref": "#/defs/cls-DimensionComponent" },
124    { "$ref": "#/defs/cls-IdentifierComponent" },
125    { "$ref": "#/defs/cls-MeasureComponent" },
126    { "$ref": "#/defs/cls-SyntheticIdComponent" },
127    { "$ref": "#/defs/cls-VariableDescriptorComponent" },
128    { "$ref": "#/defs/cls-VariableValueComponent" },
129    { "type": "string", "format": "iri-reference" }
130  ]
131},

Fragment for the class DataStructureComponent (main ontology)

 1# class DataStructureComponent
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Components::DataStructureComponent
 3cdi:DataStructureComponent
 4  a rdfs:Class, owl:Class, ucmis:Class;
 5  rdfs:label "DataStructureComponent";
 6  rdfs:comment "Definition \n============ \nRole given to a represented variable in the context of a data structure.  \n\nExplanatory notes \n=================== \nA represented variable can have different roles in different data structures. For instance, the variable sex can be a measure in a wide data structure and a dimension in a dimensional data structure."@en;
 7  
 8.
 9
10cdi:DataStructureComponent-identifier
11  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
12  rdfs:label "identifier";
13  rdfs:comment "Identifier for objects requiring short- or long-lasting referencing and management."@en;
14  rdfs:domain cdi:DataStructureComponent;
15  rdfs:range cdi:Identifier;
16.
17
18cdi:DataStructureComponent-semantic
19  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
20  rdfs:label "semantic";
21  rdfs:comment "Qualifies the purpose or use expressed as a paired external controlled vocabulary."@en;
22  rdfs:domain cdi:DataStructureComponent;
23  rdfs:range cdi:PairedControlledVocabularyEntry;
24.
25
26cdi:DataStructureComponent-specialization
27  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
28  rdfs:label "specialization";
29  rdfs:comment "The role played by the component for the data set for purposes of harmonization and integration, typically regarding geography, time, etc."@en;
30  rdfs:domain cdi:DataStructureComponent;
31  rdfs:range cdi:SpecializationRole;
32.
33
34
35cdi:DataStructureComponent_isDefinedBy_RepresentedVariable
36  a rdf:Property, owl:ObjectProperty, ucmis:Association;
37  # ASSOCIATION
38  rdfs:label "isDefinedBy_RepresentedVariable";
39  skos:altLabel "DataStructureComponent_isDefinedBy_RepresentedVariable";
40  rdfs:comment "Data structure component is defined by zero to one represented variable."@en;
41  rdfs:domain cdi:DataStructureComponent;
42  rdfs:range cdi:RepresentedVariable;
43.

Fragment for the class DataStructureComponent (entire JSON-LD)

 1{
 2  "@context": [
 3    {
 4      "cdi": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/",
 5      "xsd": "http://www.w3.org/2001/XMLSchema#",
 6
 7      "identifier": {
 8        "@id": "cdi:DataStructureComponent-identifier",
 9        "@type": "@id",
10        "@context": "Identifier.jsonld"
11      },
12      "semantic": {
13        "@id": "cdi:DataStructureComponent-semantic",
14        "@type": "@id",
15        "@context": "PairedControlledVocabularyEntry.jsonld"
16      },
17      "specialization": {
18        "@id": "cdi:DataStructureComponent-specialization",
19        "@type": "@id",
20        "@context": "SpecializationRole.jsonld"
21      },
22      
23      "isDefinedBy_RepresentedVariable": {
24        "@id": "cdi:DataStructureComponent_isDefinedBy_RepresentedVariable",
25        "@type": "@id",
26        "@context": "RepresentedVariable.jsonld"
27      },
28      "correspondsTo_DataStructureComponent_OF_DataPoint": {
29        "@reverse": "cdi:DataPoint_correspondsTo_DataStructureComponent",
30        "@type": "@id",
31        "@context": "DataPoint.jsonld"
32      },
33      "has_DataStructureComponent_OF_DataStructure": {
34        "@reverse": "cdi:DataStructure_has_DataStructureComponent",
35        "@type": "@id",
36        "@context": "DataStructure.jsonld"
37      },
38      "isBasedOn_OF_KeyMember": {
39        "@reverse": "cdi:KeyMember_isBasedOn_DataStructureComponent",
40        "@type": "@id",
41        "@context": "KeyMember.jsonld"
42      },
43      "qualifies_OF_AttributeComponent": {
44        "@reverse": "cdi:AttributeComponent_qualifies_DataStructureComponent",
45        "@type": "@id",
46        "@context": "AttributeComponent.jsonld"
47      },
48      "indexes_OF_ComponentPosition": {
49        "@reverse": "cdi:ComponentPosition_indexes_DataStructureComponent",
50        "@type": "@id",
51        "@context": "ComponentPosition.jsonld"
52      },
53      "correspondsTo_DataStructureComponent_OF_ForeignKeyComponent": {
54        "@reverse": "cdi:ForeignKeyComponent_correspondsTo_DataStructureComponent",
55        "@type": "@id",
56        "@context": "ForeignKeyComponent.jsonld"
57      },
58      "correspondsTo_DataStructureComponent_OF_PrimaryKeyComponent": {
59        "@reverse": "cdi:PrimaryKeyComponent_correspondsTo_DataStructureComponent",
60        "@type": "@id",
61        "@context": "PrimaryKeyComponent.jsonld"
62      },
63      " comment ": "tag:json-should-support-trailing-commas"
64    }
65  ],
66  "generatedBy": "This code was generated by the Eclipse Acceleo project UCMIS M2T on 2025-08-29 14:34:49.",
67  "basedOn": "based on the UML data type DDICDIModels::DDICDILibrary::Classes::DataDescription::Components::DataStructureComponent"
68}

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

 1# class DataStructureComponent
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Components::DataStructureComponent
 3<#DataStructureComponent> a sh:NodeShape;
 4    sh:targetClass cdi:DataStructureComponent;
 5	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DataStructureComponent";
 6	sh:closed true;
 7	sh:ignoredProperties ( owl:sameAs );
 8    sh:property [
 9			sh:path rdf:type;
10			sh:in (   cdi:DataStructureComponent
11			  cdi:AttributeComponent
12			  cdi:ContextualComponent
13			  cdi:DataStructure
14			  cdi:DimensionalDataStructure
15			  cdi:KeyValueStructure
16			  cdi:LongDataStructure
17			  cdi:WideDataStructure
18			  cdi:DimensionComponent
19			  cdi:IdentifierComponent
20			  cdi:MeasureComponent
21			  cdi:QualifiedMeasure
22			  cdi:SyntheticIdComponent
23			  cdi:VariableDescriptorComponent
24			  cdi:VariableValueComponent
25			 ) ;
26    ];
27    # attributes
28    sh:property <#DataStructureComponent-identifier>;
29    sh:property <#DataStructureComponent-semantic>;
30    sh:property <#DataStructureComponent-specialization>;
31    # associations from DataStructureComponent
32    sh:property <#DataStructureComponent_isDefinedBy_RepresentedVariable>;
33    # associations to DataStructureComponent
34    sh:property <#rev_DataPoint_correspondsTo_DataStructureComponent>;
35    sh:property <#rev_DataStructure_has_DataStructureComponent>;
36    sh:property <#rev_KeyMember_isBasedOn_DataStructureComponent>;
37    sh:property <#rev_AttributeComponent_qualifies_DataStructureComponent>;
38    sh:property <#rev_ComponentPosition_indexes_DataStructureComponent>;
39    sh:property <#rev_ForeignKeyComponent_correspondsTo_DataStructureComponent>;
40    sh:property <#rev_PrimaryKeyComponent_correspondsTo_DataStructureComponent>;
41
42
43
44.
45
46<#DataStructureComponent-identifier> a sh:PropertyShape ;
47    sh:path cdi:DataStructureComponent-identifier;
48    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
49        cdi:Identifier
50      
51    ) ]];
52    sh:maxCount 1;
53.
54<#DataStructureComponent-semantic> a sh:PropertyShape ;
55    sh:path cdi:DataStructureComponent-semantic;
56    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
57        cdi:PairedControlledVocabularyEntry
58      
59    ) ]];
60.
61<#DataStructureComponent-specialization> a sh:PropertyShape ;
62    sh:path cdi:DataStructureComponent-specialization;
63    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
64        cdi:SpecializationRole
65        cdi:GeoRole
66        cdi:TimeRole
67      
68    ) ]];
69    sh:maxCount 1;
70.
71
72<#DataStructureComponent_isDefinedBy_RepresentedVariable> a sh:PropertyShape ;
73    sh:path cdi:DataStructureComponent_isDefinedBy_RepresentedVariable;
74	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
75        cdi:RepresentedVariable
76        cdi:InstanceVariable
77        cdi:DescriptorVariable
78        cdi:ReferenceVariable
79      
80    ) ]];
81    sh:maxCount 1;
82.
83<#rev_DataStructureComponent_isDefinedBy_RepresentedVariable> a sh:PropertyShape ;
84    sh:path [ sh:inversePath cdi:DataStructureComponent_isDefinedBy_RepresentedVariable ];
85.

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

 1# class DataStructureComponent
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Components::DataStructureComponent
 3cdi:DataStructureComponentShape CLOSED {
 4	a [cdi:DataStructureComponent];
 5	$cdi:DataStructureComponentProperties (
 6	cdi:DataStructureComponent-identifier	@cdi:IdentifierShape?;
 7	cdi:DataStructureComponent-semantic	@cdi:PairedControlledVocabularyEntryShape*;
 8	cdi:DataStructureComponent-specialization	@cdi:SpecializationRoleShape?;
 9	cdi:DataStructureComponent_isDefinedBy_RepresentedVariable	@cdi:RepresentedVariableShape OR @cdi:InstanceVariableShape?;
10	
11	^cdi:DataPoint_correspondsTo_DataStructureComponent @cdi:DataPointShape *;
12	^cdi:DataStructure_has_DataStructureComponent @cdi:DataStructureShape OR @cdi:DimensionalDataStructureShape OR @cdi:KeyValueStructureShape OR @cdi:LongDataStructureShape OR @cdi:WideDataStructureShape?;
13	^cdi:KeyMember_isBasedOn_DataStructureComponent @cdi:KeyMemberShape OR @cdi:DescriptorShape OR @cdi:DimensionalKeyMemberShape OR @cdi:LongMainKeyMemberShape OR @cdi:MainKeyMemberShape OR @cdi:WideKeyMemberShape*;
14	^cdi:AttributeComponent_qualifies_DataStructureComponent @cdi:AttributeComponentShape *;
15	^cdi:ComponentPosition_indexes_DataStructureComponent @cdi:ComponentPositionShape *;
16	^cdi:ForeignKeyComponent_correspondsTo_DataStructureComponent @cdi:ForeignKeyComponentShape ?;
17	^cdi:PrimaryKeyComponent_correspondsTo_DataStructureComponent @cdi:PrimaryKeyComponentShape ?;
18		);
19}