DescriptorVariable#

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

Definition#

Variable that provides codes for variable identification in the context of a data structure. Variable playing the role of a variable descriptor component.

Examples#

Consider two variables, i.e. income and age, with values apearing in the same column. Codes “income” and “age” are descriptors that appear in the descriptor value domain corresponding to the descriptor variable.

Diagram#

Diagram

Inheritance#

Inheritance
      ᐊ── Conceptual::InstanceVariable
        ᐊ── Long::DescriptorVariable

Attributes#

Attributes
Attributes#

Name

Inherited from

Description

Data Type

Multiplicity

Default value

physicalDataType

Conceptual::InstanceVariable

The data type of this variable. Supports the optional use of an external controlled vocabulary.

ControlledVocabularyEntry

0..1

platformType

Conceptual::InstanceVariable

Describes the application or technical system context in which the variable has been realized. Typically a statistical processing package or other processing environment.

ControlledVocabularyEntry

0..1

source

Conceptual::InstanceVariable

Reference capturing provenance information.

Reference

0..1

variableFunction

Conceptual::InstanceVariable

Immutable characteristic of the variable such as geographic designator, weight, temporal designation, etc.

ControlledVocabularyEntry

0..*

describedUnitOfMeasure

Conceptual::RepresentedVariable

The unit in which the data values are measured (kg, pound, euro), expressed as a value from a controlled system of entries (i.e., QDT). Supports the provision of an identifier for the entry in the authoritative source (a URI, etc.), and the specific vocabulary.

ControlledVocabularyEntry

0..1

hasIntendedDataType

Conceptual::RepresentedVariable

The data type intended to be used by this variable. Supports the optional use of an external controlled vocabulary.

ControlledVocabularyEntry

0..1

simpleUnitOfMeasure

Conceptual::RepresentedVariable

The unit in which the data values are measured (kg, pound, euro), expressed as a simple string, in cases where no additional information is available (in the legacy system) or needed (as in the case of broad agreement within the community of use [i.e., ISO country codes, currencies, etc. in SDMX])

String

0..1

descriptiveText

Conceptual::ConceptualVariable

A short natural language account of the characteristics of the object.

InternationalString

0..1

unitOfMeasureKind

Conceptual::ConceptualVariable

Kind of unit of measure, so that it may be prone to translation to equivalent UOMs. Example values include “acceleration,” “temperature,” “salinity”, etc. This description exists at the conceptual level, indicating a limitation on the type of representations which may be used for the variable as it is made more concrete.

ControlledVocabularyEntry

0..1

catalogDetails

Conceptual::Concept

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

definition

Conceptual::Concept

Natural language statement conveying the meaning of a concept, differentiating it from other concepts. Supports the use of multiple languages and structured text. ‘externalDefinition’ can’t be used if ‘definition’ is used.

InternationalString

0..1

displayLabel

Conceptual::Concept

A human-readable display label for the object. Supports the use of multiple languages. Repeat for labels with different content, for example, labels with differing length limitations.

LabelForDisplay

0..*

externalDefinition

Conceptual::Concept

A reference to an external definition of a concept (that is, a concept which is described outside the content of the DDI-CDI metadata description). An example is a SKOS concept. The definition property is assumed to duplicate the external one referenced if externalDefinition is used. Other corresponding properties are assumed to be included unchanged if used.

Reference

0..1

identifier

Conceptual::Concept

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

Identifier

0..1

name

Conceptual::Concept

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..*

Associations#

Associations
Associations#

Direction

Association

Description

Multiplicity of DescriptorVariable

Package of Other Class

Other Class

Multiplicity of other class

Aggregation Kind

Inherited from

to

CategoryStatistic appliesTo InstanceVariable

1..*

Representations

CategoryStatistic

0..*

none

Conceptual::InstanceVariable

to

DataPoint isDescribedBy InstanceVariable

The instance variable delimits the values which can populate a data point. Data point is described by one instance variable.

1..1

DataDescription

DataPoint

0..*

none

Conceptual::InstanceVariable

to

Datum isBoundedBy InstanceVariable

A datum is bounded by an instance variable. The datum is drawn from a set of values, either substantive or sentinel described by the value domain of the instance variable.

1..*

DataDescription

Datum

0..*

none

Conceptual::InstanceVariable

from

InstanceVariable has PhysicalSegmentLayout

0..*

FormatDescription

PhysicalSegmentLayout

0..*

none

Conceptual::InstanceVariable

from

InstanceVariable has ValueMapping

0..*

FormatDescription

ValueMapping

0..1

shared

Conceptual::InstanceVariable

to

InstanceVariableMap hasSource InstanceVariable

The source instance variable for the relationship.

1..*

FormatDescription

InstanceVariableMap

0..*

none

Conceptual::InstanceVariable

to

InstanceVariableMap hasTarget InstanceVariable

Target instance variables if a directional relation is used.

0..*

FormatDescription

InstanceVariableMap

0..*

none

Conceptual::InstanceVariable

to

LogicalRecord has InstanceVariable

0..*

FormatDescription

LogicalRecord

0..*

none

Conceptual::InstanceVariable

to

PhysicalDataSet has InstanceVariable

0..*

FormatDescription

PhysicalDataSet

0..*

none

Conceptual::InstanceVariable

to

DataStructureComponent isDefinedBy RepresentedVariable

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

0..1

Components

DataStructureComponent

0..*

none

Conceptual::RepresentedVariable

from

RepresentedVariable takesSentinelValuesFrom SentinelValueDomain

A represented variable may have more than one sets of sentinel value domains, one for each type of software platform on which related instance variables might be instantiated. All of the sentinel value domains must have sentinel conceptual domains that correspond exactly. This allows codes for missing values to be explicitly matched across platforms.

0..*

Representations

SentinelValueDomain

0..*

none

Conceptual::RepresentedVariable

from

RepresentedVariable takesSubstantiveValuesFrom SubstantiveValueDomain

The substantive representation (substantive value domain) of the variable. This is equivalent to the relationship “Measures” in the Generic Statistical Information Model (GSIM) although GSIM makes no distinction between substantive and sentinel values.

0..*

Representations

SubstantiveValueDomain

0..1

none

Conceptual::RepresentedVariable

from

ConceptualVariable measures UnitType

The measures association is intended to describe specific relationships between the ConceptualVariable and UnitType classes, and similar relationships between their sub-classes. This is documented in section VII.D.5 of the “DDI-Cross Domain Integration: Detailed Model” document.

0..*

Conceptual

UnitType

0..1

none

Conceptual::ConceptualVariable

from

ConceptualVariable takesSentinelConceptsFrom SentinelConceptualDomain

Identifies the conceptual domain containing the set of sentinel concepts used to describe the conceptual variable.

0..*

Conceptual

SentinelConceptualDomain

0..1

none

Conceptual::ConceptualVariable

from

ConceptualVariable takesSubstantiveConceptsFrom SubstantiveConceptualDomain

Identifies the substantive conceptual domain containing the set of substantive concepts used to describe the conceptual variable.

0..*

Conceptual

SubstantiveConceptualDomain

0..1

none

Conceptual::ConceptualVariable

to

VariableCollection has ConceptualVariable

Variable collection has zero to many conceptual variables.

0..*

Conceptual

VariableCollection

0..*

none

Conceptual::ConceptualVariable

to

VariablePosition indexes ConceptualVariable

Variable position indexes a conceptual variable.

1..1

Conceptual

VariablePosition

0..*

none

Conceptual::ConceptualVariable

to

VariableRelationship hasSource ConceptualVariable

0..*

Conceptual

VariableRelationship

0..*

none

Conceptual::ConceptualVariable

to

VariableRelationship hasTarget ConceptualVariable

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

0..*

Conceptual

VariableRelationship

0..*

none

Conceptual::ConceptualVariable

to

AgentListing isDefinedBy Concept

The conceptual basis for the collection of members.

0..*

Agents

AgentListing

0..*

none

Conceptual::Concept

to

ClassificationFamily isDefinedBy Concept

The conceptual basis for the collection of members.

0..*

Representations

ClassificationFamily

0..*

none

Conceptual::Concept

to

ClassificationIndex isDefinedBy Concept

The conceptual basis for the collection of members.

0..*

Representations

ClassificationIndex

0..*

none

Conceptual::Concept

to

ClassificationSeries isDefinedBy Concept

The conceptual basis for the collection of members.

0..*

Representations

ClassificationSeries

0..*

none

Conceptual::Concept

to

Concept uses Concept

The uses association is intended to describe specific relationships between Concepts and several of its sub-classes. This is documented in section VII.D.5 of the “DDI-Cross Domain Integration: Detailed Model” document.

0..*

Conceptual

Concept

0..*

none

Conceptual::Concept

to

ConceptMap hasSource Concept

Concept map has one to many source concepts.

1..*

Conceptual

ConceptMap

0..*

none

Conceptual::Concept

to

ConceptMap hasTarget Concept

Concept map has one to many target concepts.

1..*

Conceptual

ConceptMap

0..*

none

Conceptual::Concept

to

ConceptRelationship hasSource Concept

Restricts source object to concept for the relationship.

1..1

Conceptual

ConceptRelationship

0..*

none

Conceptual::Concept

to

ConceptRelationship hasTarget Concept

Restricts target object to concept for the relationship.

1..1

Conceptual

ConceptRelationship

0..*

none

Conceptual::Concept

to

ConceptSystem has Concept

Concept system has zero to many concepts.

0..*

Conceptual

ConceptSystem

0..*

none

Conceptual::Concept

to

ConceptSystem isDefinedBy Concept

Concept system is defined by zero to many concepts. The conceptual basis for the collection of members.

0..*

Conceptual

ConceptSystem

0..*

none

Conceptual::Concept

to

DataStore isDefinedBy Concept

The conceptual basis for the collection of members.

0..*

FormatDescription

DataStore

0..*

none

Conceptual::Concept

to

EnumerationDomain isDefinedBy Concept

The conceptual basis for the collection of members.

0..*

Representations

EnumerationDomain

0..*

none

Conceptual::Concept

to

Level isDefinedBy Concept

A concept or concept sub-type which describes the level.

0..1

Representations

Level

0..*

none

Conceptual::Concept

to

LogicalRecord isDefinedBy Concept

The conceptual basis for the collection of members.

0..*

FormatDescription

LogicalRecord

0..*

none

Conceptual::Concept

to

PhysicalDataSet isDefinedBy Concept

The conceptual basis for the collection of members.

0..*

FormatDescription

PhysicalDataSet

0..*

none

Conceptual::Concept

to

PhysicalRecordSegment isDefinedBy Concept

The conceptual basis for the collection of members.

0..*

FormatDescription

PhysicalRecordSegment

0..*

none

Conceptual::Concept

to

PhysicalSegmentLayout isDefinedBy Concept

The conceptual basis for the collection of members.

0..*

FormatDescription

PhysicalSegmentLayout

0..*

none

Conceptual::Concept

to

VariableCollection isDefinedBy Concept

The conceptual basis for the collection of members.

0..*

Conceptual

VariableCollection

0..*

none

Conceptual::Concept

to

VariableDescriptorComponent isDefinedBy DescriptorVariable

0..1

Components

VariableDescriptorComponent

0..*

none

own class

from

DescriptorVariable takesSubstantiveValuesFrom DescriptorValueDomain

0..*

- own package -

DescriptorValueDomain

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 DescriptorVariable (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-Long-DescriptorVariable"
 5                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DescriptorVariable"
 6                  xmi:type="uml:Class">
 7   <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Long-DescriptorVariable-ownedComment"
 8                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DescriptorVariable-ownedComment"
 9                  xmi:type="uml:Comment">
10      <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-Long-DescriptorVariable"/>
11      <body>Definition
12============
13Variable that provides codes for variable identification in the context of a data structure.
14Variable playing the role of a variable descriptor component.
15
16Examples
17==========
18Consider two variables, i.e. income and age, with values apearing in the same column. 
19Codes "income" and "age" are descriptors that appear in the descriptor value domain corresponding to the descriptor variable.</body>
20   </ownedComment>
21   <name>DescriptorVariable</name>
22   <generalization xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Long-DescriptorVariable-generalization"
23                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DescriptorVariable-generalization"
24                    xmi:type="uml:Generalization">
25      <general xmi:idref="DDICDIModels-DDICDILibrary-Classes-Conceptual-InstanceVariable"/>
26   </generalization>
27   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Long-DescriptorVariable-ownedAttribute"
28                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DescriptorVariable-ownedAttribute"
29                    xmi:type="uml:Property">
30      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Long-DescriptorVariable-ownedAttribute-lowerValue"
31                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DescriptorVariable-ownedAttribute-lowerValue"
32                   xmi:type="uml:LiteralInteger"/>
33      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-DataDescription-Long-DescriptorVariable-ownedAttribute-upperValue"
34                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#DescriptorVariable-ownedAttribute-upperValue"
35                   xmi:type="uml:LiteralUnlimitedNatural">
36         <value>1</value>
37      </upperValue>
38      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-Long-DescriptorVariable_takesSubstantiveValuesFrom_DescriptorValueDomain"/>
39      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-DataDescription-Long-DescriptorValueDomain"/>
40   </ownedAttribute>
41</packagedElement>

Fragment for the class DescriptorVariable (entire XML Schema)

 1<xs:element name="DescriptorVariable"
 2            type="DescriptorVariableXsdType"
 3            xml:id="DescriptorVariable">
 4  <!-- based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Long::DescriptorVariable -->
 5  <xs:annotation>
 6    <xs:documentation>Definition
 7          ============
 8          Variable that provides codes for variable identification in the context of a data structure.
 9          Variable playing the role of a variable descriptor component.
10          
11          Examples
12          ==========
13          Consider two variables, i.e. income and age, with values apearing in the same column. 
14          Codes "income" and "age" are descriptors that appear in the descriptor value domain corresponding to the descriptor variable.</xs:documentation>
15  </xs:annotation>
16</xs:element>
17<xs:complexType name="DescriptorVariableXsdType"
18                xml:id="DescriptorVariableXsdType">
19  <xs:annotation>
20    <xs:documentation>Definition
21          ============
22          Variable that provides codes for variable identification in the context of a data structure.
23          Variable playing the role of a variable descriptor component.
24          
25          Examples
26          ==========
27          Consider two variables, i.e. income and age, with values apearing in the same column. 
28          Codes "income" and "age" are descriptors that appear in the descriptor value domain corresponding to the descriptor variable.</xs:documentation>
29  </xs:annotation>
30  <xs:complexContent>
31    <xs:extension base="InstanceVariableXsdType">
32      <xs:sequence>
33        <xs:element name="DescriptorVariable_takesSubstantiveValuesFrom_DescriptorValueDomain"
34                    minOccurs="0"
35                    maxOccurs="1"
36                    xml:id="DescriptorVariable_takesSubstantiveValuesFrom_DescriptorValueDomain">
37          <xs:annotation>
38            <xs:documentation></xs:documentation>
39          </xs:annotation>
40          <xs:complexType>
41            <xs:complexContent>
42              <xs:restriction base="AssociationReferenceXsdType">
43                <xs:sequence>
44                  <xs:element name="ddiReference"
45                              type="InternationalRegistrationDataIdentifierXsdType"
46                              minOccurs="0"
47                              maxOccurs="1"
48                              xml:id="DescriptorVariable_takesSubstantiveValuesFrom_DescriptorValueDomain-ddiReference"/>
49                  <xs:element name="validType"
50                              minOccurs="0"
51                              maxOccurs="unbounded"
52                              xml:id="DescriptorVariable_takesSubstantiveValuesFrom_DescriptorValueDomain-validType">
53                    <xs:simpleType>
54                      <xs:restriction base="xs:NMTOKEN">
55                        <xs:enumeration value="DescriptorValueDomain"/>
56                      </xs:restriction>
57                    </xs:simpleType>
58                  </xs:element>
59                </xs:sequence>
60              </xs:restriction>
61            </xs:complexContent>
62          </xs:complexType>
63        </xs:element>
64      </xs:sequence>
65    </xs:extension>
66  </xs:complexContent>
67</xs:complexType>

Fragment for the class DescriptorVariable (entire JSON Schema)

  1"cls-DescriptorVariable": {
  2  "description": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DescriptorVariable",
  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": "DescriptorVariable"
 14    },
 15    "physicalDataType": {
 16      "$comment": "cardinality 0..1 – from cdi:InstanceVariable",
 17      "$ref": "#/defs/dt-ControlledVocabularyEntry"
 18    },
 19    "platformType": {
 20      "$comment": "cardinality 0..1 – from cdi:InstanceVariable",
 21      "$ref": "#/defs/dt-ControlledVocabularyEntry"
 22    },
 23    "source": {
 24      "$comment": "cardinality 0..1 – from cdi:InstanceVariable",
 25      "$ref": "#/defs/dt-Reference"
 26    },
 27    "variableFunction": {
 28      "$comment": "cardinality 0..-1 – from cdi:InstanceVariable",
 29      "if": { "type": "array" },
 30      "then": { "items": { "$ref": "#/defs/dt-ControlledVocabularyEntry" } },
 31      "else": { "$ref": "#/defs/dt-ControlledVocabularyEntry" }
 32    },
 33    "describedUnitOfMeasure": {
 34      "$comment": "cardinality 0..1 – from cdi:RepresentedVariable",
 35      "$ref": "#/defs/dt-ControlledVocabularyEntry"
 36    },
 37    "hasIntendedDataType": {
 38      "$comment": "cardinality 0..1 – from cdi:RepresentedVariable",
 39      "$ref": "#/defs/dt-ControlledVocabularyEntry"
 40    },
 41    "simpleUnitOfMeasure": {
 42      "$comment": "cardinality 0..1 – from cdi:RepresentedVariable",
 43      "$ref": "#/defs/xsd:string"
 44    },
 45    "descriptiveText": {
 46      "$comment": "cardinality 0..1 – from cdi:ConceptualVariable",
 47      "$ref": "#/defs/dt-InternationalString"
 48    },
 49    "unitOfMeasureKind": {
 50      "$comment": "cardinality 0..1 – from cdi:ConceptualVariable",
 51      "$ref": "#/defs/dt-ControlledVocabularyEntry"
 52    },
 53    "catalogDetails": {
 54      "$comment": "cardinality 0..1 – from cdi:Concept",
 55      "$ref": "#/defs/dt-CatalogDetails"
 56    },
 57    "definition": {
 58      "$comment": "cardinality 0..1 – from cdi:Concept",
 59      "$ref": "#/defs/dt-InternationalString"
 60    },
 61    "displayLabel": {
 62      "$comment": "cardinality 0..-1 – from cdi:Concept",
 63      "if": { "type": "array" },
 64      "then": { "items": { "$ref": "#/defs/dt-LabelForDisplay" } },
 65      "else": { "$ref": "#/defs/dt-LabelForDisplay" }
 66    },
 67    "externalDefinition": {
 68      "$comment": "cardinality 0..1 – from cdi:Concept",
 69      "$ref": "#/defs/dt-Reference"
 70    },
 71    "identifier": {
 72      "$comment": "cardinality 0..1 – from cdi:Concept",
 73      "$ref": "#/defs/dt-Identifier"
 74    },
 75    "name": {
 76      "$comment": "cardinality 0..-1 – from cdi:Concept",
 77      "if": { "type": "array" },
 78      "then": { "items": { "$ref": "#/defs/dt-ObjectName" } },
 79      "else": { "$ref": "#/defs/dt-ObjectName" }
 80    },
 81    "takesSubstantiveValuesFrom_DescriptorValueDomain": {
 82      "description": "DescriptorVariable_takesSubstantiveValuesFrom_DescriptorValueDomain",
 83      "$comment": "cardinality 0..1",
 84       "$ref": "#/defs/target-DescriptorValueDomain"
 85    },
 86    "has_PhysicalSegmentLayout": {
 87      "description": "InstanceVariable_has_PhysicalSegmentLayout",
 88      "$comment": "cardinality 0..-1",
 89      "anyOf": [
 90        {
 91          "$ref": "#/defs/target-PhysicalSegmentLayout"
 92        },
 93        {
 94          "type": "array",
 95          "items": {
 96            "$ref": "#/defs/target-PhysicalSegmentLayout"
 97          }
 98        }
 99      ]
100    },
101    "has_ValueMapping": {
102      "description": "InstanceVariable_has_ValueMapping",
103      "$comment": "cardinality 0..1",
104       "$ref": "#/defs/target-ValueMapping"
105    },
106    "takesSentinelValuesFrom": {
107      "description": "RepresentedVariable_takesSentinelValuesFrom_SentinelValueDomain",
108      "$comment": "cardinality 0..-1",
109      "anyOf": [
110        {
111          "$ref": "#/defs/target-SentinelValueDomain"
112        },
113        {
114          "type": "array",
115          "items": {
116            "$ref": "#/defs/target-SentinelValueDomain"
117          }
118        }
119      ]
120    },
121    "takesSubstantiveValuesFrom_SubstantiveValueDomain": {
122      "description": "RepresentedVariable_takesSubstantiveValuesFrom_SubstantiveValueDomain",
123      "$comment": "cardinality 0..1",
124       "$ref": "#/defs/target-SubstantiveValueDomain"
125    },
126    "measures": {
127      "description": "ConceptualVariable_measures_UnitType",
128      "$comment": "cardinality 0..1",
129       "$ref": "#/defs/target-UnitType"
130    },
131    "takesSentinelConceptsFrom": {
132      "description": "ConceptualVariable_takesSentinelConceptsFrom_SentinelConceptualDomain",
133      "$comment": "cardinality 0..1",
134       "$ref": "#/defs/target-SentinelConceptualDomain"
135    },
136    "takesSubstantiveConceptsFrom": {
137      "description": "ConceptualVariable_takesSubstantiveConceptsFrom_SubstantiveConceptualDomain",
138      "$comment": "cardinality 0..1",
139       "$ref": "#/defs/target-SubstantiveConceptualDomain"
140    },
141    "uses_Concept": {
142      "description": "Concept_uses_Concept",
143      "$comment": "cardinality 0..-1",
144      "anyOf": [
145        {
146          "$ref": "#/defs/target-Concept"
147        },
148        {
149          "type": "array",
150          "items": {
151            "$ref": "#/defs/target-Concept"
152          }
153        }
154      ]
155    },
156    "isDefinedBy_DescriptorVariable_OF_VariableDescriptorComponent": {
157      "description": "VariableDescriptorComponent_isDefinedBy_DescriptorVariable",
158      "$comment": "cardinality 0..-1",
159      "anyOf": [
160        {
161          "$ref": "#/defs/target-VariableDescriptorComponent"
162        },
163        {
164          "type": "array",
165          "items": {
166            "$ref": "#/defs/target-VariableDescriptorComponent"
167          }
168        }
169      ]
170    },
171    "appliesTo_OF_CategoryStatistic": {
172      "description": "CategoryStatistic_appliesTo_InstanceVariable",
173      "$comment": "cardinality 0..-1",
174      "anyOf": [
175        {
176          "$ref": "#/defs/target-CategoryStatistic"
177        },
178        {
179          "type": "array",
180          "items": {
181            "$ref": "#/defs/target-CategoryStatistic"
182          }
183        }
184      ]
185    },
186    "isDescribedBy_OF_DataPoint": {
187      "description": "DataPoint_isDescribedBy_InstanceVariable",
188      "$comment": "cardinality 0..-1",
189      "anyOf": [
190        {
191          "$ref": "#/defs/target-DataPoint"
192        },
193        {
194          "type": "array",
195          "items": {
196            "$ref": "#/defs/target-DataPoint"
197          }
198        }
199      ]
200    },
201    "isBoundedBy_OF_Datum": {
202      "description": "Datum_isBoundedBy_InstanceVariable",
203      "$comment": "cardinality 0..-1",
204      "anyOf": [
205        {
206          "$ref": "#/defs/target-Datum"
207        },
208        {
209          "type": "array",
210          "items": {
211            "$ref": "#/defs/target-Datum"
212          }
213        }
214      ]
215    },
216    "hasSource_OF_InstanceVariableMap": {
217      "description": "InstanceVariableMap_hasSource_InstanceVariable",
218      "$comment": "cardinality 0..-1",
219      "anyOf": [
220        {
221          "$ref": "#/defs/target-InstanceVariableMap"
222        },
223        {
224          "type": "array",
225          "items": {
226            "$ref": "#/defs/target-InstanceVariableMap"
227          }
228        }
229      ]
230    },
231    "hasTarget_OF_InstanceVariableMap": {
232      "description": "InstanceVariableMap_hasTarget_InstanceVariable",
233      "$comment": "cardinality 0..-1",
234      "anyOf": [
235        {
236          "$ref": "#/defs/target-InstanceVariableMap"
237        },
238        {
239          "type": "array",
240          "items": {
241            "$ref": "#/defs/target-InstanceVariableMap"
242          }
243        }
244      ]
245    },
246    "has_InstanceVariable_OF_LogicalRecord": {
247      "description": "LogicalRecord_has_InstanceVariable",
248      "$comment": "cardinality 0..-1",
249      "anyOf": [
250        {
251          "$ref": "#/defs/target-LogicalRecord"
252        },
253        {
254          "type": "array",
255          "items": {
256            "$ref": "#/defs/target-LogicalRecord"
257          }
258        }
259      ]
260    },
261    "has_InstanceVariable_OF_PhysicalDataSet": {
262      "description": "PhysicalDataSet_has_InstanceVariable",
263      "$comment": "cardinality 0..-1",
264      "anyOf": [
265        {
266          "$ref": "#/defs/target-PhysicalDataSet"
267        },
268        {
269          "type": "array",
270          "items": {
271            "$ref": "#/defs/target-PhysicalDataSet"
272          }
273        }
274      ]
275    },
276    "isDefinedBy_RepresentedVariable_OF_DataStructureComponent": {
277      "description": "DataStructureComponent_isDefinedBy_RepresentedVariable",
278      "$comment": "cardinality 0..-1",
279      "anyOf": [
280        {
281          "$ref": "#/defs/target-DataStructureComponent"
282        },
283        {
284          "type": "array",
285          "items": {
286            "$ref": "#/defs/target-DataStructureComponent"
287          }
288        }
289      ]
290    },
291    "has_ConceptualVariable_OF_VariableCollection": {
292      "description": "VariableCollection_has_ConceptualVariable",
293      "$comment": "cardinality 0..-1",
294      "anyOf": [
295        {
296          "$ref": "#/defs/target-VariableCollection"
297        },
298        {
299          "type": "array",
300          "items": {
301            "$ref": "#/defs/target-VariableCollection"
302          }
303        }
304      ]
305    },
306    "indexes_OF_VariablePosition": {
307      "description": "VariablePosition_indexes_ConceptualVariable",
308      "$comment": "cardinality 0..-1",
309      "anyOf": [
310        {
311          "$ref": "#/defs/target-VariablePosition"
312        },
313        {
314          "type": "array",
315          "items": {
316            "$ref": "#/defs/target-VariablePosition"
317          }
318        }
319      ]
320    },
321    "hasSource_OF_VariableRelationship": {
322      "description": "VariableRelationship_hasSource_ConceptualVariable",
323      "$comment": "cardinality 0..-1",
324      "anyOf": [
325        {
326          "$ref": "#/defs/target-VariableRelationship"
327        },
328        {
329          "type": "array",
330          "items": {
331            "$ref": "#/defs/target-VariableRelationship"
332          }
333        }
334      ]
335    },
336    "hasTarget_OF_VariableRelationship": {
337      "description": "VariableRelationship_hasTarget_ConceptualVariable",
338      "$comment": "cardinality 0..-1",
339      "anyOf": [
340        {
341          "$ref": "#/defs/target-VariableRelationship"
342        },
343        {
344          "type": "array",
345          "items": {
346            "$ref": "#/defs/target-VariableRelationship"
347          }
348        }
349      ]
350    },
351    "isDefinedBy_Concept_OF_AgentListing": {
352      "description": "AgentListing_isDefinedBy_Concept",
353      "$comment": "cardinality 0..-1",
354      "anyOf": [
355        {
356          "$ref": "#/defs/target-AgentListing"
357        },
358        {
359          "type": "array",
360          "items": {
361            "$ref": "#/defs/target-AgentListing"
362          }
363        }
364      ]
365    },
366    "isDefinedBy_Concept_OF_ClassificationFamily": {
367      "description": "ClassificationFamily_isDefinedBy_Concept",
368      "$comment": "cardinality 0..-1",
369      "anyOf": [
370        {
371          "$ref": "#/defs/target-ClassificationFamily"
372        },
373        {
374          "type": "array",
375          "items": {
376            "$ref": "#/defs/target-ClassificationFamily"
377          }
378        }
379      ]
380    },
381    "isDefinedBy_Concept_OF_ClassificationIndex": {
382      "description": "ClassificationIndex_isDefinedBy_Concept",
383      "$comment": "cardinality 0..-1",
384      "anyOf": [
385        {
386          "$ref": "#/defs/target-ClassificationIndex"
387        },
388        {
389          "type": "array",
390          "items": {
391            "$ref": "#/defs/target-ClassificationIndex"
392          }
393        }
394      ]
395    },
396    "isDefinedBy_Concept_OF_ClassificationSeries": {
397      "description": "ClassificationSeries_isDefinedBy_Concept",
398      "$comment": "cardinality 0..-1",
399      "anyOf": [
400        {
401          "$ref": "#/defs/target-ClassificationSeries"
402        },
403        {
404          "type": "array",
405          "items": {
406            "$ref": "#/defs/target-ClassificationSeries"
407          }
408        }
409      ]
410    },
411    "uses_Concept_OF_Concept": {
412      "description": "Concept_uses_Concept",
413      "$comment": "cardinality 0..-1",
414      "anyOf": [
415        {
416          "$ref": "#/defs/target-Concept"
417        },
418        {
419          "type": "array",
420          "items": {
421            "$ref": "#/defs/target-Concept"
422          }
423        }
424      ]
425    },
426    "hasSource_OF_ConceptMap": {
427      "description": "ConceptMap_hasSource_Concept",
428      "$comment": "cardinality 0..-1",
429      "anyOf": [
430        {
431          "$ref": "#/defs/target-ConceptMap"
432        },
433        {
434          "type": "array",
435          "items": {
436            "$ref": "#/defs/target-ConceptMap"
437          }
438        }
439      ]
440    },
441    "hasTarget_OF_ConceptMap": {
442      "description": "ConceptMap_hasTarget_Concept",
443      "$comment": "cardinality 0..-1",
444      "anyOf": [
445        {
446          "$ref": "#/defs/target-ConceptMap"
447        },
448        {
449          "type": "array",
450          "items": {
451            "$ref": "#/defs/target-ConceptMap"
452          }
453        }
454      ]
455    },
456    "hasSource_OF_ConceptRelationship": {
457      "description": "ConceptRelationship_hasSource_Concept",
458      "$comment": "cardinality 0..-1",
459      "anyOf": [
460        {
461          "$ref": "#/defs/target-ConceptRelationship"
462        },
463        {
464          "type": "array",
465          "items": {
466            "$ref": "#/defs/target-ConceptRelationship"
467          }
468        }
469      ]
470    },
471    "hasTarget_OF_ConceptRelationship": {
472      "description": "ConceptRelationship_hasTarget_Concept",
473      "$comment": "cardinality 0..-1",
474      "anyOf": [
475        {
476          "$ref": "#/defs/target-ConceptRelationship"
477        },
478        {
479          "type": "array",
480          "items": {
481            "$ref": "#/defs/target-ConceptRelationship"
482          }
483        }
484      ]
485    },
486    "has_Concept_OF_ConceptSystem": {
487      "description": "ConceptSystem_has_Concept",
488      "$comment": "cardinality 0..-1",
489      "anyOf": [
490        {
491          "$ref": "#/defs/target-ConceptSystem"
492        },
493        {
494          "type": "array",
495          "items": {
496            "$ref": "#/defs/target-ConceptSystem"
497          }
498        }
499      ]
500    },
501    "isDefinedBy_Concept_OF_ConceptSystem": {
502      "description": "ConceptSystem_isDefinedBy_Concept",
503      "$comment": "cardinality 0..-1",
504      "anyOf": [
505        {
506          "$ref": "#/defs/target-ConceptSystem"
507        },
508        {
509          "type": "array",
510          "items": {
511            "$ref": "#/defs/target-ConceptSystem"
512          }
513        }
514      ]
515    },
516    "isDefinedBy_Concept_OF_DataStore": {
517      "description": "DataStore_isDefinedBy_Concept",
518      "$comment": "cardinality 0..-1",
519      "anyOf": [
520        {
521          "$ref": "#/defs/target-DataStore"
522        },
523        {
524          "type": "array",
525          "items": {
526            "$ref": "#/defs/target-DataStore"
527          }
528        }
529      ]
530    },
531    "isDefinedBy_Concept_OF_EnumerationDomain": {
532      "description": "EnumerationDomain_isDefinedBy_Concept",
533      "$comment": "cardinality 0..-1",
534      "anyOf": [
535        {
536          "$ref": "#/defs/target-EnumerationDomain"
537        },
538        {
539          "type": "array",
540          "items": {
541            "$ref": "#/defs/target-EnumerationDomain"
542          }
543        }
544      ]
545    },
546    "isDefinedBy_Concept_OF_Level": {
547      "description": "Level_isDefinedBy_Concept",
548      "$comment": "cardinality 0..-1",
549      "anyOf": [
550        {
551          "$ref": "#/defs/target-Level"
552        },
553        {
554          "type": "array",
555          "items": {
556            "$ref": "#/defs/target-Level"
557          }
558        }
559      ]
560    },
561    "isDefinedBy_Concept_OF_LogicalRecord": {
562      "description": "LogicalRecord_isDefinedBy_Concept",
563      "$comment": "cardinality 0..-1",
564      "anyOf": [
565        {
566          "$ref": "#/defs/target-LogicalRecord"
567        },
568        {
569          "type": "array",
570          "items": {
571            "$ref": "#/defs/target-LogicalRecord"
572          }
573        }
574      ]
575    },
576    "isDefinedBy_Concept_OF_PhysicalDataSet": {
577      "description": "PhysicalDataSet_isDefinedBy_Concept",
578      "$comment": "cardinality 0..-1",
579      "anyOf": [
580        {
581          "$ref": "#/defs/target-PhysicalDataSet"
582        },
583        {
584          "type": "array",
585          "items": {
586            "$ref": "#/defs/target-PhysicalDataSet"
587          }
588        }
589      ]
590    },
591    "isDefinedBy_Concept_OF_PhysicalRecordSegment": {
592      "description": "PhysicalRecordSegment_isDefinedBy_Concept",
593      "$comment": "cardinality 0..-1",
594      "anyOf": [
595        {
596          "$ref": "#/defs/target-PhysicalRecordSegment"
597        },
598        {
599          "type": "array",
600          "items": {
601            "$ref": "#/defs/target-PhysicalRecordSegment"
602          }
603        }
604      ]
605    },
606    "isDefinedBy_Concept_OF_PhysicalSegmentLayout": {
607      "description": "PhysicalSegmentLayout_isDefinedBy_Concept",
608      "$comment": "cardinality 0..-1",
609      "anyOf": [
610        {
611          "$ref": "#/defs/target-PhysicalSegmentLayout"
612        },
613        {
614          "type": "array",
615          "items": {
616            "$ref": "#/defs/target-PhysicalSegmentLayout"
617          }
618        }
619      ]
620    },
621    "isDefinedBy_Concept_OF_VariableCollection": {
622      "description": "VariableCollection_isDefinedBy_Concept",
623      "$comment": "cardinality 0..-1",
624      "anyOf": [
625        {
626          "$ref": "#/defs/target-VariableCollection"
627        },
628        {
629          "type": "array",
630          "items": {
631            "$ref": "#/defs/target-VariableCollection"
632          }
633        }
634      ]
635    },
636    "sameAs": {
637      "$ref": "#/defs/owl:sameAs"
638    }
639  },
640  "required": ["@type"],
641  "additionalProperties": false
642},
643"target-DescriptorVariable": {
644  "description": "all subclasses of http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DescriptorVariable",
645  "anyOf": [
646    { "$ref": "#/defs/cls-DescriptorVariable" },
647    { "type": "string", "format": "iri-reference" }
648  ]
649},

Fragment for the class DescriptorVariable (main ontology)

 1# class DescriptorVariable
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Long::DescriptorVariable
 3cdi:DescriptorVariable
 4  a rdfs:Class, owl:Class, ucmis:Class;
 5  rdfs:label "DescriptorVariable";
 6  rdfs:comment "Definition\n============\nVariable that provides codes for variable identification in the context of a data structure.\nVariable playing the role of a variable descriptor component.\n\nExamples\n==========\nConsider two variables, i.e. income and age, with values apearing in the same column. \nCodes \"income\" and \"age\" are descriptors that appear in the descriptor value domain corresponding to the descriptor variable."@en;
 7  rdfs:subClassOf cdi:InstanceVariable;
 8.
 9
10
11cdi:DescriptorVariable_takesSubstantiveValuesFrom_DescriptorValueDomain
12  a rdf:Property, owl:ObjectProperty, ucmis:Association;
13  # ASSOCIATION
14  rdfs:label "takesSubstantiveValuesFrom_DescriptorValueDomain";
15  skos:altLabel "DescriptorVariable_takesSubstantiveValuesFrom_DescriptorValueDomain";
16  
17  rdfs:domain cdi:DescriptorVariable;
18  rdfs:range cdi:DescriptorValueDomain;
19.

Fragment for the class DescriptorVariable (entire JSON-LD)

 1{
 2  "@context": [
 3    "InstanceVariable.jsonld",
 4    {
 5      "cdi": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/",
 6      "xsd": "http://www.w3.org/2001/XMLSchema#",
 7
 8      
 9      "takesSubstantiveValuesFrom_DescriptorValueDomain": {
10        "@id": "cdi:DescriptorVariable_takesSubstantiveValuesFrom_DescriptorValueDomain",
11        "@type": "@id",
12        "@context": "DescriptorValueDomain.jsonld"
13      },
14      "isDefinedBy_DescriptorVariable_OF_VariableDescriptorComponent": {
15        "@reverse": "cdi:VariableDescriptorComponent_isDefinedBy_DescriptorVariable",
16        "@type": "@id",
17        "@context": "VariableDescriptorComponent.jsonld"
18      },
19      " comment ": "tag:json-should-support-trailing-commas"
20    }
21  ],
22  "generatedBy": "This code was generated by the Eclipse Acceleo project UCMIS M2T on 2025-08-29 14:34:51.",
23  "basedOn": "based on the UML data type DDICDIModels::DDICDILibrary::Classes::DataDescription::Long::DescriptorVariable"
24}

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

  1# class DescriptorVariable
  2# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Long::DescriptorVariable
  3<#DescriptorVariable> a sh:NodeShape;
  4    sh:targetClass cdi:DescriptorVariable;
  5	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DescriptorVariable";
  6	sh:closed true;
  7	sh:ignoredProperties ( owl:sameAs );
  8    sh:property [
  9			sh:path rdf:type;
 10			sh:in (   cdi:DescriptorVariable
 11			 ) ;
 12    ];
 13    # attributes
 14    # associations from DescriptorVariable
 15    sh:property <#DescriptorVariable_takesSubstantiveValuesFrom_DescriptorValueDomain>;
 16    # associations to DescriptorVariable
 17    sh:property <#rev_VariableDescriptorComponent_isDefinedBy_DescriptorVariable>;
 18
 19    # ---- superclass: InstanceVariable
 20    # attributes
 21    sh:property <#InstanceVariable-physicalDataType>;
 22    sh:property <#InstanceVariable-platformType>;
 23    sh:property <#InstanceVariable-source>;
 24    sh:property <#InstanceVariable-variableFunction>;
 25    # associations from InstanceVariable
 26    sh:property <#InstanceVariable_has_PhysicalSegmentLayout>;
 27    sh:property <#InstanceVariable_has_ValueMapping>;
 28    # associations to InstanceVariable
 29    sh:property <#rev_CategoryStatistic_appliesTo_InstanceVariable>;
 30    sh:property <#rev_DataPoint_isDescribedBy_InstanceVariable>;
 31    sh:property <#rev_Datum_isBoundedBy_InstanceVariable>;
 32    sh:property <#rev_InstanceVariableMap_hasSource_InstanceVariable>;
 33    sh:property <#rev_InstanceVariableMap_hasTarget_InstanceVariable>;
 34    sh:property <#rev_LogicalRecord_has_InstanceVariable>;
 35    sh:property <#rev_PhysicalDataSet_has_InstanceVariable>;
 36
 37    # ---- superclass: RepresentedVariable
 38    # attributes
 39    sh:property <#RepresentedVariable-describedUnitOfMeasure>;
 40    sh:property <#RepresentedVariable-hasIntendedDataType>;
 41    sh:property <#RepresentedVariable-simpleUnitOfMeasure>;
 42    # associations from RepresentedVariable
 43    sh:property <#RepresentedVariable_takesSentinelValuesFrom_SentinelValueDomain>;
 44    sh:property <#RepresentedVariable_takesSubstantiveValuesFrom_SubstantiveValueDomain>;
 45    # associations to RepresentedVariable
 46    sh:property <#rev_DataStructureComponent_isDefinedBy_RepresentedVariable>;
 47
 48    # ---- superclass: ConceptualVariable
 49    # attributes
 50    sh:property <#ConceptualVariable-descriptiveText>;
 51    sh:property <#ConceptualVariable-unitOfMeasureKind>;
 52    # associations from ConceptualVariable
 53    sh:property <#ConceptualVariable_measures_UnitType>;
 54    sh:property <#ConceptualVariable_takesSentinelConceptsFrom_SentinelConceptualDomain>;
 55    sh:property <#ConceptualVariable_takesSubstantiveConceptsFrom_SubstantiveConceptualDomain>;
 56    # associations to ConceptualVariable
 57    sh:property <#rev_VariableCollection_has_ConceptualVariable>;
 58    sh:property <#rev_VariablePosition_indexes_ConceptualVariable>;
 59    sh:property <#rev_VariableRelationship_hasSource_ConceptualVariable>;
 60    sh:property <#rev_VariableRelationship_hasTarget_ConceptualVariable>;
 61
 62    # ---- superclass: Concept
 63    # attributes
 64    sh:property <#Concept-catalogDetails>;
 65    sh:property <#Concept-definition>;
 66    sh:property <#Concept-displayLabel>;
 67    sh:property <#Concept-externalDefinition>;
 68    sh:property <#Concept-identifier>;
 69    sh:property <#Concept-name>;
 70    # associations from Concept
 71    sh:property <#Concept_uses_Concept>;
 72    # associations to Concept
 73    sh:property <#rev_AgentListing_isDefinedBy_Concept>;
 74    sh:property <#rev_ClassificationFamily_isDefinedBy_Concept>;
 75    sh:property <#rev_ClassificationIndex_isDefinedBy_Concept>;
 76    sh:property <#rev_ClassificationSeries_isDefinedBy_Concept>;
 77    sh:property <#rev_Concept_uses_Concept>;
 78    sh:property <#rev_ConceptMap_hasSource_Concept>;
 79    sh:property <#rev_ConceptMap_hasTarget_Concept>;
 80    sh:property <#rev_ConceptRelationship_hasSource_Concept>;
 81    sh:property <#rev_ConceptRelationship_hasTarget_Concept>;
 82    sh:property <#rev_ConceptSystem_has_Concept>;
 83    sh:property <#rev_ConceptSystem_isDefinedBy_Concept>;
 84    sh:property <#rev_DataStore_isDefinedBy_Concept>;
 85    sh:property <#rev_EnumerationDomain_isDefinedBy_Concept>;
 86    sh:property <#rev_Level_isDefinedBy_Concept>;
 87    sh:property <#rev_LogicalRecord_isDefinedBy_Concept>;
 88    sh:property <#rev_PhysicalDataSet_isDefinedBy_Concept>;
 89    sh:property <#rev_PhysicalRecordSegment_isDefinedBy_Concept>;
 90    sh:property <#rev_PhysicalSegmentLayout_isDefinedBy_Concept>;
 91    sh:property <#rev_VariableCollection_isDefinedBy_Concept>;
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103.
104
105
106<#DescriptorVariable_takesSubstantiveValuesFrom_DescriptorValueDomain> a sh:PropertyShape ;
107    sh:path cdi:DescriptorVariable_takesSubstantiveValuesFrom_DescriptorValueDomain;
108	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
109        cdi:DescriptorValueDomain
110      
111    ) ]];
112    sh:maxCount 1;
113.
114<#rev_DescriptorVariable_takesSubstantiveValuesFrom_DescriptorValueDomain> a sh:PropertyShape ;
115    sh:path [ sh:inversePath cdi:DescriptorVariable_takesSubstantiveValuesFrom_DescriptorValueDomain ];
116.

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

1# class DescriptorVariable
2# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Long::DescriptorVariable
3cdi:DescriptorVariableShape CLOSED {
4	a [cdi:DescriptorVariable];
5	^cdi:VariableDescriptorComponent_isDefinedBy_DescriptorVariable @cdi:VariableDescriptorComponentShape *;
6	cdi:DescriptorVariable_takesSubstantiveValuesFrom_DescriptorValueDomain	@cdi:DescriptorValueDomainShape ?;
7	
8		&cdi:InstanceVariableProperties;
9	}