Segment#

Fully qualified class name of the UML model DDI-CDI 1.1beta: DDICDIModels::DDICDILibrary::Classes::FormatDescription::Segment

Definition#

Description of each storage segment required to completely cover a physical data set.

Examples#

The file below has four instance variables: PersonId, SegmentId, AgeYr, and HeightCm. The data for each person (identified by PersonId) is recorded in two segments (identified by SegmentId), “a” and “b”. AgeYr is on physical segment a, and HeightCm is on segment b. These are the same data as described in the unit segment layout documentation.

1 a  22
1 b 183
2 a  45
2 b 175

Explanatory notes#

A logical record may be stored in one or more segments housed hierarchically in a single file or in separate data files. All logical records have at least one segment.

Diagram#

Diagram

Attributes#

Attributes
Attributes#

Name

Inherited from

Description

Data Type

Multiplicity

Default value

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

identifier

- own class -

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

Identifier

0..1

name

- own class -

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

ObjectName

0..*

physicalFileName

- own class -

Use when each physical segment is stored in its own file.

String

0..1

purpose

- own class -

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

InternationalString

0..1

Associations#

Associations
Associations#

Direction

Association

Description

Multiplicity of Segment

Package of Other Class

Other Class

Multiplicity of other class

Aggregation Kind

Inherited from

from

Segment isDefinedBy Concept

The conceptual basis for the collection of members.

0..*

Conceptual

Concept

0..*

none

own class

from

Segment represents Population

A record segment may represent a specific population or sub-population within a larger set of segments. Allows for the identification of this filter for membership in the segment.

0..*

Conceptual

Population

0..1

none

own class

from

Segment has DataPoint

0..*

DataDescription

DataPoint

0..*

shared

own class

to

PhysicalDataSet has Segment

0..*

- own package -

PhysicalDataSet

0..*

none

own class

to

SegmentPosition indexes Segment

Assigns a position to a physical record segment within a physical record.

1..1

- own package -

SegmentPosition

0..*

none

own class

to

SegmentStructure structures Segment

There may be cases where there is a more complex structure to a sequence of data points. A cell containing a list, for example, might be considered to have nested data points that are the elements of the list. (For simplicity’s sake, each element of the list should be modeled as a data point if this is possible.)

0..1

- own package -

SegmentStructure

0..*

none

own class

from

Segment has DataPointPosition

1..1

- own package -

DataPointPosition

0..*

composite

own class

from

Segment mapsTo LogicalRecord

0..*

- own package -

LogicalRecord

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 Segment (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-Segment"
  5                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment"
  6                  xmi:type="uml:Class">
  7   <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-ownedComment"
  8                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-ownedComment"
  9                  xmi:type="uml:Comment">
 10      <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment"/>
 11      <body>Definition
 12==========
 13Description of each storage segment required to completely cover a physical data set.
 14
 15Examples
 16========
 17The file below has four instance variables: PersonId, SegmentId, AgeYr, and HeightCm. The data for each person (identified by PersonId) is recorded in two segments (identified by SegmentId), "a" and "b". AgeYr is on physical segment a, and HeightCm is on segment b. These are the same data as described in the unit segment layout documentation. ::
 18
 19   1 a  22  
 20   1 b 183  
 21   2 a  45
 22   2 b 175  
 23
 24Explanatory notes
 25=================
 26A logical record may be stored in one or more segments housed hierarchically in a single file or in separate data files. All logical records have at least one segment.</body>
 27   </ownedComment>
 28   <name>Segment</name>
 29   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-catalogDetails"
 30                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-catalogDetails"
 31                    xmi:type="uml:Property">
 32      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-catalogDetails-ownedComment"
 33                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-catalogDetails-ownedComment"
 34                     xmi:type="uml:Comment">
 35         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-catalogDetails"/>
 36         <body>Bundles the information useful for a data catalog entry. 
 37
 38Examples would be creator, contributor, title, copyright, embargo, and license information
 39
 40A set of information useful for attribution, data discovery, and access.
 41This is information that is tied to the identity of the object. If this information changes the version of the associated object changes.</body>
 42      </ownedComment>
 43      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-catalogDetails-lowerValue"
 44                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-catalogDetails-lowerValue"
 45                   xmi:type="uml:LiteralInteger"/>
 46      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-catalogDetails-upperValue"
 47                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-catalogDetails-upperValue"
 48                   xmi:type="uml:LiteralUnlimitedNatural">
 49         <value>1</value>
 50      </upperValue>
 51      <name>catalogDetails</name>
 52      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-CatalogDetails"/>
 53   </ownedAttribute>
 54   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-identifier"
 55                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-identifier"
 56                    xmi:type="uml:Property">
 57      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-identifier-ownedComment"
 58                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-identifier-ownedComment"
 59                     xmi:type="uml:Comment">
 60         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-identifier"/>
 61         <body>Identifier for objects requiring short- or long-lasting referencing and management.</body>
 62      </ownedComment>
 63      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-identifier-lowerValue"
 64                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-identifier-lowerValue"
 65                   xmi:type="uml:LiteralInteger"/>
 66      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-identifier-upperValue"
 67                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-identifier-upperValue"
 68                   xmi:type="uml:LiteralUnlimitedNatural">
 69         <value>1</value>
 70      </upperValue>
 71      <name>identifier</name>
 72      <isID>true</isID>
 73      <isID>true</isID>
 74      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-Identifier"/>
 75   </ownedAttribute>
 76   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-name"
 77                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-name"
 78                    xmi:type="uml:Property">
 79      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-name-ownedComment"
 80                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-name-ownedComment"
 81                     xmi:type="uml:Comment">
 82         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-name"/>
 83         <body>Human understandable name (linguistic signifier, word, phrase, or mnemonic). May follow ISO/IEC 11179-5 naming principles, and have context provided to specify usage.</body>
 84      </ownedComment>
 85      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-name-lowerValue"
 86                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-name-lowerValue"
 87                   xmi:type="uml:LiteralInteger"/>
 88      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-name-upperValue"
 89                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-name-upperValue"
 90                   xmi:type="uml:LiteralUnlimitedNatural">
 91         <value>*</value>
 92      </upperValue>
 93      <name>name</name>
 94      <isOrdered>true</isOrdered>
 95      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-ObjectName"/>
 96   </ownedAttribute>
 97   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-ownedAttribute_1"
 98                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-ownedAttribute_1"
 99                    xmi:type="uml:Property">
100      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-ownedAttribute_1-lowerValue"
101                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-ownedAttribute_1-lowerValue"
102                   xmi:type="uml:LiteralInteger"/>
103      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-ownedAttribute_1-upperValue"
104                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-ownedAttribute_1-upperValue"
105                   xmi:type="uml:LiteralUnlimitedNatural">
106         <value>1</value>
107      </upperValue>
108      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Conceptual-Segment_represents_Population"/>
109      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Conceptual-Population"/>
110   </ownedAttribute>
111   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-ownedAttribute_2"
112                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-ownedAttribute_2"
113                    xmi:type="uml:Property">
114      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-ownedAttribute_2-lowerValue"
115                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-ownedAttribute_2-lowerValue"
116                   xmi:type="uml:LiteralInteger"/>
117      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-ownedAttribute_2-upperValue"
118                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-ownedAttribute_2-upperValue"
119                   xmi:type="uml:LiteralUnlimitedNatural">
120         <value>*</value>
121      </upperValue>
122      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Conceptual-Segment_isDefinedBy_Concept"/>
123      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Conceptual-Concept"/>
124   </ownedAttribute>
125   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-ownedAttribute_3"
126                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-ownedAttribute_3"
127                    xmi:type="uml:Property">
128      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-ownedAttribute_3-lowerValue"
129                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-ownedAttribute_3-lowerValue"
130                   xmi:type="uml:LiteralInteger"/>
131      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-ownedAttribute_3-upperValue"
132                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-ownedAttribute_3-upperValue"
133                   xmi:type="uml:LiteralUnlimitedNatural">
134         <value>1</value>
135      </upperValue>
136      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment_mapsTo_LogicalRecord"/>
137      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-LogicalRecord"/>
138   </ownedAttribute>
139   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-ownedAttribute_4"
140                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-ownedAttribute_4"
141                    xmi:type="uml:Property">
142      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-ownedAttribute_4-lowerValue"
143                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-ownedAttribute_4-lowerValue"
144                   xmi:type="uml:LiteralInteger"/>
145      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-ownedAttribute_4-upperValue"
146                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-ownedAttribute_4-upperValue"
147                   xmi:type="uml:LiteralUnlimitedNatural">
148         <value>*</value>
149      </upperValue>
150      <aggregation>composite</aggregation>
151      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment_has_DataPointPosition"/>
152      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-DataPointPosition"/>
153   </ownedAttribute>
154   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-ownedAttribute_5"
155                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-ownedAttribute_5"
156                    xmi:type="uml:Property">
157      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-ownedAttribute_5-lowerValue"
158                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-ownedAttribute_5-lowerValue"
159                   xmi:type="uml:LiteralInteger"/>
160      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-ownedAttribute_5-upperValue"
161                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-ownedAttribute_5-upperValue"
162                   xmi:type="uml:LiteralUnlimitedNatural">
163         <value>*</value>
164      </upperValue>
165      <aggregation>shared</aggregation>
166      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-Segment_has_DataPoint"/>
167      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-DataPoint"/>
168   </ownedAttribute>
169   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-physicalFileName"
170                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-physicalFileName"
171                    xmi:type="uml:Property">
172      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-physicalFileName-ownedComment"
173                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-physicalFileName-ownedComment"
174                     xmi:type="uml:Comment">
175         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-physicalFileName"/>
176         <body>Use when each physical segment is stored in its own file.</body>
177      </ownedComment>
178      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-physicalFileName-lowerValue"
179                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-physicalFileName-lowerValue"
180                   xmi:type="uml:LiteralInteger"/>
181      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-physicalFileName-upperValue"
182                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-physicalFileName-upperValue"
183                   xmi:type="uml:LiteralUnlimitedNatural">
184         <value>1</value>
185      </upperValue>
186      <name>physicalFileName</name>
187      <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"
188             xmi:type="uml:PrimitiveType"/>
189   </ownedAttribute>
190   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-purpose"
191                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-purpose"
192                    xmi:type="uml:Property">
193      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-purpose-ownedComment"
194                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-purpose-ownedComment"
195                     xmi:type="uml:Comment">
196         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-purpose"/>
197         <body>Intent or reason for the object/the description of the object.</body>
198      </ownedComment>
199      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-purpose-lowerValue"
200                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-purpose-lowerValue"
201                   xmi:type="uml:LiteralInteger"/>
202      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-Segment-purpose-upperValue"
203                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Segment-purpose-upperValue"
204                   xmi:type="uml:LiteralUnlimitedNatural">
205         <value>1</value>
206      </upperValue>
207      <name>purpose</name>
208      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-InternationalString"/>
209   </ownedAttribute>
210</packagedElement>

Fragment for the class Segment (entire XML Schema)

  1<xs:element name="Segment"
  2            type="SegmentXsdType"
  3            xml:id="Segment">
  4  <!-- based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::Segment -->
  5  <xs:annotation>
  6    <xs:documentation>Definition
  7          ==========
  8          Description of each storage segment required to completely cover a physical data set.
  9          
 10          Examples
 11          ========
 12          The file below has four instance variables: PersonId, SegmentId, AgeYr, and HeightCm. The data for each person (identified by PersonId) is recorded in two segments (identified by SegmentId), "a" and "b". AgeYr is on physical segment a, and HeightCm is on segment b. These are the same data as described in the unit segment layout documentation. ::
 13          
 14             1 a  22  
 15             1 b 183  
 16             2 a  45
 17             2 b 175  
 18          
 19          Explanatory notes
 20          =================
 21          A logical record may be stored in one or more segments housed hierarchically in a single file or in separate data files. All logical records have at least one segment.</xs:documentation>
 22  </xs:annotation>
 23</xs:element>
 24<xs:complexType name="SegmentXsdType"
 25                xml:id="SegmentXsdType">
 26  <xs:annotation>
 27    <xs:documentation>Definition
 28          ==========
 29          Description of each storage segment required to completely cover a physical data set.
 30          
 31          Examples
 32          ========
 33          The file below has four instance variables: PersonId, SegmentId, AgeYr, and HeightCm. The data for each person (identified by PersonId) is recorded in two segments (identified by SegmentId), "a" and "b". AgeYr is on physical segment a, and HeightCm is on segment b. These are the same data as described in the unit segment layout documentation. ::
 34          
 35             1 a  22  
 36             1 b 183  
 37             2 a  45
 38             2 b 175  
 39          
 40          Explanatory notes
 41          =================
 42          A logical record may be stored in one or more segments housed hierarchically in a single file or in separate data files. All logical records have at least one segment.</xs:documentation>
 43  </xs:annotation>
 44  <xs:sequence>
 45    <xs:element name="catalogDetails"
 46                type="CatalogDetailsXsdType"
 47                minOccurs="0"
 48                maxOccurs="1"
 49                xml:id="Segment-catalogDetails">
 50      <xs:annotation>
 51        <xs:documentation>Bundles the information useful for a data catalog entry. 
 52        
 53        Examples would be creator, contributor, title, copyright, embargo, and license information
 54        
 55        A set of information useful for attribution, data discovery, and access.
 56        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>
 57      </xs:annotation>
 58    </xs:element>
 59    <xs:element name="identifier"
 60                type="IdentifierXsdType"
 61                minOccurs="0"
 62                maxOccurs="1"
 63                xml:id="Segment-identifier">
 64      <xs:annotation>
 65        <xs:documentation>Identifier for objects requiring short- or long-lasting referencing and management.</xs:documentation>
 66      </xs:annotation>
 67    </xs:element>
 68    <xs:element name="name"
 69                type="ObjectNameXsdType"
 70                minOccurs="0"
 71                maxOccurs="unbounded"
 72                xml:id="Segment-name">
 73      <xs:annotation>
 74        <xs:documentation>Human understandable name (linguistic signifier, word, phrase, or mnemonic). May follow ISO/IEC 11179-5 naming principles, and have context provided to specify usage.</xs:documentation>
 75      </xs:annotation>
 76    </xs:element>
 77    <xs:element name="physicalFileName"
 78                type="xs:string"
 79                minOccurs="0"
 80                maxOccurs="1"
 81                xml:id="Segment-physicalFileName">
 82      <xs:annotation>
 83        <xs:documentation>Use when each physical segment is stored in its own file.</xs:documentation>
 84      </xs:annotation>
 85    </xs:element>
 86    <xs:element name="purpose"
 87                type="InternationalStringXsdType"
 88                minOccurs="0"
 89                maxOccurs="1"
 90                xml:id="Segment-purpose">
 91      <xs:annotation>
 92        <xs:documentation>Intent or reason for the object/the description of the object.</xs:documentation>
 93      </xs:annotation>
 94    </xs:element>
 95    <xs:element name="Segment_represents_Population"
 96                minOccurs="0"
 97                maxOccurs="1"
 98                xml:id="Segment_represents_Population">
 99      <xs:annotation>
100        <xs:documentation>A record segment may represent a specific population or sub-population within a larger set of segments. Allows for the identification of this filter for membership in the segment.</xs:documentation>
101      </xs:annotation>
102      <xs:complexType>
103        <xs:complexContent>
104          <xs:restriction base="AssociationReferenceXsdType">
105            <xs:sequence>
106              <xs:element name="ddiReference"
107                          type="InternationalRegistrationDataIdentifierXsdType"
108                          minOccurs="0"
109                          maxOccurs="1"
110                          xml:id="Segment_represents_Population-ddiReference"/>
111              <xs:element name="validType"
112                          minOccurs="0"
113                          maxOccurs="unbounded"
114                          xml:id="Segment_represents_Population-validType">
115                <xs:simpleType>
116                  <xs:restriction base="xs:NMTOKEN">
117                    <xs:enumeration value="Population"/>
118                  </xs:restriction>
119                </xs:simpleType>
120              </xs:element>
121            </xs:sequence>
122          </xs:restriction>
123        </xs:complexContent>
124      </xs:complexType>
125    </xs:element>
126    <xs:element name="Segment_isDefinedBy_Concept"
127                minOccurs="0"
128                maxOccurs="unbounded"
129                xml:id="Segment_isDefinedBy_Concept">
130      <xs:annotation>
131        <xs:documentation>The conceptual basis for the collection of members.</xs:documentation>
132      </xs:annotation>
133      <xs:complexType>
134        <xs:complexContent>
135          <xs:restriction base="AssociationReferenceXsdType">
136            <xs:sequence>
137              <xs:element name="ddiReference"
138                          type="InternationalRegistrationDataIdentifierXsdType"
139                          minOccurs="0"
140                          maxOccurs="1"
141                          xml:id="Segment_isDefinedBy_Concept-ddiReference"/>
142              <xs:element name="validType"
143                          minOccurs="0"
144                          maxOccurs="unbounded"
145                          xml:id="Segment_isDefinedBy_Concept-validType">
146                <xs:simpleType>
147                  <xs:restriction base="xs:NMTOKEN">
148                    <xs:enumeration value="Category"/>
149                    <xs:enumeration value="Concept"/>
150                    <xs:enumeration value="ConceptualValue"/>
151                    <xs:enumeration value="ConceptualVariable"/>
152                    <xs:enumeration value="DescriptorVariable"/>
153                    <xs:enumeration value="DimensionalKeyDefinitionMember"/>
154                    <xs:enumeration value="InstanceVariable"/>
155                    <xs:enumeration value="KeyDefinitionMember"/>
156                    <xs:enumeration value="Population"/>
157                    <xs:enumeration value="ReferenceVariable"/>
158                    <xs:enumeration value="RepresentedVariable"/>
159                    <xs:enumeration value="UnitType"/>
160                    <xs:enumeration value="Universe"/>
161                  </xs:restriction>
162                </xs:simpleType>
163              </xs:element>
164            </xs:sequence>
165          </xs:restriction>
166        </xs:complexContent>
167      </xs:complexType>
168    </xs:element>
169    <xs:element name="Segment_mapsTo_LogicalRecord"
170                minOccurs="0"
171                maxOccurs="1"
172                xml:id="Segment_mapsTo_LogicalRecord">
173      <xs:annotation>
174        <xs:documentation></xs:documentation>
175      </xs:annotation>
176      <xs:complexType>
177        <xs:complexContent>
178          <xs:restriction base="AssociationReferenceXsdType">
179            <xs:sequence>
180              <xs:element name="ddiReference"
181                          type="InternationalRegistrationDataIdentifierXsdType"
182                          minOccurs="0"
183                          maxOccurs="1"
184                          xml:id="Segment_mapsTo_LogicalRecord-ddiReference"/>
185              <xs:element name="validType"
186                          minOccurs="0"
187                          maxOccurs="unbounded"
188                          xml:id="Segment_mapsTo_LogicalRecord-validType">
189                <xs:simpleType>
190                  <xs:restriction base="xs:NMTOKEN">
191                    <xs:enumeration value="LogicalRecord"/>
192                  </xs:restriction>
193                </xs:simpleType>
194              </xs:element>
195            </xs:sequence>
196          </xs:restriction>
197        </xs:complexContent>
198      </xs:complexType>
199    </xs:element>
200    <xs:element name="Segment_has_DataPointPosition"
201                minOccurs="0"
202                maxOccurs="unbounded"
203                xml:id="Segment_has_DataPointPosition">
204      <xs:annotation>
205        <xs:documentation></xs:documentation>
206      </xs:annotation>
207      <xs:complexType>
208        <xs:complexContent>
209          <xs:restriction base="AssociationReferenceXsdType">
210            <xs:sequence>
211              <xs:element name="ddiReference"
212                          type="InternationalRegistrationDataIdentifierXsdType"
213                          minOccurs="0"
214                          maxOccurs="1"
215                          xml:id="Segment_has_DataPointPosition-ddiReference"/>
216              <xs:element name="validType"
217                          minOccurs="1"
218                          maxOccurs="1"
219                          xml:id="Segment_has_DataPointPosition-validType">
220                <xs:simpleType>
221                  <xs:restriction base="xs:NMTOKEN">
222                    <xs:enumeration value="DataPointPosition"/>
223                  </xs:restriction>
224                </xs:simpleType>
225              </xs:element>
226            </xs:sequence>
227          </xs:restriction>
228        </xs:complexContent>
229      </xs:complexType>
230    </xs:element>
231    <xs:element name="Segment_has_DataPoint"
232                minOccurs="0"
233                maxOccurs="unbounded"
234                xml:id="Segment_has_DataPoint">
235      <xs:annotation>
236        <xs:documentation></xs:documentation>
237      </xs:annotation>
238      <xs:complexType>
239        <xs:complexContent>
240          <xs:restriction base="AssociationReferenceXsdType">
241            <xs:sequence>
242              <xs:element name="ddiReference"
243                          type="InternationalRegistrationDataIdentifierXsdType"
244                          minOccurs="0"
245                          maxOccurs="1"
246                          xml:id="Segment_has_DataPoint-ddiReference"/>
247              <xs:element name="validType"
248                          minOccurs="0"
249                          maxOccurs="unbounded"
250                          xml:id="Segment_has_DataPoint-validType">
251                <xs:simpleType>
252                  <xs:restriction base="xs:NMTOKEN">
253                    <xs:enumeration value="DataPoint"/>
254                  </xs:restriction>
255                </xs:simpleType>
256              </xs:element>
257            </xs:sequence>
258          </xs:restriction>
259        </xs:complexContent>
260      </xs:complexType>
261    </xs:element>
262  </xs:sequence>
263</xs:complexType>

Fragment for the class Segment (entire JSON Schema)

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

Fragment for the class Segment (main ontology)

 1# class Segment
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::Segment
 3cdi:Segment
 4  a rdfs:Class, owl:Class, ucmis:Class;
 5  rdfs:label "Segment";
 6  rdfs:comment "Definition\n==========\nDescription of each storage segment required to completely cover a physical data set.\n\nExamples\n========\nThe file below has four instance variables: PersonId, SegmentId, AgeYr, and HeightCm. The data for each person (identified by PersonId) is recorded in two segments (identified by SegmentId), \"a\" and \"b\". AgeYr is on physical segment a, and HeightCm is on segment b. These are the same data as described in the unit segment layout documentation. ::\n\n   1 a  22  \n   1 b 183  \n   2 a  45\n   2 b 175  \n\nExplanatory notes\n=================\nA logical record may be stored in one or more segments housed hierarchically in a single file or in separate data files. All logical records have at least one segment."@en;
 7  
 8.
 9
10cdi:Segment-catalogDetails
11  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
12  rdfs:label "catalogDetails";
13  rdfs:comment "Bundles the information useful for a data catalog entry. \n\nExamples would be creator, contributor, title, copyright, embargo, and license information\n\nA set of information useful for attribution, data discovery, and access.\nThis is information that is tied to the identity of the object. If this information changes the version of the associated object changes."@en;
14  rdfs:domain cdi:Segment;
15  rdfs:range cdi:CatalogDetails;
16.
17
18cdi:Segment-identifier
19  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
20  rdfs:label "identifier";
21  rdfs:comment "Identifier for objects requiring short- or long-lasting referencing and management."@en;
22  rdfs:domain cdi:Segment;
23  rdfs:range cdi:Identifier;
24.
25
26cdi:Segment-name
27  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
28  rdfs:label "name";
29  rdfs:comment "Human understandable name (linguistic signifier, word, phrase, or mnemonic). May follow ISO/IEC 11179-5 naming principles, and have context provided to specify usage."@en;
30  rdfs:domain cdi:Segment;
31  rdfs:range cdi:ObjectName;
32.
33
34cdi:Segment-physicalFileName
35  a rdf:Property, owl:DatatypeProperty, ucmis:Attribute;
36  rdfs:label "physicalFileName";
37  rdfs:comment "Use when each physical segment is stored in its own file."@en;
38  rdfs:domain cdi:Segment;
39  rdfs:range xsd:string;
40.
41
42cdi:Segment-purpose
43  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
44  rdfs:label "purpose";
45  rdfs:comment "Intent or reason for the object/the description of the object."@en;
46  rdfs:domain cdi:Segment;
47  rdfs:range cdi:InternationalString;
48.
49
50
51cdi:Segment_isDefinedBy_Concept
52  a rdf:Property, owl:ObjectProperty, ucmis:Association;
53  # ASSOCIATION
54  rdfs:label "isDefinedBy_Concept";
55  skos:altLabel "Segment_isDefinedBy_Concept";
56  rdfs:comment "The conceptual basis for the collection of members."@en;
57  rdfs:domain cdi:Segment;
58  rdfs:range cdi:Concept;
59.
60
61cdi:Segment_represents_Population
62  a rdf:Property, owl:ObjectProperty, ucmis:Association;
63  # ASSOCIATION
64  rdfs:label "represents";
65  skos:altLabel "Segment_represents_Population";
66  rdfs:comment "A record segment may represent a specific population or sub-population within a larger set of segments. Allows for the identification of this filter for membership in the segment."@en;
67  rdfs:domain cdi:Segment;
68  rdfs:range cdi:Population;
69.
70
71cdi:Segment_has_DataPoint
72  a rdf:Property, owl:ObjectProperty, ucmis:Association;
73  # ASSOCIATION
74  rdfs:label "has_DataPoint";
75  skos:altLabel "Segment_has_DataPoint";
76  
77  rdfs:domain cdi:Segment;
78  rdfs:range cdi:DataPoint;
79.
80
81cdi:Segment_has_DataPointPosition
82  a rdf:Property, owl:ObjectProperty, ucmis:Association;
83  # ASSOCIATION
84  rdfs:label "has_DataPointPosition";
85  skos:altLabel "Segment_has_DataPointPosition";
86  
87  rdfs:domain cdi:Segment;
88  rdfs:range cdi:DataPointPosition;
89.
90
91cdi:Segment_mapsTo_LogicalRecord
92  a rdf:Property, owl:ObjectProperty, ucmis:Association;
93  # ASSOCIATION
94  rdfs:label "mapsTo";
95  skos:altLabel "Segment_mapsTo_LogicalRecord";
96  
97  rdfs:domain cdi:Segment;
98  rdfs:range cdi:LogicalRecord;
99.

Fragment for the class Segment (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      "catalogDetails": {
 8        "@id": "cdi:Segment-catalogDetails",
 9        "@type": "@id",
10        "@context": "CatalogDetails.jsonld"
11      },
12      "identifier": {
13        "@id": "cdi:Segment-identifier",
14        "@type": "@id",
15        "@context": "Identifier.jsonld"
16      },
17      "name": {
18        "@id": "cdi:Segment-name",
19        "@type": "@id",
20        "@context": "ObjectName.jsonld"
21      },
22      "physicalFileName": {
23        "@id": "cdi:Segment-physicalFileName",
24        "@type": "xsd:string"
25      },
26      "purpose": {
27        "@id": "cdi:Segment-purpose",
28        "@type": "@id",
29        "@context": "InternationalString.jsonld"
30      },
31      
32      "isDefinedBy_Concept": {
33        "@id": "cdi:Segment_isDefinedBy_Concept",
34        "@type": "@id",
35        "@context": "Concept.jsonld"
36      },
37      "represents": {
38        "@id": "cdi:Segment_represents_Population",
39        "@type": "@id",
40        "@context": "Population.jsonld"
41      },
42      "has_DataPoint": {
43        "@id": "cdi:Segment_has_DataPoint",
44        "@type": "@id",
45        "@context": "DataPoint.jsonld"
46      },
47      "has_DataPointPosition": {
48        "@id": "cdi:Segment_has_DataPointPosition",
49        "@type": "@id",
50        "@context": "DataPointPosition.jsonld"
51      },
52      "mapsTo": {
53        "@id": "cdi:Segment_mapsTo_LogicalRecord",
54        "@type": "@id",
55        "@context": "LogicalRecord.jsonld"
56      },
57      "has_Segment_OF_PhysicalDataSet": {
58        "@reverse": "cdi:PhysicalDataSet_has_Segment",
59        "@type": "@id",
60        "@context": "PhysicalDataSet.jsonld"
61      },
62      "indexes_OF_SegmentPosition": {
63        "@reverse": "cdi:SegmentPosition_indexes_Segment",
64        "@type": "@id",
65        "@context": "SegmentPosition.jsonld"
66      },
67      "structures_OF_SegmentStructure": {
68        "@reverse": "cdi:SegmentStructure_structures_Segment",
69        "@type": "@id",
70        "@context": "SegmentStructure.jsonld"
71      },
72      " comment ": "tag:json-should-support-trailing-commas"
73    }
74  ],
75  "generatedBy": "This code was generated by the Eclipse Acceleo project UCMIS M2T on 2026-04-15 14:38:41.",
76  "basedOn": "based on the UML data type DDICDIModels::DDICDILibrary::Classes::FormatDescription::Segment"
77}

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

  1# class Segment
  2# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::Segment
  3<#Segment> a sh:NodeShape;
  4    sh:targetClass cdi:Segment;
  5	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Segment";
  6	sh:closed true;
  7	sh:ignoredProperties ( owl:sameAs );
  8    sh:property [
  9			sh:path rdf:type;
 10			sh:in (   cdi:Segment
 11			 ) ;
 12    ];
 13    # attributes
 14    sh:property <#Segment-catalogDetails>;
 15    sh:property <#Segment-identifier>;
 16    sh:property <#Segment-name>;
 17    sh:property <#Segment-physicalFileName>;
 18    sh:property <#Segment-purpose>;
 19    # associations from Segment
 20    sh:property <#Segment_isDefinedBy_Concept>;
 21    sh:property <#Segment_represents_Population>;
 22    sh:property <#Segment_has_DataPoint>;
 23    sh:property <#Segment_has_DataPointPosition>;
 24    sh:property <#Segment_mapsTo_LogicalRecord>;
 25    # associations to Segment
 26    sh:property <#rev_PhysicalDataSet_has_Segment>;
 27    sh:property <#rev_SegmentPosition_indexes_Segment>;
 28    sh:property <#rev_SegmentStructure_structures_Segment>;
 29
 30
 31
 32.
 33
 34<#Segment-catalogDetails> a sh:PropertyShape ;
 35    sh:path cdi:Segment-catalogDetails;
 36    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
 37        cdi:CatalogDetails
 38      
 39    ) ]];
 40    sh:maxCount 1;
 41.
 42<#Segment-identifier> a sh:PropertyShape ;
 43    sh:path cdi:Segment-identifier;
 44    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
 45        cdi:Identifier
 46      
 47    ) ]];
 48    sh:maxCount 1;
 49.
 50<#Segment-name> a sh:PropertyShape ;
 51    sh:path cdi:Segment-name;
 52    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
 53        cdi:ObjectName
 54        cdi:OrganizationName
 55      
 56    ) ]];
 57.
 58<#Segment-physicalFileName> a sh:PropertyShape ;
 59    sh:path cdi:Segment-physicalFileName;
 60    sh:datatype xsd:string;
 61    sh:maxCount 1;
 62.
 63<#Segment-purpose> a sh:PropertyShape ;
 64    sh:path cdi:Segment-purpose;
 65    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
 66        cdi:InternationalString
 67        cdi:BibliographicName
 68        cdi:LabelForDisplay
 69      
 70    ) ]];
 71    sh:maxCount 1;
 72.
 73
 74<#Segment_isDefinedBy_Concept> a sh:PropertyShape ;
 75    sh:path cdi:Segment_isDefinedBy_Concept;
 76	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
 77        cdi:Concept
 78        cdi:Category
 79        cdi:ConceptualValue
 80        cdi:DimensionalKeyDefinitionMember
 81        cdi:KeyDefinitionMember
 82        cdi:ConceptualVariable
 83        cdi:RepresentedVariable
 84        cdi:InstanceVariable
 85        cdi:DescriptorVariable
 86        cdi:ReferenceVariable
 87        cdi:UnitType
 88        cdi:Universe
 89        cdi:Population
 90      
 91    ) ]];
 92.
 93<#rev_Segment_isDefinedBy_Concept> a sh:PropertyShape ;
 94    sh:path [ sh:inversePath cdi:Segment_isDefinedBy_Concept ];
 95.
 96<#Segment_represents_Population> a sh:PropertyShape ;
 97    sh:path cdi:Segment_represents_Population;
 98	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
 99        cdi:Population
100      
101    ) ]];
102    sh:maxCount 1;
103.
104<#rev_Segment_represents_Population> a sh:PropertyShape ;
105    sh:path [ sh:inversePath cdi:Segment_represents_Population ];
106.
107<#Segment_has_DataPoint> a sh:PropertyShape ;
108    sh:path cdi:Segment_has_DataPoint;
109	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
110        cdi:DataPoint
111      
112    ) ]];
113.
114<#rev_Segment_has_DataPoint> a sh:PropertyShape ;
115    sh:path [ sh:inversePath cdi:Segment_has_DataPoint ];
116.
117<#Segment_has_DataPointPosition> a sh:PropertyShape ;
118    sh:path cdi:Segment_has_DataPointPosition;
119	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
120        cdi:DataPointPosition
121      
122    ) ]];
123.
124<#rev_Segment_has_DataPointPosition> a sh:PropertyShape ;
125    sh:path [ sh:inversePath cdi:Segment_has_DataPointPosition ];
126    sh:minCount 1;
127    sh:maxCount 1;
128.
129<#Segment_mapsTo_LogicalRecord> a sh:PropertyShape ;
130    sh:path cdi:Segment_mapsTo_LogicalRecord;
131	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
132        cdi:LogicalRecord
133      
134    ) ]];
135    sh:maxCount 1;
136.
137<#rev_Segment_mapsTo_LogicalRecord> a sh:PropertyShape ;
138    sh:path [ sh:inversePath cdi:Segment_mapsTo_LogicalRecord ];
139.

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

 1# class Segment
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::Segment
 3cdi:SegmentShape CLOSED {
 4	a [cdi:Segment];
 5	cdi:Segment-catalogDetails	@cdi:CatalogDetailsShape?;
 6	cdi:Segment-identifier	@cdi:IdentifierShape?;
 7	cdi:Segment-name	@cdi:ObjectNameShape*;
 8	cdi:Segment-physicalFileName	xsd:string?;
 9	cdi:Segment-purpose	@cdi:InternationalStringShape?;
10	cdi:Segment_isDefinedBy_Concept	@cdi:ConceptShape OR @cdi:CategoryShape OR @cdi:ConceptualValueShape OR @cdi:ConceptualVariableShape OR @cdi:UnitTypeShape*;
11	
12	cdi:Segment_represents_Population	@cdi:PopulationShape ?;
13	
14	cdi:Segment_has_DataPoint	@cdi:DataPointShape *;
15	
16	^cdi:PhysicalDataSet_has_Segment @cdi:PhysicalDataSetShape OR @cdi:StructuredDataSetShape OR @cdi:TabularTextDataSetShape*;
17	^cdi:SegmentPosition_indexes_Segment @cdi:SegmentPositionShape *;
18	^cdi:SegmentStructure_structures_Segment @cdi:SegmentStructureShape *;
19	cdi:Segment_has_DataPointPosition	@cdi:DataPointPositionShape *;
20	
21	cdi:Segment_mapsTo_LogicalRecord	@cdi:LogicalRecordShape ?;
22	
23	}