LogicalRecord#

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

Definition#

Collection of instance variables.

Diagram#

Diagram

Attributes#

Attributes
Attributes#

Name

Inherited from

Description

Data Type

Multiplicity

Default value

identifier

- own class -

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

Identifier

0..1

Associations#

Associations
Associations#

Direction

Association

Description

Multiplicity of LogicalRecord

Package of Other Class

Other Class

Multiplicity of other class

Aggregation Kind

Inherited from

from

LogicalRecord has InstanceVariable

0..*

Conceptual

InstanceVariable

0..*

shared

own class

from

LogicalRecord isDefinedBy Concept

The conceptual basis for the collection of members.

0..*

Conceptual

Concept

0..*

none

own class

from

LogicalRecord organizes DataSet

0..*

DataDescription

DataSet

0..*

none

own class

to

DataStore has LogicalRecord

0..*

- own package -

DataStore

0..*

none

own class

to

LogicalRecordPosition indexes LogicalRecord

Logical record position indexes a logical record.

1..1

- own package -

LogicalRecordPosition

0..*

none

own class

to

LogicalRecordRelationship hasSource LogicalRecord

0..*

- own package -

LogicalRecordRelationship

0..*

none

own class

to

LogicalRecordRelationship hasTarget LogicalRecord

Note that this can be realized as a collection to support tuples.

0..*

- own package -

LogicalRecordRelationship

0..*

none

own class

to

PhysicalRecordSegment mapsTo LogicalRecord

Every data record has zero to many physical record segments. It is possible to describe a physical data product and its record segment(s) without reference to a data record.

0..1

- own package -

PhysicalRecordSegment

0..*

none

own class

to

PhysicalSegmentLayout formats LogicalRecord

Logical record physically represented by the physical layout.

0..1

- own package -

PhysicalSegmentLayout

0..*

none

own class

to

RecordRelation maps LogicalRecord

2..*

- own package -

RecordRelation

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 LogicalRecord (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-LogicalRecord"
 5                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LogicalRecord"
 6                  xmi:type="uml:Class">
 7   <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-LogicalRecord-ownedComment"
 8                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LogicalRecord-ownedComment"
 9                  xmi:type="uml:Comment">
10      <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-LogicalRecord"/>
11      <body>Definition 
12============ 
13Collection of instance variables.</body>
14   </ownedComment>
15   <name>LogicalRecord</name>
16   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-LogicalRecord-identifier"
17                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LogicalRecord-identifier"
18                    xmi:type="uml:Property">
19      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-LogicalRecord-identifier-ownedComment"
20                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LogicalRecord-identifier-ownedComment"
21                     xmi:type="uml:Comment">
22         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-LogicalRecord-identifier"/>
23         <body>Identifier for objects requiring short- or long-lasting referencing and management.</body>
24      </ownedComment>
25      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-LogicalRecord-identifier-lowerValue"
26                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LogicalRecord-identifier-lowerValue"
27                   xmi:type="uml:LiteralInteger"/>
28      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-LogicalRecord-identifier-upperValue"
29                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LogicalRecord-identifier-upperValue"
30                   xmi:type="uml:LiteralUnlimitedNatural">
31         <value>1</value>
32      </upperValue>
33      <name>identifier</name>
34      <isID>true</isID>
35      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-Identifier"/>
36   </ownedAttribute>
37   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-LogicalRecord-ownedAttribute_1"
38                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LogicalRecord-ownedAttribute_1"
39                    xmi:type="uml:Property">
40      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-LogicalRecord-ownedAttribute_1-lowerValue"
41                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LogicalRecord-ownedAttribute_1-lowerValue"
42                   xmi:type="uml:LiteralInteger"/>
43      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-LogicalRecord-ownedAttribute_1-upperValue"
44                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LogicalRecord-ownedAttribute_1-upperValue"
45                   xmi:type="uml:LiteralUnlimitedNatural">
46         <value>*</value>
47      </upperValue>
48      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-LogicalRecord_organizes_DataSet"/>
49      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-DataSet"/>
50   </ownedAttribute>
51   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-LogicalRecord-ownedAttribute_2"
52                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LogicalRecord-ownedAttribute_2"
53                    xmi:type="uml:Property">
54      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-LogicalRecord-ownedAttribute_2-lowerValue"
55                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LogicalRecord-ownedAttribute_2-lowerValue"
56                   xmi:type="uml:LiteralInteger"/>
57      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-LogicalRecord-ownedAttribute_2-upperValue"
58                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LogicalRecord-ownedAttribute_2-upperValue"
59                   xmi:type="uml:LiteralUnlimitedNatural">
60         <value>*</value>
61      </upperValue>
62      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Conceptual-LogicalRecord_isDefinedBy_Concept"/>
63      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Conceptual-Concept"/>
64   </ownedAttribute>
65   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-LogicalRecord-ownedAttribute_3"
66                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LogicalRecord-ownedAttribute_3"
67                    xmi:type="uml:Property">
68      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-LogicalRecord-ownedAttribute_3-lowerValue"
69                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LogicalRecord-ownedAttribute_3-lowerValue"
70                   xmi:type="uml:LiteralInteger"/>
71      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-LogicalRecord-ownedAttribute_3-upperValue"
72                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LogicalRecord-ownedAttribute_3-upperValue"
73                   xmi:type="uml:LiteralUnlimitedNatural">
74         <value>*</value>
75      </upperValue>
76      <aggregation>shared</aggregation>
77      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Conceptual-LogicalRecord_has_InstanceVariable"/>
78      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Conceptual-InstanceVariable"/>
79   </ownedAttribute>
80</packagedElement>

Fragment for the class LogicalRecord (entire XML Schema)

  1<xs:element name="LogicalRecord"
  2            type="LogicalRecordXsdType"
  3            xml:id="LogicalRecord">
  4  <!-- based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::LogicalRecord -->
  5  <xs:annotation>
  6    <xs:documentation>Definition 
  7          ============ 
  8          Collection of instance variables.</xs:documentation>
  9  </xs:annotation>
 10</xs:element>
 11<xs:complexType name="LogicalRecordXsdType"
 12                xml:id="LogicalRecordXsdType">
 13  <xs:annotation>
 14    <xs:documentation>Definition 
 15          ============ 
 16          Collection of instance variables.</xs:documentation>
 17  </xs:annotation>
 18  <xs:sequence>
 19    <xs:element name="identifier"
 20                type="IdentifierXsdType"
 21                minOccurs="0"
 22                maxOccurs="1"
 23                xml:id="LogicalRecord-identifier">
 24      <xs:annotation>
 25        <xs:documentation>Identifier for objects requiring short- or long-lasting referencing and management.</xs:documentation>
 26      </xs:annotation>
 27    </xs:element>
 28    <xs:element name="LogicalRecord_organizes_DataSet"
 29                minOccurs="0"
 30                maxOccurs="unbounded"
 31                xml:id="LogicalRecord_organizes_DataSet">
 32      <xs:annotation>
 33        <xs:documentation></xs:documentation>
 34      </xs:annotation>
 35      <xs:complexType>
 36        <xs:complexContent>
 37          <xs:restriction base="AssociationReferenceXsdType">
 38            <xs:sequence>
 39              <xs:element name="ddiReference"
 40                          type="InternationalRegistrationDataIdentifierXsdType"
 41                          minOccurs="0"
 42                          maxOccurs="1"
 43                          xml:id="LogicalRecord_organizes_DataSet-ddiReference"/>
 44              <xs:element name="validType"
 45                          minOccurs="0"
 46                          maxOccurs="unbounded"
 47                          xml:id="LogicalRecord_organizes_DataSet-validType">
 48                <xs:simpleType>
 49                  <xs:restriction base="xs:NMTOKEN">
 50                    <xs:enumeration value="DataSet"/>
 51                    <xs:enumeration value="DimensionalDataSet"/>
 52                    <xs:enumeration value="KeyValueDataStore"/>
 53                    <xs:enumeration value="LongDataSet"/>
 54                    <xs:enumeration value="WideDataSet"/>
 55                  </xs:restriction>
 56                </xs:simpleType>
 57              </xs:element>
 58            </xs:sequence>
 59          </xs:restriction>
 60        </xs:complexContent>
 61      </xs:complexType>
 62    </xs:element>
 63    <xs:element name="LogicalRecord_isDefinedBy_Concept"
 64                minOccurs="0"
 65                maxOccurs="unbounded"
 66                xml:id="LogicalRecord_isDefinedBy_Concept">
 67      <xs:annotation>
 68        <xs:documentation>The conceptual basis for the collection of members.</xs:documentation>
 69      </xs:annotation>
 70      <xs:complexType>
 71        <xs:complexContent>
 72          <xs:restriction base="AssociationReferenceXsdType">
 73            <xs:sequence>
 74              <xs:element name="ddiReference"
 75                          type="InternationalRegistrationDataIdentifierXsdType"
 76                          minOccurs="0"
 77                          maxOccurs="1"
 78                          xml:id="LogicalRecord_isDefinedBy_Concept-ddiReference"/>
 79              <xs:element name="validType"
 80                          minOccurs="0"
 81                          maxOccurs="unbounded"
 82                          xml:id="LogicalRecord_isDefinedBy_Concept-validType">
 83                <xs:simpleType>
 84                  <xs:restriction base="xs:NMTOKEN">
 85                    <xs:enumeration value="Category"/>
 86                    <xs:enumeration value="Concept"/>
 87                    <xs:enumeration value="ConceptualValue"/>
 88                    <xs:enumeration value="ConceptualVariable"/>
 89                    <xs:enumeration value="DescriptorVariable"/>
 90                    <xs:enumeration value="DimensionalKeyDefinitionMember"/>
 91                    <xs:enumeration value="InstanceVariable"/>
 92                    <xs:enumeration value="KeyDefinitionMember"/>
 93                    <xs:enumeration value="Population"/>
 94                    <xs:enumeration value="ReferenceVariable"/>
 95                    <xs:enumeration value="RepresentedVariable"/>
 96                    <xs:enumeration value="UnitType"/>
 97                    <xs:enumeration value="Universe"/>
 98                  </xs:restriction>
 99                </xs:simpleType>
100              </xs:element>
101            </xs:sequence>
102          </xs:restriction>
103        </xs:complexContent>
104      </xs:complexType>
105    </xs:element>
106    <xs:element name="LogicalRecord_has_InstanceVariable"
107                minOccurs="0"
108                maxOccurs="unbounded"
109                xml:id="LogicalRecord_has_InstanceVariable">
110      <xs:annotation>
111        <xs:documentation></xs:documentation>
112      </xs:annotation>
113      <xs:complexType>
114        <xs:complexContent>
115          <xs:restriction base="AssociationReferenceXsdType">
116            <xs:sequence>
117              <xs:element name="ddiReference"
118                          type="InternationalRegistrationDataIdentifierXsdType"
119                          minOccurs="0"
120                          maxOccurs="1"
121                          xml:id="LogicalRecord_has_InstanceVariable-ddiReference"/>
122              <xs:element name="validType"
123                          minOccurs="0"
124                          maxOccurs="unbounded"
125                          xml:id="LogicalRecord_has_InstanceVariable-validType">
126                <xs:simpleType>
127                  <xs:restriction base="xs:NMTOKEN">
128                    <xs:enumeration value="DescriptorVariable"/>
129                    <xs:enumeration value="InstanceVariable"/>
130                    <xs:enumeration value="ReferenceVariable"/>
131                  </xs:restriction>
132                </xs:simpleType>
133              </xs:element>
134            </xs:sequence>
135          </xs:restriction>
136        </xs:complexContent>
137      </xs:complexType>
138    </xs:element>
139  </xs:sequence>
140</xs:complexType>

Fragment for the class LogicalRecord (entire JSON Schema)

  1"cls-LogicalRecord": {
  2  "description": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/LogicalRecord",
  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": "LogicalRecord"
 14    },
 15    "identifier": {
 16      "$comment": "cardinality 0..1 – from cdi:LogicalRecord",
 17      "$ref": "#/defs/dt-Identifier"
 18    },
 19    "has_InstanceVariable": {
 20      "description": "LogicalRecord_has_InstanceVariable",
 21      "$comment": "cardinality 0..-1",
 22      "anyOf": [
 23        {
 24          "$ref": "#/defs/target-InstanceVariable"
 25        },
 26        {
 27          "type": "array",
 28          "items": {
 29            "$ref": "#/defs/target-InstanceVariable"
 30          }
 31        }
 32      ]
 33    },
 34    "isDefinedBy_Concept": {
 35      "description": "LogicalRecord_isDefinedBy_Concept",
 36      "$comment": "cardinality 0..-1",
 37      "anyOf": [
 38        {
 39          "$ref": "#/defs/target-Concept"
 40        },
 41        {
 42          "type": "array",
 43          "items": {
 44            "$ref": "#/defs/target-Concept"
 45          }
 46        }
 47      ]
 48    },
 49    "organizes": {
 50      "description": "LogicalRecord_organizes_DataSet",
 51      "$comment": "cardinality 0..-1",
 52      "anyOf": [
 53        {
 54          "$ref": "#/defs/target-DataSet"
 55        },
 56        {
 57          "type": "array",
 58          "items": {
 59            "$ref": "#/defs/target-DataSet"
 60          }
 61        }
 62      ]
 63    },
 64    "has_LogicalRecord_OF_DataStore": {
 65      "description": "DataStore_has_LogicalRecord",
 66      "$comment": "cardinality 0..-1",
 67      "anyOf": [
 68        {
 69          "$ref": "#/defs/target-DataStore"
 70        },
 71        {
 72          "type": "array",
 73          "items": {
 74            "$ref": "#/defs/target-DataStore"
 75          }
 76        }
 77      ]
 78    },
 79    "indexes_OF_LogicalRecordPosition": {
 80      "description": "LogicalRecordPosition_indexes_LogicalRecord",
 81      "$comment": "cardinality 0..-1",
 82      "anyOf": [
 83        {
 84          "$ref": "#/defs/target-LogicalRecordPosition"
 85        },
 86        {
 87          "type": "array",
 88          "items": {
 89            "$ref": "#/defs/target-LogicalRecordPosition"
 90          }
 91        }
 92      ]
 93    },
 94    "hasSource_OF_LogicalRecordRelationship": {
 95      "description": "LogicalRecordRelationship_hasSource_LogicalRecord",
 96      "$comment": "cardinality 0..-1",
 97      "anyOf": [
 98        {
 99          "$ref": "#/defs/target-LogicalRecordRelationship"
100        },
101        {
102          "type": "array",
103          "items": {
104            "$ref": "#/defs/target-LogicalRecordRelationship"
105          }
106        }
107      ]
108    },
109    "hasTarget_OF_LogicalRecordRelationship": {
110      "description": "LogicalRecordRelationship_hasTarget_LogicalRecord",
111      "$comment": "cardinality 0..-1",
112      "anyOf": [
113        {
114          "$ref": "#/defs/target-LogicalRecordRelationship"
115        },
116        {
117          "type": "array",
118          "items": {
119            "$ref": "#/defs/target-LogicalRecordRelationship"
120          }
121        }
122      ]
123    },
124    "mapsTo_OF_PhysicalRecordSegment": {
125      "description": "PhysicalRecordSegment_mapsTo_LogicalRecord",
126      "$comment": "cardinality 0..-1",
127      "anyOf": [
128        {
129          "$ref": "#/defs/target-PhysicalRecordSegment"
130        },
131        {
132          "type": "array",
133          "items": {
134            "$ref": "#/defs/target-PhysicalRecordSegment"
135          }
136        }
137      ]
138    },
139    "formats_OF_PhysicalSegmentLayout": {
140      "description": "PhysicalSegmentLayout_formats_LogicalRecord",
141      "$comment": "cardinality 0..-1",
142      "anyOf": [
143        {
144          "$ref": "#/defs/target-PhysicalSegmentLayout"
145        },
146        {
147          "type": "array",
148          "items": {
149            "$ref": "#/defs/target-PhysicalSegmentLayout"
150          }
151        }
152      ]
153    },
154    "maps_OF_RecordRelation": {
155      "description": "RecordRelation_maps_LogicalRecord",
156      "$comment": "cardinality 0..-1",
157      "anyOf": [
158        {
159          "$ref": "#/defs/target-RecordRelation"
160        },
161        {
162          "type": "array",
163          "items": {
164            "$ref": "#/defs/target-RecordRelation"
165          }
166        }
167      ]
168    },
169    "sameAs": {
170      "$ref": "#/defs/owl:sameAs"
171    }
172  },
173  "required": ["@type"],
174  "additionalProperties": false
175},
176"target-LogicalRecord": {
177  "description": "all subclasses of http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/LogicalRecord",
178  "anyOf": [
179    { "$ref": "#/defs/cls-LogicalRecord" },
180    { "type": "string", "format": "iri-reference" }
181  ]
182},

Fragment for the class LogicalRecord (main ontology)

 1# class LogicalRecord
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::LogicalRecord
 3cdi:LogicalRecord
 4  a rdfs:Class, owl:Class, ucmis:Class;
 5  rdfs:label "LogicalRecord";
 6  rdfs:comment "Definition \n============ \nCollection of instance variables."@en;
 7  
 8.
 9
10cdi:LogicalRecord-identifier
11  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
12  rdfs:label "identifier";
13  rdfs:comment "Identifier for objects requiring short- or long-lasting referencing and management."@en;
14  rdfs:domain cdi:LogicalRecord;
15  rdfs:range cdi:Identifier;
16.
17
18
19cdi:LogicalRecord_has_InstanceVariable
20  a rdf:Property, owl:ObjectProperty, ucmis:Association;
21  # ASSOCIATION
22  rdfs:label "has_InstanceVariable";
23  skos:altLabel "LogicalRecord_has_InstanceVariable";
24  
25  rdfs:domain cdi:LogicalRecord;
26  rdfs:range cdi:InstanceVariable;
27.
28
29cdi:LogicalRecord_isDefinedBy_Concept
30  a rdf:Property, owl:ObjectProperty, ucmis:Association;
31  # ASSOCIATION
32  rdfs:label "isDefinedBy_Concept";
33  skos:altLabel "LogicalRecord_isDefinedBy_Concept";
34  rdfs:comment "The conceptual basis for the collection of members."@en;
35  rdfs:domain cdi:LogicalRecord;
36  rdfs:range cdi:Concept;
37.
38
39cdi:LogicalRecord_organizes_DataSet
40  a rdf:Property, owl:ObjectProperty, ucmis:Association;
41  # ASSOCIATION
42  rdfs:label "organizes";
43  skos:altLabel "LogicalRecord_organizes_DataSet";
44  
45  rdfs:domain cdi:LogicalRecord;
46  rdfs:range cdi:DataSet;
47.

Fragment for the class LogicalRecord (entire JSON-LD)

 1{
 2  "@context": [
 3    {
 4      "cdi": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/",
 5      "xsd": "http://www.w3.org/2001/XMLSchema#",
 6
 7      "identifier": {
 8        "@id": "cdi:LogicalRecord-identifier",
 9        "@type": "@id",
10        "@context": "Identifier.jsonld"
11      },
12      
13      "has_InstanceVariable": {
14        "@id": "cdi:LogicalRecord_has_InstanceVariable",
15        "@type": "@id",
16        "@context": "InstanceVariable.jsonld"
17      },
18      "isDefinedBy_Concept": {
19        "@id": "cdi:LogicalRecord_isDefinedBy_Concept",
20        "@type": "@id",
21        "@context": "Concept.jsonld"
22      },
23      "organizes": {
24        "@id": "cdi:LogicalRecord_organizes_DataSet",
25        "@type": "@id",
26        "@context": "DataSet.jsonld"
27      },
28      "has_LogicalRecord_OF_DataStore": {
29        "@reverse": "cdi:DataStore_has_LogicalRecord",
30        "@type": "@id",
31        "@context": "DataStore.jsonld"
32      },
33      "indexes_OF_LogicalRecordPosition": {
34        "@reverse": "cdi:LogicalRecordPosition_indexes_LogicalRecord",
35        "@type": "@id",
36        "@context": "LogicalRecordPosition.jsonld"
37      },
38      "hasSource_OF_LogicalRecordRelationship": {
39        "@reverse": "cdi:LogicalRecordRelationship_hasSource_LogicalRecord",
40        "@type": "@id",
41        "@context": "LogicalRecordRelationship.jsonld"
42      },
43      "hasTarget_OF_LogicalRecordRelationship": {
44        "@reverse": "cdi:LogicalRecordRelationship_hasTarget_LogicalRecord",
45        "@type": "@id",
46        "@context": "LogicalRecordRelationship.jsonld"
47      },
48      "mapsTo_OF_PhysicalRecordSegment": {
49        "@reverse": "cdi:PhysicalRecordSegment_mapsTo_LogicalRecord",
50        "@type": "@id",
51        "@context": "PhysicalRecordSegment.jsonld"
52      },
53      "formats_OF_PhysicalSegmentLayout": {
54        "@reverse": "cdi:PhysicalSegmentLayout_formats_LogicalRecord",
55        "@type": "@id",
56        "@context": "PhysicalSegmentLayout.jsonld"
57      },
58      "maps_OF_RecordRelation": {
59        "@reverse": "cdi:RecordRelation_maps_LogicalRecord",
60        "@type": "@id",
61        "@context": "RecordRelation.jsonld"
62      },
63      " comment ": "tag:json-should-support-trailing-commas"
64    }
65  ],
66  "generatedBy": "This code was generated by the Eclipse Acceleo project UCMIS M2T on 2025-08-29 14:34:52.",
67  "basedOn": "based on the UML data type DDICDIModels::DDICDILibrary::Classes::FormatDescription::LogicalRecord"
68}

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

 1# class LogicalRecord
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::LogicalRecord
 3<#LogicalRecord> a sh:NodeShape;
 4    sh:targetClass cdi:LogicalRecord;
 5	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/LogicalRecord";
 6	sh:closed true;
 7	sh:ignoredProperties ( owl:sameAs );
 8    sh:property [
 9			sh:path rdf:type;
10			sh:in (   cdi:LogicalRecord
11			 ) ;
12    ];
13    # attributes
14    sh:property <#LogicalRecord-identifier>;
15    # associations from LogicalRecord
16    sh:property <#LogicalRecord_has_InstanceVariable>;
17    sh:property <#LogicalRecord_isDefinedBy_Concept>;
18    sh:property <#LogicalRecord_organizes_DataSet>;
19    # associations to LogicalRecord
20    sh:property <#rev_DataStore_has_LogicalRecord>;
21    sh:property <#rev_LogicalRecordPosition_indexes_LogicalRecord>;
22    sh:property <#rev_LogicalRecordRelationship_hasSource_LogicalRecord>;
23    sh:property <#rev_LogicalRecordRelationship_hasTarget_LogicalRecord>;
24    sh:property <#rev_PhysicalRecordSegment_mapsTo_LogicalRecord>;
25    sh:property <#rev_PhysicalSegmentLayout_formats_LogicalRecord>;
26    sh:property <#rev_RecordRelation_maps_LogicalRecord>;
27
28
29
30.
31
32<#LogicalRecord-identifier> a sh:PropertyShape ;
33    sh:path cdi:LogicalRecord-identifier;
34    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
35        cdi:Identifier
36      
37    ) ]];
38    sh:maxCount 1;
39.
40
41<#LogicalRecord_has_InstanceVariable> a sh:PropertyShape ;
42    sh:path cdi:LogicalRecord_has_InstanceVariable;
43	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
44        cdi:InstanceVariable
45        cdi:DescriptorVariable
46        cdi:ReferenceVariable
47      
48    ) ]];
49.
50<#rev_LogicalRecord_has_InstanceVariable> a sh:PropertyShape ;
51    sh:path [ sh:inversePath cdi:LogicalRecord_has_InstanceVariable ];
52.
53<#LogicalRecord_isDefinedBy_Concept> a sh:PropertyShape ;
54    sh:path cdi:LogicalRecord_isDefinedBy_Concept;
55	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
56        cdi:Concept
57        cdi:Category
58        cdi:ConceptualValue
59        cdi:DimensionalKeyDefinitionMember
60        cdi:KeyDefinitionMember
61        cdi:ConceptualVariable
62        cdi:RepresentedVariable
63        cdi:InstanceVariable
64        cdi:DescriptorVariable
65        cdi:ReferenceVariable
66        cdi:UnitType
67        cdi:Universe
68        cdi:Population
69      
70    ) ]];
71.
72<#rev_LogicalRecord_isDefinedBy_Concept> a sh:PropertyShape ;
73    sh:path [ sh:inversePath cdi:LogicalRecord_isDefinedBy_Concept ];
74.
75<#LogicalRecord_organizes_DataSet> a sh:PropertyShape ;
76    sh:path cdi:LogicalRecord_organizes_DataSet;
77	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
78        cdi:DataSet
79        cdi:DimensionalDataSet
80        cdi:KeyValueDataStore
81        cdi:LongDataSet
82        cdi:WideDataSet
83      
84    ) ]];
85.
86<#rev_LogicalRecord_organizes_DataSet> a sh:PropertyShape ;
87    sh:path [ sh:inversePath cdi:LogicalRecord_organizes_DataSet ];
88.

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

 1# class LogicalRecord
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::LogicalRecord
 3cdi:LogicalRecordShape CLOSED {
 4	a [cdi:LogicalRecord];
 5	cdi:LogicalRecord-identifier	@cdi:IdentifierShape?;
 6	cdi:LogicalRecord_has_InstanceVariable	@cdi:InstanceVariableShape OR @cdi:DescriptorVariableShape OR @cdi:ReferenceVariableShape*;
 7	
 8	cdi:LogicalRecord_isDefinedBy_Concept	@cdi:ConceptShape OR @cdi:CategoryShape OR @cdi:ConceptualValueShape OR @cdi:ConceptualVariableShape OR @cdi:UnitTypeShape*;
 9	
10	cdi:LogicalRecord_organizes_DataSet	@cdi:DataSetShape OR @cdi:DimensionalDataSetShape OR @cdi:KeyValueDataStoreShape OR @cdi:LongDataSetShape OR @cdi:WideDataSetShape*;
11	
12	^cdi:DataStore_has_LogicalRecord @cdi:DataStoreShape *;
13	^cdi:LogicalRecordPosition_indexes_LogicalRecord @cdi:LogicalRecordPositionShape *;
14	^cdi:LogicalRecordRelationship_hasSource_LogicalRecord @cdi:LogicalRecordRelationshipShape *;
15	^cdi:LogicalRecordRelationship_hasTarget_LogicalRecord @cdi:LogicalRecordRelationshipShape *;
16	^cdi:PhysicalRecordSegment_mapsTo_LogicalRecord @cdi:PhysicalRecordSegmentShape *;
17	^cdi:PhysicalSegmentLayout_formats_LogicalRecord @cdi:PhysicalSegmentLayoutShape OR @cdi:UnitSegmentLayoutShape*;
18	^cdi:RecordRelation_maps_LogicalRecord @cdi:RecordRelationShape *;
19	}