CodeRelationship#

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

Definition#

Source target relationship between codes in a code relation structure.

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

semantics

- own class -

Specifies the semantics of the object in reference to a vocabulary, ontology, etc.

ControlledVocabularyEntry

0..1

Associations#

Associations
Associations#

Direction

Association

Description

Multiplicity of CodeRelationship

Package of Other Class

Other Class

Multiplicity of other class

Aggregation Kind

Inherited from

to

CodeListStructure has CodeRelationship

0..*

- own package -

CodeListStructure

1..1

none

own class

from

CodeRelationship hasSource Code

0..*

- own package -

Code

0..*

none

own class

from

CodeRelationship hasTarget Code

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

0..*

- own package -

Code

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 CodeRelationship (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-Representations-CodeRelationship"
 5                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#CodeRelationship"
 6                  xmi:type="uml:Class">
 7   <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-CodeRelationship-ownedComment"
 8                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#CodeRelationship-ownedComment"
 9                  xmi:type="uml:Comment">
10      <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Representations-CodeRelationship"/>
11      <body>Definition
12============
13Source target relationship between codes in a code relation structure.</body>
14   </ownedComment>
15   <name>CodeRelationship</name>
16   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-CodeRelationship-identifier"
17                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#CodeRelationship-identifier"
18                    xmi:type="uml:Property">
19      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-CodeRelationship-identifier-ownedComment"
20                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#CodeRelationship-identifier-ownedComment"
21                     xmi:type="uml:Comment">
22         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Representations-CodeRelationship-identifier"/>
23         <body>Identifier for objects requiring short- or long-lasting referencing and management.</body>
24      </ownedComment>
25      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-CodeRelationship-identifier-lowerValue"
26                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#CodeRelationship-identifier-lowerValue"
27                   xmi:type="uml:LiteralInteger"/>
28      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-CodeRelationship-identifier-upperValue"
29                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#CodeRelationship-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-Representations-CodeRelationship-ownedAttribute_1"
38                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#CodeRelationship-ownedAttribute_1"
39                    xmi:type="uml:Property">
40      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-CodeRelationship-ownedAttribute_1-lowerValue"
41                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#CodeRelationship-ownedAttribute_1-lowerValue"
42                   xmi:type="uml:LiteralInteger"/>
43      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-CodeRelationship-ownedAttribute_1-upperValue"
44                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#CodeRelationship-ownedAttribute_1-upperValue"
45                   xmi:type="uml:LiteralUnlimitedNatural">
46         <value>*</value>
47      </upperValue>
48      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Representations-CodeRelationship_hasTarget_Code"/>
49      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Representations-Code"/>
50   </ownedAttribute>
51   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-CodeRelationship-ownedAttribute_2"
52                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#CodeRelationship-ownedAttribute_2"
53                    xmi:type="uml:Property">
54      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-CodeRelationship-ownedAttribute_2-lowerValue"
55                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#CodeRelationship-ownedAttribute_2-lowerValue"
56                   xmi:type="uml:LiteralInteger"/>
57      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-CodeRelationship-ownedAttribute_2-upperValue"
58                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#CodeRelationship-ownedAttribute_2-upperValue"
59                   xmi:type="uml:LiteralUnlimitedNatural">
60         <value>*</value>
61      </upperValue>
62      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Representations-CodeRelationship_hasSource_Code"/>
63      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Representations-Code"/>
64   </ownedAttribute>
65   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-CodeRelationship-semantics"
66                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#CodeRelationship-semantics"
67                    xmi:type="uml:Property">
68      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-CodeRelationship-semantics-ownedComment"
69                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#CodeRelationship-semantics-ownedComment"
70                     xmi:type="uml:Comment">
71         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Representations-CodeRelationship-semantics"/>
72         <body>Specifies the semantics of the object in reference to a vocabulary, ontology, etc.</body>
73      </ownedComment>
74      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-CodeRelationship-semantics-lowerValue"
75                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#CodeRelationship-semantics-lowerValue"
76                   xmi:type="uml:LiteralInteger"/>
77      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-CodeRelationship-semantics-upperValue"
78                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#CodeRelationship-semantics-upperValue"
79                   xmi:type="uml:LiteralUnlimitedNatural">
80         <value>1</value>
81      </upperValue>
82      <name>semantics</name>
83      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-ControlledVocabularyEntry"/>
84   </ownedAttribute>
85</packagedElement>

Fragment for the class CodeRelationship (entire XML Schema)

  1<xs:element name="CodeRelationship"
  2            type="CodeRelationshipXsdType"
  3            xml:id="CodeRelationship">
  4  <!-- based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::CodeRelationship -->
  5  <xs:annotation>
  6    <xs:documentation>Definition
  7          ============
  8          Source target relationship between codes in a code relation structure.</xs:documentation>
  9  </xs:annotation>
 10</xs:element>
 11<xs:complexType name="CodeRelationshipXsdType"
 12                xml:id="CodeRelationshipXsdType">
 13  <xs:annotation>
 14    <xs:documentation>Definition
 15          ============
 16          Source target relationship between codes in a code relation structure.</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="CodeRelationship-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="semantics"
 29                type="ControlledVocabularyEntryXsdType"
 30                minOccurs="0"
 31                maxOccurs="1"
 32                xml:id="CodeRelationship-semantics">
 33      <xs:annotation>
 34        <xs:documentation>Specifies the semantics of the object in reference to a vocabulary, ontology, etc.</xs:documentation>
 35      </xs:annotation>
 36    </xs:element>
 37    <xs:element name="CodeRelationship_hasTarget_Code"
 38                minOccurs="0"
 39                maxOccurs="unbounded"
 40                xml:id="CodeRelationship_hasTarget_Code">
 41      <xs:annotation>
 42        <xs:documentation>Note that this can be realized as a collection to support tuples.</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="CodeRelationship_hasTarget_Code-ddiReference"/>
 53              <xs:element name="validType"
 54                          minOccurs="0"
 55                          maxOccurs="unbounded"
 56                          xml:id="CodeRelationship_hasTarget_Code-validType">
 57                <xs:simpleType>
 58                  <xs:restriction base="xs:NMTOKEN">
 59                    <xs:enumeration value="Code"/>
 60                  </xs:restriction>
 61                </xs:simpleType>
 62              </xs:element>
 63            </xs:sequence>
 64          </xs:restriction>
 65        </xs:complexContent>
 66      </xs:complexType>
 67    </xs:element>
 68    <xs:element name="CodeRelationship_hasSource_Code"
 69                minOccurs="0"
 70                maxOccurs="unbounded"
 71                xml:id="CodeRelationship_hasSource_Code">
 72      <xs:annotation>
 73        <xs:documentation></xs:documentation>
 74      </xs:annotation>
 75      <xs:complexType>
 76        <xs:complexContent>
 77          <xs:restriction base="AssociationReferenceXsdType">
 78            <xs:sequence>
 79              <xs:element name="ddiReference"
 80                          type="InternationalRegistrationDataIdentifierXsdType"
 81                          minOccurs="0"
 82                          maxOccurs="1"
 83                          xml:id="CodeRelationship_hasSource_Code-ddiReference"/>
 84              <xs:element name="validType"
 85                          minOccurs="0"
 86                          maxOccurs="unbounded"
 87                          xml:id="CodeRelationship_hasSource_Code-validType">
 88                <xs:simpleType>
 89                  <xs:restriction base="xs:NMTOKEN">
 90                    <xs:enumeration value="Code"/>
 91                  </xs:restriction>
 92                </xs:simpleType>
 93              </xs:element>
 94            </xs:sequence>
 95          </xs:restriction>
 96        </xs:complexContent>
 97      </xs:complexType>
 98    </xs:element>
 99  </xs:sequence>
100</xs:complexType>

Fragment for the class CodeRelationship (entire JSON Schema)

 1"cls-CodeRelationship": {
 2  "description": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/CodeRelationship",
 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": "CodeRelationship"
14    },
15    "identifier": {
16      "$comment": "cardinality 0..1 – from cdi:CodeRelationship",
17      "$ref": "#/defs/dt-Identifier"
18    },
19    "semantics": {
20      "$comment": "cardinality 0..1 – from cdi:CodeRelationship",
21      "$ref": "#/defs/dt-ControlledVocabularyEntry"
22    },
23    "hasSource": {
24      "description": "CodeRelationship_hasSource_Code",
25      "$comment": "cardinality 0..-1",
26      "anyOf": [
27        {
28          "$ref": "#/defs/target-Code"
29        },
30        {
31          "type": "array",
32          "items": {
33            "$ref": "#/defs/target-Code"
34          }
35        }
36      ]
37    },
38    "hasTarget": {
39      "description": "CodeRelationship_hasTarget_Code",
40      "$comment": "cardinality 0..-1",
41      "anyOf": [
42        {
43          "$ref": "#/defs/target-Code"
44        },
45        {
46          "type": "array",
47          "items": {
48            "$ref": "#/defs/target-Code"
49          }
50        }
51      ]
52    },
53    "has_CodeRelationship_OF_CodeListStructure": {
54      "description": "CodeListStructure_has_CodeRelationship",
55      "$comment": "cardinality 1..1",
56      "$ref": "#/defs/target-CodeListStructure"
57    },
58    "sameAs": {
59      "$ref": "#/defs/owl:sameAs"
60    }
61  },
62  "required": ["@type"],
63  "additionalProperties": false
64},
65"target-CodeRelationship": {
66  "description": "all subclasses of http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/CodeRelationship",
67  "anyOf": [
68    { "$ref": "#/defs/cls-CodeRelationship" },
69    { "type": "string", "format": "iri-reference" }
70  ]
71},

Fragment for the class CodeRelationship (main ontology)

 1# class CodeRelationship
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::CodeRelationship
 3cdi:CodeRelationship
 4  a rdfs:Class, owl:Class, ucmis:Class;
 5  rdfs:label "CodeRelationship";
 6  rdfs:comment "Definition\n============\nSource target relationship between codes in a code relation structure."@en;
 7  
 8.
 9
10cdi:CodeRelationship-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:CodeRelationship;
15  rdfs:range cdi:Identifier;
16.
17
18cdi:CodeRelationship-semantics
19  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
20  rdfs:label "semantics";
21  rdfs:comment "Specifies the semantics of the object in reference to a vocabulary, ontology, etc."@en;
22  rdfs:domain cdi:CodeRelationship;
23  rdfs:range cdi:ControlledVocabularyEntry;
24.
25
26
27cdi:CodeRelationship_hasSource_Code
28  a rdf:Property, owl:ObjectProperty, ucmis:Association;
29  # ASSOCIATION
30  rdfs:label "hasSource";
31  skos:altLabel "CodeRelationship_hasSource_Code";
32  
33  rdfs:domain cdi:CodeRelationship;
34  rdfs:range cdi:Code;
35.
36
37cdi:CodeRelationship_hasTarget_Code
38  a rdf:Property, owl:ObjectProperty, ucmis:Association;
39  # ASSOCIATION
40  rdfs:label "hasTarget";
41  skos:altLabel "CodeRelationship_hasTarget_Code";
42  rdfs:comment "Note that this can be realized as a collection to support tuples."@en;
43  rdfs:domain cdi:CodeRelationship;
44  rdfs:range cdi:Code;
45.

Fragment for the class CodeRelationship (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:CodeRelationship-identifier",
 9        "@type": "@id",
10        "@context": "Identifier.jsonld"
11      },
12      "semantics": {
13        "@id": "cdi:CodeRelationship-semantics",
14        "@type": "@id",
15        "@context": "ControlledVocabularyEntry.jsonld"
16      },
17      
18      "hasSource": {
19        "@id": "cdi:CodeRelationship_hasSource_Code",
20        "@type": "@id",
21        "@context": "Code.jsonld"
22      },
23      "hasTarget": {
24        "@id": "cdi:CodeRelationship_hasTarget_Code",
25        "@type": "@id",
26        "@context": "Code.jsonld"
27      },
28      "has_CodeRelationship_OF_CodeListStructure": {
29        "@reverse": "cdi:CodeListStructure_has_CodeRelationship",
30        "@type": "@id",
31        "@context": "CodeListStructure.jsonld"
32      },
33      " comment ": "tag:json-should-support-trailing-commas"
34    }
35  ],
36  "generatedBy": "This code was generated by the Eclipse Acceleo project UCMIS M2T on 2025-08-29 14:34:54.",
37  "basedOn": "based on the UML data type DDICDIModels::DDICDILibrary::Classes::Representations::CodeRelationship"
38}

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

 1# class CodeRelationship
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::CodeRelationship
 3<#CodeRelationship> a sh:NodeShape;
 4    sh:targetClass cdi:CodeRelationship;
 5	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/CodeRelationship";
 6	sh:closed true;
 7	sh:ignoredProperties ( owl:sameAs );
 8    sh:property [
 9			sh:path rdf:type;
10			sh:in (   cdi:CodeRelationship
11			 ) ;
12    ];
13    # attributes
14    sh:property <#CodeRelationship-identifier>;
15    sh:property <#CodeRelationship-semantics>;
16    # associations from CodeRelationship
17    sh:property <#CodeRelationship_hasSource_Code>;
18    sh:property <#CodeRelationship_hasTarget_Code>;
19    # associations to CodeRelationship
20    sh:property <#rev_CodeListStructure_has_CodeRelationship>;
21
22
23
24.
25
26<#CodeRelationship-identifier> a sh:PropertyShape ;
27    sh:path cdi:CodeRelationship-identifier;
28    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
29        cdi:Identifier
30      
31    ) ]];
32    sh:maxCount 1;
33.
34<#CodeRelationship-semantics> a sh:PropertyShape ;
35    sh:path cdi:CodeRelationship-semantics;
36    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
37        cdi:ControlledVocabularyEntry
38      
39    ) ]];
40    sh:maxCount 1;
41.
42
43<#CodeRelationship_hasSource_Code> a sh:PropertyShape ;
44    sh:path cdi:CodeRelationship_hasSource_Code;
45	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
46        cdi:Code
47      
48    ) ]];
49.
50<#rev_CodeRelationship_hasSource_Code> a sh:PropertyShape ;
51    sh:path [ sh:inversePath cdi:CodeRelationship_hasSource_Code ];
52.
53<#CodeRelationship_hasTarget_Code> a sh:PropertyShape ;
54    sh:path cdi:CodeRelationship_hasTarget_Code;
55	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
56        cdi:Code
57      
58    ) ]];
59.
60<#rev_CodeRelationship_hasTarget_Code> a sh:PropertyShape ;
61    sh:path [ sh:inversePath cdi:CodeRelationship_hasTarget_Code ];
62.

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

 1# class CodeRelationship
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::CodeRelationship
 3cdi:CodeRelationshipShape CLOSED {
 4	a [cdi:CodeRelationship];
 5	cdi:CodeRelationship-identifier	@cdi:IdentifierShape?;
 6	cdi:CodeRelationship-semantics	@cdi:ControlledVocabularyEntryShape?;
 7	^cdi:CodeListStructure_has_CodeRelationship @cdi:CodeListStructureShape ;
 8	cdi:CodeRelationship_hasSource_Code	@cdi:CodeShape *;
 9	
10	cdi:CodeRelationship_hasTarget_Code	@cdi:CodeShape *;
11	
12	}