ComponentPosition#

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

Definition#

Indexes the components in a data structure using integers with a position indicated by incrementing upward from 0 or 1.

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

value

- own class -

Index value of the member in an ordered array.

Integer

1..1

Associations#

Associations
Associations#

Direction

Association

Description

Multiplicity of ComponentPosition

Package of Other Class

Other Class

Multiplicity of other class

Aggregation Kind

Inherited from

to

DataStructure has ComponentPosition

0..*

DataDescription

DataStructure

1..1

none

own class

from

ComponentPosition indexes DataStructureComponent

0..*

- own package -

DataStructureComponent

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 ComponentPosition (entire model as XMI)

 1<packagedElement xmlns:StandardProfile="http://www.omg.org/spec/UML/20131001/StandardProfile"
 2                  xmlns:uml="http://www.omg.org/spec/UML/20131001"
 3                  xmlns:xmi="http://www.omg.org/spec/XMI/20131001"
 4                  xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-ComponentPosition"
 5                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ComponentPosition"
 6                  xmi:type="uml:Class">
 7   <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-ComponentPosition-ownedComment"
 8                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ComponentPosition-ownedComment"
 9                  xmi:type="uml:Comment">
10      <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-ComponentPosition"/>
11      <body>Definition 
12============ 
13Indexes the components in a data structure using integers with a position indicated by incrementing upward from 0 or 1.</body>
14   </ownedComment>
15   <name>ComponentPosition</name>
16   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-ComponentPosition-identifier"
17                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ComponentPosition-identifier"
18                    xmi:type="uml:Property">
19      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-ComponentPosition-identifier-ownedComment"
20                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ComponentPosition-identifier-ownedComment"
21                     xmi:type="uml:Comment">
22         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-ComponentPosition-identifier"/>
23         <body>Identifier for objects requiring short- or long-lasting referencing and management.</body>
24      </ownedComment>
25      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-ComponentPosition-identifier-lowerValue"
26                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ComponentPosition-identifier-lowerValue"
27                   xmi:type="uml:LiteralInteger"/>
28      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-ComponentPosition-identifier-upperValue"
29                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ComponentPosition-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-DataDescription-Components-ComponentPosition-ownedAttribute"
38                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ComponentPosition-ownedAttribute"
39                    xmi:type="uml:Property">
40      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-ComponentPosition-ownedAttribute-lowerValue"
41                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ComponentPosition-ownedAttribute-lowerValue"
42                   xmi:type="uml:LiteralInteger"/>
43      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-ComponentPosition-ownedAttribute-upperValue"
44                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ComponentPosition-ownedAttribute-upperValue"
45                   xmi:type="uml:LiteralUnlimitedNatural">
46         <value>1</value>
47      </upperValue>
48      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-ComponentPosition_indexes_DataStructureComponent"/>
49      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-DataStructureComponent"/>
50   </ownedAttribute>
51   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-ComponentPosition-value"
52                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ComponentPosition-value"
53                    xmi:type="uml:Property">
54      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-ComponentPosition-value-ownedComment"
55                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ComponentPosition-value-ownedComment"
56                     xmi:type="uml:Comment">
57         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-ComponentPosition-value"/>
58         <body>Index value of the member in an ordered array.</body>
59      </ownedComment>
60      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-ComponentPosition-value-lowerValue"
61                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ComponentPosition-value-lowerValue"
62                   xmi:type="uml:LiteralInteger">
63         <value>1</value>
64      </lowerValue>
65      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-ComponentPosition-value-upperValue"
66                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ComponentPosition-value-upperValue"
67                   xmi:type="uml:LiteralUnlimitedNatural">
68         <value>1</value>
69      </upperValue>
70      <name>value</name>
71      <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Integer"
72             xmi:type="uml:PrimitiveType"/>
73   </ownedAttribute>
74</packagedElement>

Fragment for the class ComponentPosition (entire XML Schema)

 1<xs:element name="ComponentPosition"
 2            type="ComponentPositionXsdType"
 3            xml:id="ComponentPosition">
 4  <!-- based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Components::ComponentPosition -->
 5  <xs:annotation>
 6    <xs:documentation>Definition 
 7          ============ 
 8          Indexes the components in a data structure using integers with a position indicated by incrementing upward from 0 or 1.</xs:documentation>
 9  </xs:annotation>
10</xs:element>
11<xs:complexType name="ComponentPositionXsdType"
12                xml:id="ComponentPositionXsdType">
13  <xs:annotation>
14    <xs:documentation>Definition 
15          ============ 
16          Indexes the components in a data structure using integers with a position indicated by incrementing upward from 0 or 1.</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="ComponentPosition-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="value"
29                type="xs:integer"
30                minOccurs="1"
31                maxOccurs="1"
32                xml:id="ComponentPosition-value">
33      <xs:annotation>
34        <xs:documentation>Index value of the member in an ordered array.</xs:documentation>
35      </xs:annotation>
36    </xs:element>
37    <xs:element name="ComponentPosition_indexes_DataStructureComponent"
38                minOccurs="0"
39                maxOccurs="1"
40                xml:id="ComponentPosition_indexes_DataStructureComponent">
41      <xs:annotation>
42        <xs:documentation></xs:documentation>
43      </xs:annotation>
44      <xs:complexType>
45        <xs:complexContent>
46          <xs:restriction base="AssociationReferenceXsdType">
47            <xs:sequence>
48              <xs:element name="ddiReference"
49                          type="InternationalRegistrationDataIdentifierXsdType"
50                          minOccurs="0"
51                          maxOccurs="1"
52                          xml:id="ComponentPosition_indexes_DataStructureComponent-ddiReference"/>
53              <xs:element name="validType"
54                          minOccurs="0"
55                          maxOccurs="unbounded"
56                          xml:id="ComponentPosition_indexes_DataStructureComponent-validType">
57                <xs:simpleType>
58                  <xs:restriction base="xs:NMTOKEN">
59                    <xs:enumeration value="AttributeComponent"/>
60                    <xs:enumeration value="ContextualComponent"/>
61                    <xs:enumeration value="DataStructure"/>
62                    <xs:enumeration value="DataStructureComponent"/>
63                    <xs:enumeration value="DimensionComponent"/>
64                    <xs:enumeration value="DimensionalDataStructure"/>
65                    <xs:enumeration value="IdentifierComponent"/>
66                    <xs:enumeration value="KeyValueStructure"/>
67                    <xs:enumeration value="LongDataStructure"/>
68                    <xs:enumeration value="MeasureComponent"/>
69                    <xs:enumeration value="QualifiedMeasure"/>
70                    <xs:enumeration value="SyntheticIdComponent"/>
71                    <xs:enumeration value="VariableDescriptorComponent"/>
72                    <xs:enumeration value="VariableValueComponent"/>
73                    <xs:enumeration value="WideDataStructure"/>
74                  </xs:restriction>
75                </xs:simpleType>
76              </xs:element>
77            </xs:sequence>
78          </xs:restriction>
79        </xs:complexContent>
80      </xs:complexType>
81    </xs:element>
82  </xs:sequence>
83</xs:complexType>

Fragment for the class ComponentPosition (entire JSON Schema)

 1"cls-ComponentPosition": {
 2  "description": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ComponentPosition",
 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": "ComponentPosition"
14    },
15    "identifier": {
16      "$comment": "cardinality 0..1 – from cdi:ComponentPosition",
17      "$ref": "#/defs/dt-Identifier"
18    },
19    "value": {
20      "$comment": "cardinality 1..1 – from cdi:ComponentPosition",
21      "$ref": "#/defs/xsd:integer"
22    },
23    "indexes": {
24      "description": "ComponentPosition_indexes_DataStructureComponent",
25      "$comment": "cardinality 0..1",
26       "$ref": "#/defs/target-DataStructureComponent"
27    },
28    "has_ComponentPosition_OF_DataStructure": {
29      "description": "DataStructure_has_ComponentPosition",
30      "$comment": "cardinality 1..1",
31      "$ref": "#/defs/target-DataStructure"
32    },
33    "sameAs": {
34      "$ref": "#/defs/owl:sameAs"
35    }
36  },
37  "required": ["value","@type"],
38  "additionalProperties": false
39},
40"target-ComponentPosition": {
41  "description": "all subclasses of http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ComponentPosition",
42  "anyOf": [
43    { "$ref": "#/defs/cls-ComponentPosition" },
44    { "type": "string", "format": "iri-reference" }
45  ]
46},

Fragment for the class ComponentPosition (main ontology)

 1# class ComponentPosition
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Components::ComponentPosition
 3cdi:ComponentPosition
 4  a rdfs:Class, owl:Class, ucmis:Class;
 5  rdfs:label "ComponentPosition";
 6  rdfs:comment "Definition \n============ \nIndexes the components in a data structure using integers with a position indicated by incrementing upward from 0 or 1."@en;
 7  
 8.
 9
10cdi:ComponentPosition-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:ComponentPosition;
15  rdfs:range cdi:Identifier;
16.
17
18cdi:ComponentPosition-value
19  a rdf:Property, owl:DatatypeProperty, ucmis:Attribute;
20  rdfs:label "value";
21  rdfs:comment "Index value of the member in an ordered array."@en;
22  rdfs:domain cdi:ComponentPosition;
23  rdfs:range xsd:integer;
24.
25
26
27cdi:ComponentPosition_indexes_DataStructureComponent
28  a rdf:Property, owl:ObjectProperty, ucmis:Association;
29  # ASSOCIATION
30  rdfs:label "indexes";
31  skos:altLabel "ComponentPosition_indexes_DataStructureComponent";
32  
33  rdfs:domain cdi:ComponentPosition;
34  rdfs:range cdi:DataStructureComponent;
35.

Fragment for the class ComponentPosition (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:ComponentPosition-identifier",
 9        "@type": "@id",
10        "@context": "Identifier.jsonld"
11      },
12      "value": {
13        "@id": "cdi:ComponentPosition-value",
14        "@type": "xsd:integer"
15      },
16      
17      "indexes": {
18        "@id": "cdi:ComponentPosition_indexes_DataStructureComponent",
19        "@type": "@id",
20        "@context": "DataStructureComponent.jsonld"
21      },
22      "has_ComponentPosition_OF_DataStructure": {
23        "@reverse": "cdi:DataStructure_has_ComponentPosition",
24        "@type": "@id",
25        "@context": "DataStructure.jsonld"
26      },
27      " comment ": "tag:json-should-support-trailing-commas"
28    }
29  ],
30  "generatedBy": "This code was generated by the Eclipse Acceleo project UCMIS M2T on 2025-08-29 14:34:49.",
31  "basedOn": "based on the UML data type DDICDIModels::DDICDILibrary::Classes::DataDescription::Components::ComponentPosition"
32}

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

 1# class ComponentPosition
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Components::ComponentPosition
 3<#ComponentPosition> a sh:NodeShape;
 4    sh:targetClass cdi:ComponentPosition;
 5	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ComponentPosition";
 6	sh:closed true;
 7	sh:ignoredProperties ( owl:sameAs );
 8    sh:property [
 9			sh:path rdf:type;
10			sh:in (   cdi:ComponentPosition
11			 ) ;
12    ];
13    # attributes
14    sh:property <#ComponentPosition-identifier>;
15    sh:property <#ComponentPosition-value>;
16    # associations from ComponentPosition
17    sh:property <#ComponentPosition_indexes_DataStructureComponent>;
18    # associations to ComponentPosition
19    sh:property <#rev_DataStructure_has_ComponentPosition>;
20
21
22
23.
24
25<#ComponentPosition-identifier> a sh:PropertyShape ;
26    sh:path cdi:ComponentPosition-identifier;
27    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
28        cdi:Identifier
29      
30    ) ]];
31    sh:maxCount 1;
32.
33<#ComponentPosition-value> a sh:PropertyShape ;
34    sh:path cdi:ComponentPosition-value;
35    sh:datatype xsd:integer;
36    sh:minCount 1;
37    sh:maxCount 1;
38.
39
40<#ComponentPosition_indexes_DataStructureComponent> a sh:PropertyShape ;
41    sh:path cdi:ComponentPosition_indexes_DataStructureComponent;
42	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
43        cdi:DataStructureComponent
44        cdi:AttributeComponent
45        cdi:ContextualComponent
46        cdi:DataStructure
47        cdi:DimensionalDataStructure
48        cdi:KeyValueStructure
49        cdi:LongDataStructure
50        cdi:WideDataStructure
51        cdi:DimensionComponent
52        cdi:IdentifierComponent
53        cdi:MeasureComponent
54        cdi:QualifiedMeasure
55        cdi:SyntheticIdComponent
56        cdi:VariableDescriptorComponent
57        cdi:VariableValueComponent
58      
59    ) ]];
60    sh:maxCount 1;
61.
62<#rev_ComponentPosition_indexes_DataStructureComponent> a sh:PropertyShape ;
63    sh:path [ sh:inversePath cdi:ComponentPosition_indexes_DataStructureComponent ];
64.

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

 1# class ComponentPosition
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Components::ComponentPosition
 3cdi:ComponentPositionShape CLOSED {
 4	a [cdi:ComponentPosition];
 5	cdi:ComponentPosition-identifier	@cdi:IdentifierShape?;
 6	cdi:ComponentPosition-value	xsd:integer;
 7	^cdi:DataStructure_has_ComponentPosition @cdi:DataStructureShape OR @cdi:DimensionalDataStructureShape OR @cdi:KeyValueStructureShape OR @cdi:LongDataStructureShape OR @cdi:WideDataStructureShape;
 8	cdi:ComponentPosition_indexes_DataStructureComponent	@cdi:DataStructureComponentShape OR @cdi:AttributeComponentShape OR @cdi:ContextualComponentShape OR @cdi:DataStructureShape OR @cdi:DimensionComponentShape OR @cdi:IdentifierComponentShape OR @cdi:MeasureComponentShape OR @cdi:SyntheticIdComponentShape OR @cdi:VariableDescriptorComponentShape OR @cdi:VariableValueComponentShape?;
 9	
10	}