SyntheticIdComponent#

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

Definition#

Persistent and unique identifier (PIDs) to provide standarized, long-lasting identification.

Examples#

UUIDs, GUIDs, DOIs, URNs or any other unique id generation framework.

Explanatory notes#

This PIDs either complement or replace identifier and dimension components. They complement them when there is a need for having a globally unique identifier as part of an instance key. They replace them when identier components are not available (e.g. after de-identification for confidentiality).

Diagram#

Diagram

Inheritance#

Inheritance
  ᐊ── KeyValue::SyntheticIdComponent

Attributes#

Attributes
Attributes#

Name

Inherited from

Description

Data Type

Multiplicity

Default value

identifier

Components::DataStructureComponent

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

Identifier

0..1

semantic

Components::DataStructureComponent

Qualifies the purpose or use expressed as a paired external controlled vocabulary.

PairedControlledVocabularyEntry

0..*

specialization

Components::DataStructureComponent

The role played by the component for the data set for purposes of harmonization and integration, typically regarding geography, time, etc.

SpecializationRole

0..1

Associations#

Associations
Associations#

Direction

Association

Description

Multiplicity of SyntheticIdComponent

Package of Other Class

Other Class

Multiplicity of other class

Aggregation Kind

Inherited from

from

DataStructureComponent isDefinedBy RepresentedVariable

Data structure component is defined by zero to one represented variable.

0..*

Conceptual

RepresentedVariable

0..1

none

Components::DataStructureComponent

to

DataPoint correspondsTo DataStructureComponent

0..*

DataDescription

DataPoint

0..*

none

Components::DataStructureComponent

to

DataStructure has DataStructureComponent

0..*

DataDescription

DataStructure

0..1

none

Components::DataStructureComponent

to

KeyMember isBasedOn DataStructureComponent

0..*

DataDescription

KeyMember

0..*

none

Components::DataStructureComponent

to

AttributeComponent qualifies DataStructureComponent

0..*

Components

AttributeComponent

0..*

none

Components::DataStructureComponent

to

ComponentPosition indexes DataStructureComponent

0..1

Components

ComponentPosition

0..*

none

Components::DataStructureComponent

to

ForeignKeyComponent correspondsTo DataStructureComponent

1..1

Components

ForeignKeyComponent

0..1

none

Components::DataStructureComponent

to

PrimaryKeyComponent correspondsTo DataStructureComponent

1..1

Components

PrimaryKeyComponent

0..1

none

Components::DataStructureComponent

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 SyntheticIdComponent (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-KeyValue-SyntheticIdComponent"
 5                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#SyntheticIdComponent"
 6                  xmi:type="uml:Class">
 7   <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyValue-SyntheticIdComponent-ownedComment"
 8                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#SyntheticIdComponent-ownedComment"
 9                  xmi:type="uml:Comment">
10      <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyValue-SyntheticIdComponent"/>
11      <body>Definition
12============
13Persistent and unique identifier (PIDs) to provide standarized, long-lasting identification. 
14
15Examples
16==========
17UUIDs, GUIDs, DOIs, URNs or any other unique id generation framework.
18
19Explanatory notes
20===================
21This PIDs either complement or replace identifier and dimension components. 
22They complement them when there is a need for having a globally unique identifier as part of an instance key. They replace them when identier components are not available (e.g. after de-identification for confidentiality).</body>
23   </ownedComment>
24   <name>SyntheticIdComponent</name>
25   <generalization xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-KeyValue-SyntheticIdComponent-generalization"
26                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#SyntheticIdComponent-generalization"
27                    xmi:type="uml:Generalization">
28      <general xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-Components-DataStructureComponent"/>
29   </generalization>
30</packagedElement>

Fragment for the class SyntheticIdComponent (entire XML Schema)

 1<xs:element name="SyntheticIdComponent"
 2            type="SyntheticIdComponentXsdType"
 3            xml:id="SyntheticIdComponent">
 4  <!-- based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyValue::SyntheticIdComponent -->
 5  <xs:annotation>
 6    <xs:documentation>Definition
 7          ============
 8          Persistent and unique identifier (PIDs) to provide standarized, long-lasting identification. 
 9          
10          Examples
11          ==========
12          UUIDs, GUIDs, DOIs, URNs or any other unique id generation framework.
13          
14          Explanatory notes
15          ===================
16          This PIDs either complement or replace identifier and dimension components. 
17          They complement them when there is a need for having a globally unique identifier as part of an instance key. They replace them when identier components are not available (e.g. after de-identification for confidentiality).</xs:documentation>
18  </xs:annotation>
19</xs:element>
20<xs:complexType name="SyntheticIdComponentXsdType"
21                xml:id="SyntheticIdComponentXsdType">
22  <xs:annotation>
23    <xs:documentation>Definition
24          ============
25          Persistent and unique identifier (PIDs) to provide standarized, long-lasting identification. 
26          
27          Examples
28          ==========
29          UUIDs, GUIDs, DOIs, URNs or any other unique id generation framework.
30          
31          Explanatory notes
32          ===================
33          This PIDs either complement or replace identifier and dimension components. 
34          They complement them when there is a need for having a globally unique identifier as part of an instance key. They replace them when identier components are not available (e.g. after de-identification for confidentiality).</xs:documentation>
35  </xs:annotation>
36  <xs:complexContent>
37    <xs:extension base="DataStructureComponentXsdType">
38      
39    </xs:extension>
40  </xs:complexContent>
41</xs:complexType>

Fragment for the class SyntheticIdComponent (entire JSON Schema)

  1"cls-SyntheticIdComponent": {
  2  "description": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/SyntheticIdComponent",
  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": "SyntheticIdComponent"
 14    },
 15    "identifier": {
 16      "$comment": "cardinality 0..1 – from cdi:DataStructureComponent",
 17      "$ref": "#/defs/dt-Identifier"
 18    },
 19    "semantic": {
 20      "$comment": "cardinality 0..-1 – from cdi:DataStructureComponent",
 21      "if": { "type": "array" },
 22      "then": { "items": { "$ref": "#/defs/dt-PairedControlledVocabularyEntry" } },
 23      "else": { "$ref": "#/defs/dt-PairedControlledVocabularyEntry" }
 24    },
 25    "specialization": {
 26      "$comment": "cardinality 0..1 – from cdi:DataStructureComponent",
 27      "$ref": "#/defs/dt-SpecializationRole"
 28    },
 29    "isDefinedBy_RepresentedVariable": {
 30      "description": "DataStructureComponent_isDefinedBy_RepresentedVariable",
 31      "$comment": "cardinality 0..1",
 32       "$ref": "#/defs/target-RepresentedVariable"
 33    },
 34    "correspondsTo_DataStructureComponent_OF_DataPoint": {
 35      "description": "DataPoint_correspondsTo_DataStructureComponent",
 36      "$comment": "cardinality 0..-1",
 37      "anyOf": [
 38        {
 39          "$ref": "#/defs/target-DataPoint"
 40        },
 41        {
 42          "type": "array",
 43          "items": {
 44            "$ref": "#/defs/target-DataPoint"
 45          }
 46        }
 47      ]
 48    },
 49    "has_DataStructureComponent_OF_DataStructure": {
 50      "description": "DataStructure_has_DataStructureComponent",
 51      "$comment": "cardinality 0..1",
 52      "$ref": "#/defs/target-DataStructure"
 53    },
 54    "isBasedOn_OF_KeyMember": {
 55      "description": "KeyMember_isBasedOn_DataStructureComponent",
 56      "$comment": "cardinality 0..-1",
 57      "anyOf": [
 58        {
 59          "$ref": "#/defs/target-KeyMember"
 60        },
 61        {
 62          "type": "array",
 63          "items": {
 64            "$ref": "#/defs/target-KeyMember"
 65          }
 66        }
 67      ]
 68    },
 69    "qualifies_OF_AttributeComponent": {
 70      "description": "AttributeComponent_qualifies_DataStructureComponent",
 71      "$comment": "cardinality 0..-1",
 72      "anyOf": [
 73        {
 74          "$ref": "#/defs/target-AttributeComponent"
 75        },
 76        {
 77          "type": "array",
 78          "items": {
 79            "$ref": "#/defs/target-AttributeComponent"
 80          }
 81        }
 82      ]
 83    },
 84    "indexes_OF_ComponentPosition": {
 85      "description": "ComponentPosition_indexes_DataStructureComponent",
 86      "$comment": "cardinality 0..-1",
 87      "anyOf": [
 88        {
 89          "$ref": "#/defs/target-ComponentPosition"
 90        },
 91        {
 92          "type": "array",
 93          "items": {
 94            "$ref": "#/defs/target-ComponentPosition"
 95          }
 96        }
 97      ]
 98    },
 99    "correspondsTo_DataStructureComponent_OF_ForeignKeyComponent": {
100      "description": "ForeignKeyComponent_correspondsTo_DataStructureComponent",
101      "$comment": "cardinality 0..1",
102      "$ref": "#/defs/target-ForeignKeyComponent"
103    },
104    "correspondsTo_DataStructureComponent_OF_PrimaryKeyComponent": {
105      "description": "PrimaryKeyComponent_correspondsTo_DataStructureComponent",
106      "$comment": "cardinality 0..1",
107      "$ref": "#/defs/target-PrimaryKeyComponent"
108    },
109    "sameAs": {
110      "$ref": "#/defs/owl:sameAs"
111    }
112  },
113  "required": ["@type"],
114  "additionalProperties": false
115},
116"target-SyntheticIdComponent": {
117  "description": "all subclasses of http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/SyntheticIdComponent",
118  "anyOf": [
119    { "$ref": "#/defs/cls-SyntheticIdComponent" },
120    { "type": "string", "format": "iri-reference" }
121  ]
122},

Fragment for the class SyntheticIdComponent (main ontology)

1# class SyntheticIdComponent
2# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyValue::SyntheticIdComponent
3cdi:SyntheticIdComponent
4  a rdfs:Class, owl:Class, ucmis:Class;
5  rdfs:label "SyntheticIdComponent";
6  rdfs:comment "Definition\n============\nPersistent and unique identifier (PIDs) to provide standarized, long-lasting identification. \n\nExamples\n==========\nUUIDs, GUIDs, DOIs, URNs or any other unique id generation framework.\n\nExplanatory notes\n===================\nThis PIDs either complement or replace identifier and dimension components. \nThey complement them when there is a need for having a globally unique identifier as part of an instance key. They replace them when identier components are not available (e.g. after de-identification for confidentiality)."@en;
7  rdfs:subClassOf cdi:DataStructureComponent;
8.

Fragment for the class SyntheticIdComponent (entire JSON-LD)

 1{
 2  "@context": [
 3    "DataStructureComponent.jsonld",
 4    {
 5      "cdi": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/",
 6      "xsd": "http://www.w3.org/2001/XMLSchema#",
 7
 8      
 9      " comment ": "tag:json-should-support-trailing-commas"
10    }
11  ],
12  "generatedBy": "This code was generated by the Eclipse Acceleo project UCMIS M2T on 2025-08-29 14:34:51.",
13  "basedOn": "based on the UML data type DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyValue::SyntheticIdComponent"
14}

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

 1# class SyntheticIdComponent
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyValue::SyntheticIdComponent
 3<#SyntheticIdComponent> a sh:NodeShape;
 4    sh:targetClass cdi:SyntheticIdComponent;
 5	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/SyntheticIdComponent";
 6	sh:closed true;
 7	sh:ignoredProperties ( owl:sameAs );
 8    sh:property [
 9			sh:path rdf:type;
10			sh:in (   cdi:SyntheticIdComponent
11			 ) ;
12    ];
13    # attributes
14    # associations from SyntheticIdComponent
15    # associations to SyntheticIdComponent
16
17    # ---- superclass: DataStructureComponent
18    # attributes
19    sh:property <#DataStructureComponent-identifier>;
20    sh:property <#DataStructureComponent-semantic>;
21    sh:property <#DataStructureComponent-specialization>;
22    # associations from DataStructureComponent
23    sh:property <#DataStructureComponent_isDefinedBy_RepresentedVariable>;
24    # associations to DataStructureComponent
25    sh:property <#rev_DataPoint_correspondsTo_DataStructureComponent>;
26    sh:property <#rev_DataStructure_has_DataStructureComponent>;
27    sh:property <#rev_KeyMember_isBasedOn_DataStructureComponent>;
28    sh:property <#rev_AttributeComponent_qualifies_DataStructureComponent>;
29    sh:property <#rev_ComponentPosition_indexes_DataStructureComponent>;
30    sh:property <#rev_ForeignKeyComponent_correspondsTo_DataStructureComponent>;
31    sh:property <#rev_PrimaryKeyComponent_correspondsTo_DataStructureComponent>;
32
33
34
35
36
37.

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

1# class SyntheticIdComponent
2# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyValue::SyntheticIdComponent
3cdi:SyntheticIdComponentShape CLOSED {
4	a [cdi:SyntheticIdComponent];
5		&cdi:DataStructureComponentProperties;
6	}