DataStore#

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

Definition#

Collection of logical records.

Examples#

The data lineage of an individual business process or an entire data pipeline are both examples of a logical record relation structures. In a data lineage we can observe how logical records are connected within a business process or across business processes.

Explanatory notes#

Keep in mind that a logical records are definitions, not a “datasets”. Logical records organized in a structured collection is called a logical record relation structure. Instances of logical records instantiated as organizations of data points hosting data are described in format description. A data store is reusable across studies. Each study has at most one data store.

Diagram#

Diagram

Attributes#

Attributes
Attributes#

Name

Inherited from

Description

Data Type

Multiplicity

Default value

aboutMissing

- own class -

General information about missing data, e.g., that missing data have been standardized across the collection, missing data are present because of merging, etc.- corresponds to DDI2.5 dataMsng.

InternationalString

0..1

allowsDuplicates

- own class -

If value is False, the members are unique within the collection - if True, there may be duplicates. (Note that a mathematical “bag” permits duplicates and is unordered - a “set” does not have duplicates and may be ordered.)

Boolean

1..1

false

catalogDetails

- own class -

Bundles the information useful for a data catalog entry. Examples would be creator, contributor, title, copyright, embargo, and license information. A set of information useful for attribution, data discovery, and access. This is information that is tied to the identity of the object. If this information changes the version of the associated object changes.

CatalogDetails

0..1

characterSet

- own class -

Default character set used in the Data Store.

String

0..1

dataStoreType

- own class -

The type of datastore. Could be delimited file, fixed record length file, relational database, etc. Points to an external definition which can be part of a controlled vocabulary maintained by the DDI Alliance.

ControlledVocabularyEntry

0..1

identifier

- own class -

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

Identifier

0..1

name

- own class -

Human understandable name (liguistic signifier, word, phrase, or mnemonic). May follow ISO/IEC 11179-5 naming principles, and have context provided to specify usage.

ObjectName

0..*

purpose

- own class -

Intent or reason for the object/the description of the object.

InternationalString

0..1

recordCount

- own class -

The number of records in the Data Store.

Integer

0..1

Associations#

Associations
Associations#

Direction

Association

Description

Multiplicity of DataStore

Package of Other Class

Other Class

Multiplicity of other class

Aggregation Kind

Inherited from

from

DataStore isDefinedBy Concept

The conceptual basis for the collection of members.

0..*

Conceptual

Concept

0..*

none

own class

from

DataStore has LogicalRecord

0..*

- own package -

LogicalRecord

0..*

shared

own class

from

DataStore has LogicalRecordPosition

1..1

- own package -

LogicalRecordPosition

0..*

composite

own class

from

DataStore has RecordRelation

The record relation that defines the relationship and linking requirements between logical records in the data store.

0..*

- own package -

RecordRelation

0..1

shared

own class

to

LogicalRecordRelationStructure structures DataStore

0..*

- own package -

LogicalRecordRelationStructure

0..*

none

own class

to

PhysicalDataSet formats DataStore

Data store physically represented by the structure description.

0..*

- own package -

PhysicalDataSet

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 DataStore (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-FormatDescription-DataStore"
  5                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore"
  6                  xmi:type="uml:Class">
  7   <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-ownedComment"
  8                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-ownedComment"
  9                  xmi:type="uml:Comment">
 10      <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore"/>
 11      <body>Definition 
 12============ 
 13Collection of logical records.  
 14
 15Examples 
 16========== 
 17The data lineage of an individual business process or an entire data pipeline are both examples of a logical record relation structures. In a data lineage we can observe how logical records are connected within a business process or across business processes.  
 18
 19Explanatory notes 
 20=================== 
 21Keep in mind that a logical records are definitions, not a "datasets". Logical records organized in a structured collection is called a logical record relation structure. Instances of logical records instantiated as organizations of data points hosting data are described in format description. A data store is reusable across studies. Each study has at most one data store.</body>
 22   </ownedComment>
 23   <name>DataStore</name>
 24   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-aboutMissing"
 25                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-aboutMissing"
 26                    xmi:type="uml:Property">
 27      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-aboutMissing-ownedComment"
 28                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-aboutMissing-ownedComment"
 29                     xmi:type="uml:Comment">
 30         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-aboutMissing"/>
 31         <body>General information about missing data, e.g., that missing data have been standardized across the collection, missing data are present because of merging, etc.-  corresponds to DDI2.5 dataMsng.</body>
 32      </ownedComment>
 33      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-aboutMissing-lowerValue"
 34                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-aboutMissing-lowerValue"
 35                   xmi:type="uml:LiteralInteger"/>
 36      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-aboutMissing-upperValue"
 37                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-aboutMissing-upperValue"
 38                   xmi:type="uml:LiteralUnlimitedNatural">
 39         <value>1</value>
 40      </upperValue>
 41      <name>aboutMissing</name>
 42      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-InternationalString"/>
 43   </ownedAttribute>
 44   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-allowsDuplicates"
 45                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-allowsDuplicates"
 46                    xmi:type="uml:Property">
 47      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-allowsDuplicates-ownedComment"
 48                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-allowsDuplicates-ownedComment"
 49                     xmi:type="uml:Comment">
 50         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-allowsDuplicates"/>
 51         <body>If value is False, the members are unique within the collection - if True, there may be duplicates. (Note that a mathematical “bag” permits duplicates and is unordered - a “set” does not have duplicates and may be ordered.)</body>
 52      </ownedComment>
 53      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-allowsDuplicates-lowerValue"
 54                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-allowsDuplicates-lowerValue"
 55                   xmi:type="uml:LiteralInteger">
 56         <value>1</value>
 57      </lowerValue>
 58      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-allowsDuplicates-upperValue"
 59                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-allowsDuplicates-upperValue"
 60                   xmi:type="uml:LiteralUnlimitedNatural">
 61         <value>1</value>
 62      </upperValue>
 63      <name>allowsDuplicates</name>
 64      <defaultValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-allowsDuplicates-defaultValue"
 65                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-allowsDuplicates-defaultValue"
 66                     xmi:type="uml:LiteralBoolean">
 67         <value>False</value>
 68      </defaultValue>
 69      <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"
 70             xmi:type="uml:PrimitiveType"/>
 71   </ownedAttribute>
 72   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-catalogDetails"
 73                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-catalogDetails"
 74                    xmi:type="uml:Property">
 75      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-catalogDetails-ownedComment"
 76                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-catalogDetails-ownedComment"
 77                     xmi:type="uml:Comment">
 78         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-catalogDetails"/>
 79         <body>Bundles the information useful for a data catalog entry. Examples would be creator, contributor, title, copyright, embargo, and license information. A set of information useful for attribution, data discovery, and access. This is information that is tied to the identity of the object. If this information changes the version of the associated object changes.</body>
 80      </ownedComment>
 81      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-catalogDetails-lowerValue"
 82                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-catalogDetails-lowerValue"
 83                   xmi:type="uml:LiteralInteger"/>
 84      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-catalogDetails-upperValue"
 85                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-catalogDetails-upperValue"
 86                   xmi:type="uml:LiteralUnlimitedNatural">
 87         <value>1</value>
 88      </upperValue>
 89      <name>catalogDetails</name>
 90      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-CatalogDetails"/>
 91   </ownedAttribute>
 92   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-characterSet"
 93                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-characterSet"
 94                    xmi:type="uml:Property">
 95      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-characterSet-ownedComment"
 96                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-characterSet-ownedComment"
 97                     xmi:type="uml:Comment">
 98         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-characterSet"/>
 99         <body>Default character set used in the Data Store.</body>
100      </ownedComment>
101      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-characterSet-lowerValue"
102                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-characterSet-lowerValue"
103                   xmi:type="uml:LiteralInteger"/>
104      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-characterSet-upperValue"
105                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-characterSet-upperValue"
106                   xmi:type="uml:LiteralUnlimitedNatural">
107         <value>1</value>
108      </upperValue>
109      <name>characterSet</name>
110      <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"
111             xmi:type="uml:PrimitiveType"/>
112   </ownedAttribute>
113   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-dataStoreType"
114                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-dataStoreType"
115                    xmi:type="uml:Property">
116      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-dataStoreType-ownedComment"
117                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-dataStoreType-ownedComment"
118                     xmi:type="uml:Comment">
119         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-dataStoreType"/>
120         <body>The type of datastore. Could be delimited file, fixed record length file, relational database, etc. Points to an external definition which can be part of a controlled vocabulary maintained by the DDI Alliance.</body>
121      </ownedComment>
122      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-dataStoreType-lowerValue"
123                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-dataStoreType-lowerValue"
124                   xmi:type="uml:LiteralInteger"/>
125      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-dataStoreType-upperValue"
126                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-dataStoreType-upperValue"
127                   xmi:type="uml:LiteralUnlimitedNatural">
128         <value>1</value>
129      </upperValue>
130      <name>dataStoreType</name>
131      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-ControlledVocabularyEntry"/>
132   </ownedAttribute>
133   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-identifier"
134                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-identifier"
135                    xmi:type="uml:Property">
136      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-identifier-ownedComment"
137                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-identifier-ownedComment"
138                     xmi:type="uml:Comment">
139         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-identifier"/>
140         <body>Identifier for objects requiring short- or long-lasting referencing and management.</body>
141      </ownedComment>
142      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-identifier-lowerValue"
143                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-identifier-lowerValue"
144                   xmi:type="uml:LiteralInteger"/>
145      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-identifier-upperValue"
146                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-identifier-upperValue"
147                   xmi:type="uml:LiteralUnlimitedNatural">
148         <value>1</value>
149      </upperValue>
150      <name>identifier</name>
151      <isID>true</isID>
152      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-Identifier"/>
153   </ownedAttribute>
154   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-name"
155                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-name"
156                    xmi:type="uml:Property">
157      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-name-ownedComment"
158                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-name-ownedComment"
159                     xmi:type="uml:Comment">
160         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-name"/>
161         <body>Human understandable name (liguistic signifier, word, phrase, or mnemonic). May follow ISO/IEC 11179-5 naming principles, and have context provided to specify usage.</body>
162      </ownedComment>
163      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-name-lowerValue"
164                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-name-lowerValue"
165                   xmi:type="uml:LiteralInteger"/>
166      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-name-upperValue"
167                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-name-upperValue"
168                   xmi:type="uml:LiteralUnlimitedNatural">
169         <value>*</value>
170      </upperValue>
171      <name>name</name>
172      <isOrdered>true</isOrdered>
173      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-ObjectName"/>
174   </ownedAttribute>
175   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-ownedAttribute_1"
176                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-ownedAttribute_1"
177                    xmi:type="uml:Property">
178      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-ownedAttribute_1-lowerValue"
179                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-ownedAttribute_1-lowerValue"
180                   xmi:type="uml:LiteralInteger"/>
181      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-ownedAttribute_1-upperValue"
182                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-ownedAttribute_1-upperValue"
183                   xmi:type="uml:LiteralUnlimitedNatural">
184         <value>*</value>
185      </upperValue>
186      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Conceptual-DataStore_isDefinedBy_Concept"/>
187      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Conceptual-Concept"/>
188   </ownedAttribute>
189   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-ownedAttribute_2"
190                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-ownedAttribute_2"
191                    xmi:type="uml:Property">
192      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-ownedAttribute_2-lowerValue"
193                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-ownedAttribute_2-lowerValue"
194                   xmi:type="uml:LiteralInteger"/>
195      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-ownedAttribute_2-upperValue"
196                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-ownedAttribute_2-upperValue"
197                   xmi:type="uml:LiteralUnlimitedNatural">
198         <value>*</value>
199      </upperValue>
200      <aggregation>composite</aggregation>
201      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore_has_LogicalRecordPosition"/>
202      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-LogicalRecordPosition"/>
203   </ownedAttribute>
204   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-ownedAttribute_3"
205                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-ownedAttribute_3"
206                    xmi:type="uml:Property">
207      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-ownedAttribute_3-lowerValue"
208                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-ownedAttribute_3-lowerValue"
209                   xmi:type="uml:LiteralInteger"/>
210      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-ownedAttribute_3-upperValue"
211                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-ownedAttribute_3-upperValue"
212                   xmi:type="uml:LiteralUnlimitedNatural">
213         <value>*</value>
214      </upperValue>
215      <aggregation>shared</aggregation>
216      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore_has_LogicalRecord"/>
217      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-LogicalRecord"/>
218   </ownedAttribute>
219   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-ownedAttribute_4"
220                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-ownedAttribute_4"
221                    xmi:type="uml:Property">
222      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-ownedAttribute_4-lowerValue"
223                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-ownedAttribute_4-lowerValue"
224                   xmi:type="uml:LiteralInteger"/>
225      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-ownedAttribute_4-upperValue"
226                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-ownedAttribute_4-upperValue"
227                   xmi:type="uml:LiteralUnlimitedNatural">
228         <value>1</value>
229      </upperValue>
230      <aggregation>shared</aggregation>
231      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore_has_RecordRelation"/>
232      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-RecordRelation"/>
233   </ownedAttribute>
234   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-purpose"
235                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-purpose"
236                    xmi:type="uml:Property">
237      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-purpose-ownedComment"
238                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-purpose-ownedComment"
239                     xmi:type="uml:Comment">
240         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-purpose"/>
241         <body>Intent or reason for the object/the description of the object.</body>
242      </ownedComment>
243      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-purpose-lowerValue"
244                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-purpose-lowerValue"
245                   xmi:type="uml:LiteralInteger"/>
246      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-purpose-upperValue"
247                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-purpose-upperValue"
248                   xmi:type="uml:LiteralUnlimitedNatural">
249         <value>1</value>
250      </upperValue>
251      <name>purpose</name>
252      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-InternationalString"/>
253   </ownedAttribute>
254   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-recordCount"
255                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-recordCount"
256                    xmi:type="uml:Property">
257      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-recordCount-ownedComment"
258                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-recordCount-ownedComment"
259                     xmi:type="uml:Comment">
260         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-recordCount"/>
261         <body>The number of records in the Data Store.</body>
262      </ownedComment>
263      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-recordCount-lowerValue"
264                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-recordCount-lowerValue"
265                   xmi:type="uml:LiteralInteger"/>
266      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataStore-recordCount-upperValue"
267                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DataStore-recordCount-upperValue"
268                   xmi:type="uml:LiteralUnlimitedNatural">
269         <value>1</value>
270      </upperValue>
271      <name>recordCount</name>
272      <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Integer"
273             xmi:type="uml:PrimitiveType"/>
274   </ownedAttribute>
275</packagedElement>

Fragment for the class DataStore (entire XML Schema)

  1<xs:element name="DataStore"
  2            type="DataStoreXsdType"
  3            xml:id="DataStore">
  4  <!-- based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::DataStore -->
  5  <xs:annotation>
  6    <xs:documentation>Definition 
  7          ============ 
  8          Collection of logical records.  
  9          
 10          Examples 
 11          ========== 
 12          The data lineage of an individual business process or an entire data pipeline are both examples of a logical record relation structures. In a data lineage we can observe how logical records are connected within a business process or across business processes.  
 13          
 14          Explanatory notes 
 15          =================== 
 16          Keep in mind that a logical records are definitions, not a "datasets". Logical records organized in a structured collection is called a logical record relation structure. Instances of logical records instantiated as organizations of data points hosting data are described in format description. A data store is reusable across studies. Each study has at most one data store.</xs:documentation>
 17  </xs:annotation>
 18</xs:element>
 19<xs:complexType name="DataStoreXsdType"
 20                xml:id="DataStoreXsdType">
 21  <xs:annotation>
 22    <xs:documentation>Definition 
 23          ============ 
 24          Collection of logical records.  
 25          
 26          Examples 
 27          ========== 
 28          The data lineage of an individual business process or an entire data pipeline are both examples of a logical record relation structures. In a data lineage we can observe how logical records are connected within a business process or across business processes.  
 29          
 30          Explanatory notes 
 31          =================== 
 32          Keep in mind that a logical records are definitions, not a "datasets". Logical records organized in a structured collection is called a logical record relation structure. Instances of logical records instantiated as organizations of data points hosting data are described in format description. A data store is reusable across studies. Each study has at most one data store.</xs:documentation>
 33  </xs:annotation>
 34  <xs:sequence>
 35    <xs:element name="aboutMissing"
 36                type="InternationalStringXsdType"
 37                minOccurs="0"
 38                maxOccurs="1"
 39                xml:id="DataStore-aboutMissing">
 40      <xs:annotation>
 41        <xs:documentation>General information about missing data, e.g., that missing data have been standardized across the collection, missing data are present because of merging, etc.-  corresponds to DDI2.5 dataMsng.</xs:documentation>
 42      </xs:annotation>
 43    </xs:element>
 44    <xs:element name="allowsDuplicates"
 45                type="xs:boolean"
 46                minOccurs="1"
 47                maxOccurs="1"
 48                xml:id="DataStore-allowsDuplicates">
 49      <xs:annotation>
 50        <xs:documentation>If value is False, the members are unique within the collection - if True, there may be duplicates. (Note that a mathematical “bag” permits duplicates and is unordered - a “set” does not have duplicates and may be ordered.)</xs:documentation>
 51      </xs:annotation>
 52    </xs:element>
 53    <xs:element name="catalogDetails"
 54                type="CatalogDetailsXsdType"
 55                minOccurs="0"
 56                maxOccurs="1"
 57                xml:id="DataStore-catalogDetails">
 58      <xs:annotation>
 59        <xs:documentation>Bundles the information useful for a data catalog entry. Examples would be creator, contributor, title, copyright, embargo, and license information. A set of information useful for attribution, data discovery, and access. This is information that is tied to the identity of the object. If this information changes the version of the associated object changes.</xs:documentation>
 60      </xs:annotation>
 61    </xs:element>
 62    <xs:element name="characterSet"
 63                type="xs:string"
 64                minOccurs="0"
 65                maxOccurs="1"
 66                xml:id="DataStore-characterSet">
 67      <xs:annotation>
 68        <xs:documentation>Default character set used in the Data Store.</xs:documentation>
 69      </xs:annotation>
 70    </xs:element>
 71    <xs:element name="dataStoreType"
 72                type="ControlledVocabularyEntryXsdType"
 73                minOccurs="0"
 74                maxOccurs="1"
 75                xml:id="DataStore-dataStoreType">
 76      <xs:annotation>
 77        <xs:documentation>The type of datastore. Could be delimited file, fixed record length file, relational database, etc. Points to an external definition which can be part of a controlled vocabulary maintained by the DDI Alliance.</xs:documentation>
 78      </xs:annotation>
 79    </xs:element>
 80    <xs:element name="identifier"
 81                type="IdentifierXsdType"
 82                minOccurs="0"
 83                maxOccurs="1"
 84                xml:id="DataStore-identifier">
 85      <xs:annotation>
 86        <xs:documentation>Identifier for objects requiring short- or long-lasting referencing and management.</xs:documentation>
 87      </xs:annotation>
 88    </xs:element>
 89    <xs:element name="name"
 90                type="ObjectNameXsdType"
 91                minOccurs="0"
 92                maxOccurs="unbounded"
 93                xml:id="DataStore-name">
 94      <xs:annotation>
 95        <xs:documentation>Human understandable name (liguistic signifier, word, phrase, or mnemonic). May follow ISO/IEC 11179-5 naming principles, and have context provided to specify usage.</xs:documentation>
 96      </xs:annotation>
 97    </xs:element>
 98    <xs:element name="purpose"
 99                type="InternationalStringXsdType"
100                minOccurs="0"
101                maxOccurs="1"
102                xml:id="DataStore-purpose">
103      <xs:annotation>
104        <xs:documentation>Intent or reason for the object/the description of the object.</xs:documentation>
105      </xs:annotation>
106    </xs:element>
107    <xs:element name="recordCount"
108                type="xs:integer"
109                minOccurs="0"
110                maxOccurs="1"
111                xml:id="DataStore-recordCount">
112      <xs:annotation>
113        <xs:documentation>The number of records in the Data Store.</xs:documentation>
114      </xs:annotation>
115    </xs:element>
116    <xs:element name="DataStore_isDefinedBy_Concept"
117                minOccurs="0"
118                maxOccurs="unbounded"
119                xml:id="DataStore_isDefinedBy_Concept">
120      <xs:annotation>
121        <xs:documentation>The conceptual basis for the collection of members.</xs:documentation>
122      </xs:annotation>
123      <xs:complexType>
124        <xs:complexContent>
125          <xs:restriction base="AssociationReferenceXsdType">
126            <xs:sequence>
127              <xs:element name="ddiReference"
128                          type="InternationalRegistrationDataIdentifierXsdType"
129                          minOccurs="0"
130                          maxOccurs="1"
131                          xml:id="DataStore_isDefinedBy_Concept-ddiReference"/>
132              <xs:element name="validType"
133                          minOccurs="0"
134                          maxOccurs="unbounded"
135                          xml:id="DataStore_isDefinedBy_Concept-validType">
136                <xs:simpleType>
137                  <xs:restriction base="xs:NMTOKEN">
138                    <xs:enumeration value="Category"/>
139                    <xs:enumeration value="Concept"/>
140                    <xs:enumeration value="ConceptualValue"/>
141                    <xs:enumeration value="ConceptualVariable"/>
142                    <xs:enumeration value="DescriptorVariable"/>
143                    <xs:enumeration value="DimensionalKeyDefinitionMember"/>
144                    <xs:enumeration value="InstanceVariable"/>
145                    <xs:enumeration value="KeyDefinitionMember"/>
146                    <xs:enumeration value="Population"/>
147                    <xs:enumeration value="ReferenceVariable"/>
148                    <xs:enumeration value="RepresentedVariable"/>
149                    <xs:enumeration value="UnitType"/>
150                    <xs:enumeration value="Universe"/>
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:element name="DataStore_has_LogicalRecordPosition"
160                minOccurs="0"
161                maxOccurs="unbounded"
162                xml:id="DataStore_has_LogicalRecordPosition">
163      <xs:annotation>
164        <xs:documentation></xs:documentation>
165      </xs:annotation>
166      <xs:complexType>
167        <xs:complexContent>
168          <xs:restriction base="AssociationReferenceXsdType">
169            <xs:sequence>
170              <xs:element name="ddiReference"
171                          type="InternationalRegistrationDataIdentifierXsdType"
172                          minOccurs="0"
173                          maxOccurs="1"
174                          xml:id="DataStore_has_LogicalRecordPosition-ddiReference"/>
175              <xs:element name="validType"
176                          minOccurs="1"
177                          maxOccurs="1"
178                          xml:id="DataStore_has_LogicalRecordPosition-validType">
179                <xs:simpleType>
180                  <xs:restriction base="xs:NMTOKEN">
181                    <xs:enumeration value="LogicalRecordPosition"/>
182                  </xs:restriction>
183                </xs:simpleType>
184              </xs:element>
185            </xs:sequence>
186          </xs:restriction>
187        </xs:complexContent>
188      </xs:complexType>
189    </xs:element>
190    <xs:element name="DataStore_has_LogicalRecord"
191                minOccurs="0"
192                maxOccurs="unbounded"
193                xml:id="DataStore_has_LogicalRecord">
194      <xs:annotation>
195        <xs:documentation></xs:documentation>
196      </xs:annotation>
197      <xs:complexType>
198        <xs:complexContent>
199          <xs:restriction base="AssociationReferenceXsdType">
200            <xs:sequence>
201              <xs:element name="ddiReference"
202                          type="InternationalRegistrationDataIdentifierXsdType"
203                          minOccurs="0"
204                          maxOccurs="1"
205                          xml:id="DataStore_has_LogicalRecord-ddiReference"/>
206              <xs:element name="validType"
207                          minOccurs="0"
208                          maxOccurs="unbounded"
209                          xml:id="DataStore_has_LogicalRecord-validType">
210                <xs:simpleType>
211                  <xs:restriction base="xs:NMTOKEN">
212                    <xs:enumeration value="LogicalRecord"/>
213                  </xs:restriction>
214                </xs:simpleType>
215              </xs:element>
216            </xs:sequence>
217          </xs:restriction>
218        </xs:complexContent>
219      </xs:complexType>
220    </xs:element>
221    <xs:element name="DataStore_has_RecordRelation"
222                minOccurs="0"
223                maxOccurs="1"
224                xml:id="DataStore_has_RecordRelation">
225      <xs:annotation>
226        <xs:documentation>The record relation that defines the relationship and linking requirements between logical records in the data store.</xs:documentation>
227      </xs:annotation>
228      <xs:complexType>
229        <xs:complexContent>
230          <xs:restriction base="AssociationReferenceXsdType">
231            <xs:sequence>
232              <xs:element name="ddiReference"
233                          type="InternationalRegistrationDataIdentifierXsdType"
234                          minOccurs="0"
235                          maxOccurs="1"
236                          xml:id="DataStore_has_RecordRelation-ddiReference"/>
237              <xs:element name="validType"
238                          minOccurs="0"
239                          maxOccurs="unbounded"
240                          xml:id="DataStore_has_RecordRelation-validType">
241                <xs:simpleType>
242                  <xs:restriction base="xs:NMTOKEN">
243                    <xs:enumeration value="RecordRelation"/>
244                  </xs:restriction>
245                </xs:simpleType>
246              </xs:element>
247            </xs:sequence>
248          </xs:restriction>
249        </xs:complexContent>
250      </xs:complexType>
251    </xs:element>
252  </xs:sequence>
253</xs:complexType>

Fragment for the class DataStore (entire JSON Schema)

  1"cls-DataStore": {
  2  "description": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DataStore",
  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": "DataStore"
 14    },
 15    "aboutMissing": {
 16      "$comment": "cardinality 0..1 – from cdi:DataStore",
 17      "$ref": "#/defs/dt-InternationalString"
 18    },
 19    "allowsDuplicates": {
 20      "$comment": "cardinality 1..1 – from cdi:DataStore",
 21      "$ref": "#/defs/xsd:boolean"
 22    },
 23    "catalogDetails": {
 24      "$comment": "cardinality 0..1 – from cdi:DataStore",
 25      "$ref": "#/defs/dt-CatalogDetails"
 26    },
 27    "characterSet": {
 28      "$comment": "cardinality 0..1 – from cdi:DataStore",
 29      "$ref": "#/defs/xsd:string"
 30    },
 31    "dataStoreType": {
 32      "$comment": "cardinality 0..1 – from cdi:DataStore",
 33      "$ref": "#/defs/dt-ControlledVocabularyEntry"
 34    },
 35    "identifier": {
 36      "$comment": "cardinality 0..1 – from cdi:DataStore",
 37      "$ref": "#/defs/dt-Identifier"
 38    },
 39    "name": {
 40      "$comment": "cardinality 0..-1 – from cdi:DataStore",
 41      "if": { "type": "array" },
 42      "then": { "items": { "$ref": "#/defs/dt-ObjectName" } },
 43      "else": { "$ref": "#/defs/dt-ObjectName" }
 44    },
 45    "purpose": {
 46      "$comment": "cardinality 0..1 – from cdi:DataStore",
 47      "$ref": "#/defs/dt-InternationalString"
 48    },
 49    "recordCount": {
 50      "$comment": "cardinality 0..1 – from cdi:DataStore",
 51      "$ref": "#/defs/xsd:integer"
 52    },
 53    "isDefinedBy_Concept": {
 54      "description": "DataStore_isDefinedBy_Concept",
 55      "$comment": "cardinality 0..-1",
 56      "anyOf": [
 57        {
 58          "$ref": "#/defs/target-Concept"
 59        },
 60        {
 61          "type": "array",
 62          "items": {
 63            "$ref": "#/defs/target-Concept"
 64          }
 65        }
 66      ]
 67    },
 68    "has_LogicalRecord": {
 69      "description": "DataStore_has_LogicalRecord",
 70      "$comment": "cardinality 0..-1",
 71      "anyOf": [
 72        {
 73          "$ref": "#/defs/target-LogicalRecord"
 74        },
 75        {
 76          "type": "array",
 77          "items": {
 78            "$ref": "#/defs/target-LogicalRecord"
 79          }
 80        }
 81      ]
 82    },
 83    "has_LogicalRecordPosition": {
 84      "description": "DataStore_has_LogicalRecordPosition",
 85      "$comment": "cardinality 0..-1",
 86      "anyOf": [
 87        {
 88          "$ref": "#/defs/target-LogicalRecordPosition"
 89        },
 90        {
 91          "type": "array",
 92          "items": {
 93            "$ref": "#/defs/target-LogicalRecordPosition"
 94          }
 95        }
 96      ]
 97    },
 98    "has_RecordRelation": {
 99      "description": "DataStore_has_RecordRelation",
100      "$comment": "cardinality 0..1",
101       "$ref": "#/defs/target-RecordRelation"
102    },
103    "structures_OF_LogicalRecordRelationStructure": {
104      "description": "LogicalRecordRelationStructure_structures_DataStore",
105      "$comment": "cardinality 0..-1",
106      "anyOf": [
107        {
108          "$ref": "#/defs/target-LogicalRecordRelationStructure"
109        },
110        {
111          "type": "array",
112          "items": {
113            "$ref": "#/defs/target-LogicalRecordRelationStructure"
114          }
115        }
116      ]
117    },
118    "formats_OF_PhysicalDataSet": {
119      "description": "PhysicalDataSet_formats_DataStore",
120      "$comment": "cardinality 0..-1",
121      "anyOf": [
122        {
123          "$ref": "#/defs/target-PhysicalDataSet"
124        },
125        {
126          "type": "array",
127          "items": {
128            "$ref": "#/defs/target-PhysicalDataSet"
129          }
130        }
131      ]
132    },
133    "sameAs": {
134      "$ref": "#/defs/owl:sameAs"
135    }
136  },
137  "required": ["allowsDuplicates","@type"],
138  "additionalProperties": false
139},
140"target-DataStore": {
141  "description": "all subclasses of http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DataStore",
142  "anyOf": [
143    { "$ref": "#/defs/cls-DataStore" },
144    { "type": "string", "format": "iri-reference" }
145  ]
146},

Fragment for the class DataStore (main ontology)

  1# class DataStore
  2# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::DataStore
  3cdi:DataStore
  4  a rdfs:Class, owl:Class, ucmis:Class;
  5  rdfs:label "DataStore";
  6  rdfs:comment "Definition \n============ \nCollection of logical records.  \n\nExamples \n========== \nThe data lineage of an individual business process or an entire data pipeline are both examples of a logical record relation structures. In a data lineage we can observe how logical records are connected within a business process or across business processes.  \n\nExplanatory notes \n=================== \nKeep in mind that a logical records are definitions, not a \"datasets\". Logical records organized in a structured collection is called a logical record relation structure. Instances of logical records instantiated as organizations of data points hosting data are described in format description. A data store is reusable across studies. Each study has at most one data store."@en;
  7  
  8.
  9
 10cdi:DataStore-aboutMissing
 11  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
 12  rdfs:label "aboutMissing";
 13  rdfs:comment "General information about missing data, e.g., that missing data have been standardized across the collection, missing data are present because of merging, etc.-  corresponds to DDI2.5 dataMsng."@en;
 14  rdfs:domain cdi:DataStore;
 15  rdfs:range cdi:InternationalString;
 16.
 17
 18cdi:DataStore-allowsDuplicates
 19  a rdf:Property, owl:DatatypeProperty, ucmis:Attribute;
 20  rdfs:label "allowsDuplicates";
 21  rdfs:comment "If value is False, the members are unique within the collection - if True, there may be duplicates. (Note that a mathematical “bag” permits duplicates and is unordered - a “set” does not have duplicates and may be ordered.)"@en;
 22  rdfs:domain cdi:DataStore;
 23  rdfs:range xsd:boolean;
 24.
 25
 26cdi:DataStore-catalogDetails
 27  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
 28  rdfs:label "catalogDetails";
 29  rdfs:comment "Bundles the information useful for a data catalog entry. Examples would be creator, contributor, title, copyright, embargo, and license information. A set of information useful for attribution, data discovery, and access. This is information that is tied to the identity of the object. If this information changes the version of the associated object changes."@en;
 30  rdfs:domain cdi:DataStore;
 31  rdfs:range cdi:CatalogDetails;
 32.
 33
 34cdi:DataStore-characterSet
 35  a rdf:Property, owl:DatatypeProperty, ucmis:Attribute;
 36  rdfs:label "characterSet";
 37  rdfs:comment "Default character set used in the Data Store."@en;
 38  rdfs:domain cdi:DataStore;
 39  rdfs:range xsd:string;
 40.
 41
 42cdi:DataStore-dataStoreType
 43  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
 44  rdfs:label "dataStoreType";
 45  rdfs:comment "The type of datastore. Could be delimited file, fixed record length file, relational database, etc. Points to an external definition which can be part of a controlled vocabulary maintained by the DDI Alliance."@en;
 46  rdfs:domain cdi:DataStore;
 47  rdfs:range cdi:ControlledVocabularyEntry;
 48.
 49
 50cdi:DataStore-identifier
 51  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
 52  rdfs:label "identifier";
 53  rdfs:comment "Identifier for objects requiring short- or long-lasting referencing and management."@en;
 54  rdfs:domain cdi:DataStore;
 55  rdfs:range cdi:Identifier;
 56.
 57
 58cdi:DataStore-name
 59  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
 60  rdfs:label "name";
 61  rdfs:comment "Human understandable name (liguistic signifier, word, phrase, or mnemonic). May follow ISO/IEC 11179-5 naming principles, and have context provided to specify usage."@en;
 62  rdfs:domain cdi:DataStore;
 63  rdfs:range cdi:ObjectName;
 64.
 65
 66cdi:DataStore-purpose
 67  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
 68  rdfs:label "purpose";
 69  rdfs:comment "Intent or reason for the object/the description of the object."@en;
 70  rdfs:domain cdi:DataStore;
 71  rdfs:range cdi:InternationalString;
 72.
 73
 74cdi:DataStore-recordCount
 75  a rdf:Property, owl:DatatypeProperty, ucmis:Attribute;
 76  rdfs:label "recordCount";
 77  rdfs:comment "The number of records in the Data Store."@en;
 78  rdfs:domain cdi:DataStore;
 79  rdfs:range xsd:integer;
 80.
 81
 82
 83cdi:DataStore_isDefinedBy_Concept
 84  a rdf:Property, owl:ObjectProperty, ucmis:Association;
 85  # ASSOCIATION
 86  rdfs:label "isDefinedBy_Concept";
 87  skos:altLabel "DataStore_isDefinedBy_Concept";
 88  rdfs:comment "The conceptual basis for the collection of members."@en;
 89  rdfs:domain cdi:DataStore;
 90  rdfs:range cdi:Concept;
 91.
 92
 93cdi:DataStore_has_LogicalRecord
 94  a rdf:Property, owl:ObjectProperty, ucmis:Association;
 95  # ASSOCIATION
 96  rdfs:label "has_LogicalRecord";
 97  skos:altLabel "DataStore_has_LogicalRecord";
 98  
 99  rdfs:domain cdi:DataStore;
100  rdfs:range cdi:LogicalRecord;
101.
102
103cdi:DataStore_has_LogicalRecordPosition
104  a rdf:Property, owl:ObjectProperty, ucmis:Association;
105  # ASSOCIATION
106  rdfs:label "has_LogicalRecordPosition";
107  skos:altLabel "DataStore_has_LogicalRecordPosition";
108  
109  rdfs:domain cdi:DataStore;
110  rdfs:range cdi:LogicalRecordPosition;
111.
112
113cdi:DataStore_has_RecordRelation
114  a rdf:Property, owl:ObjectProperty, ucmis:Association;
115  # ASSOCIATION
116  rdfs:label "has_RecordRelation";
117  skos:altLabel "DataStore_has_RecordRelation";
118  rdfs:comment "The record relation that defines the relationship and linking requirements between logical records in the data store."@en;
119  rdfs:domain cdi:DataStore;
120  rdfs:range cdi:RecordRelation;
121.

Fragment for the class DataStore (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      "aboutMissing": {
 8        "@id": "cdi:DataStore-aboutMissing",
 9        "@type": "@id",
10        "@context": "InternationalString.jsonld"
11      },
12      "allowsDuplicates": {
13        "@id": "cdi:DataStore-allowsDuplicates",
14        "@type": "xsd:boolean"
15      },
16      "catalogDetails": {
17        "@id": "cdi:DataStore-catalogDetails",
18        "@type": "@id",
19        "@context": "CatalogDetails.jsonld"
20      },
21      "characterSet": {
22        "@id": "cdi:DataStore-characterSet",
23        "@type": "xsd:string"
24      },
25      "dataStoreType": {
26        "@id": "cdi:DataStore-dataStoreType",
27        "@type": "@id",
28        "@context": "ControlledVocabularyEntry.jsonld"
29      },
30      "identifier": {
31        "@id": "cdi:DataStore-identifier",
32        "@type": "@id",
33        "@context": "Identifier.jsonld"
34      },
35      "name": {
36        "@id": "cdi:DataStore-name",
37        "@type": "@id",
38        "@context": "ObjectName.jsonld"
39      },
40      "purpose": {
41        "@id": "cdi:DataStore-purpose",
42        "@type": "@id",
43        "@context": "InternationalString.jsonld"
44      },
45      "recordCount": {
46        "@id": "cdi:DataStore-recordCount",
47        "@type": "xsd:integer"
48      },
49      
50      "isDefinedBy_Concept": {
51        "@id": "cdi:DataStore_isDefinedBy_Concept",
52        "@type": "@id",
53        "@context": "Concept.jsonld"
54      },
55      "has_LogicalRecord": {
56        "@id": "cdi:DataStore_has_LogicalRecord",
57        "@type": "@id",
58        "@context": "LogicalRecord.jsonld"
59      },
60      "has_LogicalRecordPosition": {
61        "@id": "cdi:DataStore_has_LogicalRecordPosition",
62        "@type": "@id",
63        "@context": "LogicalRecordPosition.jsonld"
64      },
65      "has_RecordRelation": {
66        "@id": "cdi:DataStore_has_RecordRelation",
67        "@type": "@id",
68        "@context": "RecordRelation.jsonld"
69      },
70      "structures_OF_LogicalRecordRelationStructure": {
71        "@reverse": "cdi:LogicalRecordRelationStructure_structures_DataStore",
72        "@type": "@id",
73        "@context": "LogicalRecordRelationStructure.jsonld"
74      },
75      "formats_OF_PhysicalDataSet": {
76        "@reverse": "cdi:PhysicalDataSet_formats_DataStore",
77        "@type": "@id",
78        "@context": "PhysicalDataSet.jsonld"
79      },
80      " comment ": "tag:json-should-support-trailing-commas"
81    }
82  ],
83  "generatedBy": "This code was generated by the Eclipse Acceleo project UCMIS M2T on 2025-08-29 14:34:52.",
84  "basedOn": "based on the UML data type DDICDIModels::DDICDILibrary::Classes::FormatDescription::DataStore"
85}

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

  1# class DataStore
  2# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::DataStore
  3<#DataStore> a sh:NodeShape;
  4    sh:targetClass cdi:DataStore;
  5	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DataStore";
  6	sh:closed true;
  7	sh:ignoredProperties ( owl:sameAs );
  8    sh:property [
  9			sh:path rdf:type;
 10			sh:in (   cdi:DataStore
 11			 ) ;
 12    ];
 13    # attributes
 14    sh:property <#DataStore-aboutMissing>;
 15    sh:property <#DataStore-allowsDuplicates>;
 16    sh:property <#DataStore-catalogDetails>;
 17    sh:property <#DataStore-characterSet>;
 18    sh:property <#DataStore-dataStoreType>;
 19    sh:property <#DataStore-identifier>;
 20    sh:property <#DataStore-name>;
 21    sh:property <#DataStore-purpose>;
 22    sh:property <#DataStore-recordCount>;
 23    # associations from DataStore
 24    sh:property <#DataStore_isDefinedBy_Concept>;
 25    sh:property <#DataStore_has_LogicalRecord>;
 26    sh:property <#DataStore_has_LogicalRecordPosition>;
 27    sh:property <#DataStore_has_RecordRelation>;
 28    # associations to DataStore
 29    sh:property <#rev_LogicalRecordRelationStructure_structures_DataStore>;
 30    sh:property <#rev_PhysicalDataSet_formats_DataStore>;
 31
 32
 33
 34.
 35
 36<#DataStore-aboutMissing> a sh:PropertyShape ;
 37    sh:path cdi:DataStore-aboutMissing;
 38    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
 39        cdi:InternationalString
 40        cdi:BibliographicName
 41        cdi:LabelForDisplay
 42      
 43    ) ]];
 44    sh:maxCount 1;
 45.
 46<#DataStore-allowsDuplicates> a sh:PropertyShape ;
 47    sh:path cdi:DataStore-allowsDuplicates;
 48    sh:datatype xsd:boolean;
 49    sh:minCount 1;
 50    sh:maxCount 1;
 51.
 52<#DataStore-catalogDetails> a sh:PropertyShape ;
 53    sh:path cdi:DataStore-catalogDetails;
 54    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
 55        cdi:CatalogDetails
 56      
 57    ) ]];
 58    sh:maxCount 1;
 59.
 60<#DataStore-characterSet> a sh:PropertyShape ;
 61    sh:path cdi:DataStore-characterSet;
 62    sh:datatype xsd:string;
 63    sh:maxCount 1;
 64.
 65<#DataStore-dataStoreType> a sh:PropertyShape ;
 66    sh:path cdi:DataStore-dataStoreType;
 67    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
 68        cdi:ControlledVocabularyEntry
 69      
 70    ) ]];
 71    sh:maxCount 1;
 72.
 73<#DataStore-identifier> a sh:PropertyShape ;
 74    sh:path cdi:DataStore-identifier;
 75    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
 76        cdi:Identifier
 77      
 78    ) ]];
 79    sh:maxCount 1;
 80.
 81<#DataStore-name> a sh:PropertyShape ;
 82    sh:path cdi:DataStore-name;
 83    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
 84        cdi:ObjectName
 85        cdi:OrganizationName
 86      
 87    ) ]];
 88.
 89<#DataStore-purpose> a sh:PropertyShape ;
 90    sh:path cdi:DataStore-purpose;
 91    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
 92        cdi:InternationalString
 93        cdi:BibliographicName
 94        cdi:LabelForDisplay
 95      
 96    ) ]];
 97    sh:maxCount 1;
 98.
 99<#DataStore-recordCount> a sh:PropertyShape ;
100    sh:path cdi:DataStore-recordCount;
101    sh:datatype xsd:integer;
102    sh:maxCount 1;
103.
104
105<#DataStore_isDefinedBy_Concept> a sh:PropertyShape ;
106    sh:path cdi:DataStore_isDefinedBy_Concept;
107	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
108        cdi:Concept
109        cdi:Category
110        cdi:ConceptualValue
111        cdi:DimensionalKeyDefinitionMember
112        cdi:KeyDefinitionMember
113        cdi:ConceptualVariable
114        cdi:RepresentedVariable
115        cdi:InstanceVariable
116        cdi:DescriptorVariable
117        cdi:ReferenceVariable
118        cdi:UnitType
119        cdi:Universe
120        cdi:Population
121      
122    ) ]];
123.
124<#rev_DataStore_isDefinedBy_Concept> a sh:PropertyShape ;
125    sh:path [ sh:inversePath cdi:DataStore_isDefinedBy_Concept ];
126.
127<#DataStore_has_LogicalRecord> a sh:PropertyShape ;
128    sh:path cdi:DataStore_has_LogicalRecord;
129	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
130        cdi:LogicalRecord
131      
132    ) ]];
133.
134<#rev_DataStore_has_LogicalRecord> a sh:PropertyShape ;
135    sh:path [ sh:inversePath cdi:DataStore_has_LogicalRecord ];
136.
137<#DataStore_has_LogicalRecordPosition> a sh:PropertyShape ;
138    sh:path cdi:DataStore_has_LogicalRecordPosition;
139	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
140        cdi:LogicalRecordPosition
141      
142    ) ]];
143.
144<#rev_DataStore_has_LogicalRecordPosition> a sh:PropertyShape ;
145    sh:path [ sh:inversePath cdi:DataStore_has_LogicalRecordPosition ];
146    sh:minCount 1;
147    sh:maxCount 1;
148.
149<#DataStore_has_RecordRelation> a sh:PropertyShape ;
150    sh:path cdi:DataStore_has_RecordRelation;
151	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
152        cdi:RecordRelation
153      
154    ) ]];
155    sh:maxCount 1;
156.
157<#rev_DataStore_has_RecordRelation> a sh:PropertyShape ;
158    sh:path [ sh:inversePath cdi:DataStore_has_RecordRelation ];
159.

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

 1# class DataStore
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::DataStore
 3cdi:DataStoreShape CLOSED {
 4	a [cdi:DataStore];
 5	cdi:DataStore-aboutMissing	@cdi:InternationalStringShape?;
 6	cdi:DataStore-allowsDuplicates	xsd:boolean;
 7	cdi:DataStore-catalogDetails	@cdi:CatalogDetailsShape?;
 8	cdi:DataStore-characterSet	xsd:string?;
 9	cdi:DataStore-dataStoreType	@cdi:ControlledVocabularyEntryShape?;
10	cdi:DataStore-identifier	@cdi:IdentifierShape?;
11	cdi:DataStore-name	@cdi:ObjectNameShape*;
12	cdi:DataStore-purpose	@cdi:InternationalStringShape?;
13	cdi:DataStore-recordCount	xsd:integer?;
14	cdi:DataStore_isDefinedBy_Concept	@cdi:ConceptShape OR @cdi:CategoryShape OR @cdi:ConceptualValueShape OR @cdi:ConceptualVariableShape OR @cdi:UnitTypeShape*;
15	
16	cdi:DataStore_has_LogicalRecord	@cdi:LogicalRecordShape *;
17	
18	cdi:DataStore_has_LogicalRecordPosition	@cdi:LogicalRecordPositionShape *;
19	
20	cdi:DataStore_has_RecordRelation	@cdi:RecordRelationShape ?;
21	
22	^cdi:LogicalRecordRelationStructure_structures_DataStore @cdi:LogicalRecordRelationStructureShape *;
23	^cdi:PhysicalDataSet_formats_DataStore @cdi:PhysicalDataSetShape *;
24	}