LevelStructure#

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

Definition#

Nesting structure of a hierarchical collection.

Examples#

The International Standard Classification of Occupations (ISCO-08: https://www.ilo.org/public/english/bureau/stat/isco/isco08/) Major, Sub-Major, and Minor or the North American Industry Classification System (NAICS: https://www.census.gov/naics/) 2 digit sector codes, 3 digit subsector code list, 4 digit industry group code list, and 5 digit industry code list.

Explanatory notes#

The levels within the structure begin at the root level ‘1’ and continue as an ordered array through each level of nesting. Levels are used to organize a hierarchy. Usually, a hierarchy contains one root member at the top, though it could contain several. These are the first level. All members directly related to those in the first level compose the second level. The third and subsequent levels are defined similarly. A level often is associated with a concept, which defines it. These correspond to kinds of aggregates. For example, in the US Standard Occupational Classification (2010), the level below the top is called Major Occupation Groups, and the next level is called Minor Occupational Groups. These ideas convey the structure. In particular, Health Care Practitioners (a major group) can be broken into Chiropractors, Dentists, Physicians, Vets, Therapists, etc. (minor groups) The categories in the nodes at the lower level aggregate to the category in node above them. “Classification schemes are frequently organized in nested levels of increasing detail. ISCO-08, for example, has four levels: at the top level are ten major groups, each of which contain sub-major groups, which in turn are subdivided in minor groups, which contain unit groups. Even when a classification is not structured in levels (“flat classification”), the usual convention, which is adopted here, is to consider that it contains one unique level.” (From the W3C Simple Knowlegde Organization System: http://rdf-vocabulary.ddialliance.org/xkos.html#) Individual classification items organized in a hierarchy may be associated with a specific level.

Diagram#

Diagram

Attributes#

Attributes
Attributes#

Name

Inherited from

Description

Data Type

Multiplicity

Default value

catalogDetails

- own class -

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

identifier

- own class -

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

Identifier

0..1

name

- own class -

Human understandable name (liguistic signifier, word, phrase, or mnemonic). May follow ISO/IEC 11179-5 naming principles, and have context provided to specify usage.

ObjectName

0..*

usage

- own class -

Explanation of the ways in which the object is employed.

InternationalString

0..1

validDateRange

- own class -

The period for which the level object is valid, expressed as a start and end date (supports both ISO-standard and non-ISO date formats).

DateRange

0..1

Associations#

Associations
Associations#

Direction

Association

Description

Multiplicity of LevelStructure

Package of Other Class

Other Class

Multiplicity of other class

Aggregation Kind

Inherited from

to

EnumerationDomain uses LevelStructure

Has meaningful level to which members belong.

0..1

- own package -

EnumerationDomain

0..*

none

own class

from

LevelStructure has Level

0..*

- own package -

Level

0..*

shared

own class

to

StatisticalClassification has LevelStructure

0..1

- own package -

StatisticalClassification

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 LevelStructure (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-LevelStructure"
  5                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LevelStructure"
  6                  xmi:type="uml:Class">
  7   <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-ownedComment"
  8                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LevelStructure-ownedComment"
  9                  xmi:type="uml:Comment">
 10      <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure"/>
 11      <body>Definition 
 12============ 
 13Nesting structure of a hierarchical collection.   
 14
 15Examples 
 16========== 
 17The International Standard Classification of Occupations (ISCO-08: https://www.ilo.org/public/english/bureau/stat/isco/isco08/) Major, Sub-Major, and Minor or the North American Industry Classification System (NAICS: https://www.census.gov/naics/) 2 digit sector codes, 3 digit subsector code list, 4 digit industry group code list, and 5 digit industry code list.
 18
 19Explanatory notes 
 20=================== 
 21The levels within the structure begin at the root level '1' and continue as an ordered array through each level of nesting. Levels are used to organize a hierarchy. Usually, a hierarchy contains one root member at the top, though it could contain several. These are the first level. All members directly related to those  in the first level compose the second level. The third and subsequent levels are defined similarly.  A level often is associated with a concept, which defines it. These correspond to kinds of aggregates. For example, in the US Standard Occupational Classification (2010), the level below the top is called Major Occupation Groups, and the next level is called Minor Occupational Groups. These ideas convey the structure. In particular, Health Care Practitioners (a major group) can be broken into Chiropractors, Dentists, Physicians, Vets, Therapists, etc. (minor groups) The categories in the nodes at the lower level aggregate to the category in node above them.  "Classification schemes are frequently organized in nested levels of increasing detail. ISCO-08, for example, has four levels: at the top level are ten major groups, each of which contain sub-major groups, which in turn are subdivided in minor groups, which contain unit groups. Even when a classification is not structured in levels ("flat classification"), the usual convention, which is adopted here, is to consider that it contains one unique level." (From the W3C Simple Knowlegde Organization System: http://rdf-vocabulary.ddialliance.org/xkos.html#) Individual classification items organized in a hierarchy may be associated with a specific level.</body>
 22   </ownedComment>
 23   <name>LevelStructure</name>
 24   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-catalogDetails"
 25                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LevelStructure-catalogDetails"
 26                    xmi:type="uml:Property">
 27      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-catalogDetails-ownedComment"
 28                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LevelStructure-catalogDetails-ownedComment"
 29                     xmi:type="uml:Comment">
 30         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-catalogDetails"/>
 31         <body>Bundles the information useful for a data catalog entry. 
 32
 33Examples would be creator, contributor, title, copyright, embargo, and license information
 34
 35A set of information useful for attribution, data discovery, and access.
 36This is information that is tied to the identity of the object. If this information changes the version of the associated object changes.</body>
 37      </ownedComment>
 38      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-catalogDetails-lowerValue"
 39                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LevelStructure-catalogDetails-lowerValue"
 40                   xmi:type="uml:LiteralInteger"/>
 41      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-catalogDetails-upperValue"
 42                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LevelStructure-catalogDetails-upperValue"
 43                   xmi:type="uml:LiteralUnlimitedNatural">
 44         <value>1</value>
 45      </upperValue>
 46      <name>catalogDetails</name>
 47      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-CatalogDetails"/>
 48   </ownedAttribute>
 49   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-identifier"
 50                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LevelStructure-identifier"
 51                    xmi:type="uml:Property">
 52      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-identifier-ownedComment"
 53                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LevelStructure-identifier-ownedComment"
 54                     xmi:type="uml:Comment">
 55         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-identifier"/>
 56         <body>Identifier for objects requiring short- or long-lasting referencing and management.</body>
 57      </ownedComment>
 58      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-identifier-lowerValue"
 59                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LevelStructure-identifier-lowerValue"
 60                   xmi:type="uml:LiteralInteger"/>
 61      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-identifier-upperValue"
 62                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LevelStructure-identifier-upperValue"
 63                   xmi:type="uml:LiteralUnlimitedNatural">
 64         <value>1</value>
 65      </upperValue>
 66      <name>identifier</name>
 67      <isID>true</isID>
 68      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-Identifier"/>
 69   </ownedAttribute>
 70   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-name"
 71                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LevelStructure-name"
 72                    xmi:type="uml:Property">
 73      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-name-ownedComment"
 74                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LevelStructure-name-ownedComment"
 75                     xmi:type="uml:Comment">
 76         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-name"/>
 77         <body>Human understandable name (liguistic signifier, word, phrase, or mnemonic). May follow ISO/IEC 11179-5 naming principles, and have context provided to specify usage.</body>
 78      </ownedComment>
 79      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-name-lowerValue"
 80                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LevelStructure-name-lowerValue"
 81                   xmi:type="uml:LiteralInteger"/>
 82      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-name-upperValue"
 83                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LevelStructure-name-upperValue"
 84                   xmi:type="uml:LiteralUnlimitedNatural">
 85         <value>*</value>
 86      </upperValue>
 87      <name>name</name>
 88      <isOrdered>true</isOrdered>
 89      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-ObjectName"/>
 90   </ownedAttribute>
 91   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-ownedAttribute"
 92                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LevelStructure-ownedAttribute"
 93                    xmi:type="uml:Property">
 94      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-ownedAttribute-lowerValue"
 95                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LevelStructure-ownedAttribute-lowerValue"
 96                   xmi:type="uml:LiteralInteger"/>
 97      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-ownedAttribute-upperValue"
 98                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LevelStructure-ownedAttribute-upperValue"
 99                   xmi:type="uml:LiteralUnlimitedNatural">
100         <value>*</value>
101      </upperValue>
102      <aggregation>shared</aggregation>
103      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure_has_Level"/>
104      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Representations-Level"/>
105   </ownedAttribute>
106   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-usage"
107                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LevelStructure-usage"
108                    xmi:type="uml:Property">
109      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-usage-ownedComment"
110                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LevelStructure-usage-ownedComment"
111                     xmi:type="uml:Comment">
112         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-usage"/>
113         <body>Explanation of the ways in which the object is employed.</body>
114      </ownedComment>
115      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-usage-lowerValue"
116                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LevelStructure-usage-lowerValue"
117                   xmi:type="uml:LiteralInteger"/>
118      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-usage-upperValue"
119                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LevelStructure-usage-upperValue"
120                   xmi:type="uml:LiteralUnlimitedNatural">
121         <value>1</value>
122      </upperValue>
123      <name>usage</name>
124      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-InternationalString"/>
125   </ownedAttribute>
126   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-validDateRange"
127                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LevelStructure-validDateRange"
128                    xmi:type="uml:Property">
129      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-validDateRange-ownedComment"
130                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LevelStructure-validDateRange-ownedComment"
131                     xmi:type="uml:Comment">
132         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-validDateRange"/>
133         <body>The period for which the level object is valid, expressed as a start and end date (supports both ISO-standard and non-ISO date formats).</body>
134      </ownedComment>
135      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-validDateRange-lowerValue"
136                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LevelStructure-validDateRange-lowerValue"
137                   xmi:type="uml:LiteralInteger"/>
138      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-LevelStructure-validDateRange-upperValue"
139                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#LevelStructure-validDateRange-upperValue"
140                   xmi:type="uml:LiteralUnlimitedNatural">
141         <value>1</value>
142      </upperValue>
143      <name>validDateRange</name>
144      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-DateRange"/>
145   </ownedAttribute>
146</packagedElement>

Fragment for the class LevelStructure (entire XML Schema)

  1<xs:element name="LevelStructure"
  2            type="LevelStructureXsdType"
  3            xml:id="LevelStructure">
  4  <!-- based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::LevelStructure -->
  5  <xs:annotation>
  6    <xs:documentation>Definition 
  7          ============ 
  8          Nesting structure of a hierarchical collection.   
  9          
 10          Examples 
 11          ========== 
 12          The International Standard Classification of Occupations (ISCO-08: https://www.ilo.org/public/english/bureau/stat/isco/isco08/) Major, Sub-Major, and Minor or the North American Industry Classification System (NAICS: https://www.census.gov/naics/) 2 digit sector codes, 3 digit subsector code list, 4 digit industry group code list, and 5 digit industry code list.
 13          
 14          Explanatory notes 
 15          =================== 
 16          The levels within the structure begin at the root level '1' and continue as an ordered array through each level of nesting. Levels are used to organize a hierarchy. Usually, a hierarchy contains one root member at the top, though it could contain several. These are the first level. All members directly related to those  in the first level compose the second level. The third and subsequent levels are defined similarly.  A level often is associated with a concept, which defines it. These correspond to kinds of aggregates. For example, in the US Standard Occupational Classification (2010), the level below the top is called Major Occupation Groups, and the next level is called Minor Occupational Groups. These ideas convey the structure. In particular, Health Care Practitioners (a major group) can be broken into Chiropractors, Dentists, Physicians, Vets, Therapists, etc. (minor groups) The categories in the nodes at the lower level aggregate to the category in node above them.  "Classification schemes are frequently organized in nested levels of increasing detail. ISCO-08, for example, has four levels: at the top level are ten major groups, each of which contain sub-major groups, which in turn are subdivided in minor groups, which contain unit groups. Even when a classification is not structured in levels ("flat classification"), the usual convention, which is adopted here, is to consider that it contains one unique level." (From the W3C Simple Knowlegde Organization System: http://rdf-vocabulary.ddialliance.org/xkos.html#) Individual classification items organized in a hierarchy may be associated with a specific level.</xs:documentation>
 17  </xs:annotation>
 18</xs:element>
 19<xs:complexType name="LevelStructureXsdType"
 20                xml:id="LevelStructureXsdType">
 21  <xs:annotation>
 22    <xs:documentation>Definition 
 23          ============ 
 24          Nesting structure of a hierarchical collection.   
 25          
 26          Examples 
 27          ========== 
 28          The International Standard Classification of Occupations (ISCO-08: https://www.ilo.org/public/english/bureau/stat/isco/isco08/) Major, Sub-Major, and Minor or the North American Industry Classification System (NAICS: https://www.census.gov/naics/) 2 digit sector codes, 3 digit subsector code list, 4 digit industry group code list, and 5 digit industry code list.
 29          
 30          Explanatory notes 
 31          =================== 
 32          The levels within the structure begin at the root level '1' and continue as an ordered array through each level of nesting. Levels are used to organize a hierarchy. Usually, a hierarchy contains one root member at the top, though it could contain several. These are the first level. All members directly related to those  in the first level compose the second level. The third and subsequent levels are defined similarly.  A level often is associated with a concept, which defines it. These correspond to kinds of aggregates. For example, in the US Standard Occupational Classification (2010), the level below the top is called Major Occupation Groups, and the next level is called Minor Occupational Groups. These ideas convey the structure. In particular, Health Care Practitioners (a major group) can be broken into Chiropractors, Dentists, Physicians, Vets, Therapists, etc. (minor groups) The categories in the nodes at the lower level aggregate to the category in node above them.  "Classification schemes are frequently organized in nested levels of increasing detail. ISCO-08, for example, has four levels: at the top level are ten major groups, each of which contain sub-major groups, which in turn are subdivided in minor groups, which contain unit groups. Even when a classification is not structured in levels ("flat classification"), the usual convention, which is adopted here, is to consider that it contains one unique level." (From the W3C Simple Knowlegde Organization System: http://rdf-vocabulary.ddialliance.org/xkos.html#) Individual classification items organized in a hierarchy may be associated with a specific level.</xs:documentation>
 33  </xs:annotation>
 34  <xs:sequence>
 35    <xs:element name="catalogDetails"
 36                type="CatalogDetailsXsdType"
 37                minOccurs="0"
 38                maxOccurs="1"
 39                xml:id="LevelStructure-catalogDetails">
 40      <xs:annotation>
 41        <xs:documentation>Bundles the information useful for a data catalog entry. 
 42        
 43        Examples would be creator, contributor, title, copyright, embargo, and license information
 44        
 45        A set of information useful for attribution, data discovery, and access.
 46        This is information that is tied to the identity of the object. If this information changes the version of the associated object changes.</xs:documentation>
 47      </xs:annotation>
 48    </xs:element>
 49    <xs:element name="identifier"
 50                type="IdentifierXsdType"
 51                minOccurs="0"
 52                maxOccurs="1"
 53                xml:id="LevelStructure-identifier">
 54      <xs:annotation>
 55        <xs:documentation>Identifier for objects requiring short- or long-lasting referencing and management.</xs:documentation>
 56      </xs:annotation>
 57    </xs:element>
 58    <xs:element name="name"
 59                type="ObjectNameXsdType"
 60                minOccurs="0"
 61                maxOccurs="unbounded"
 62                xml:id="LevelStructure-name">
 63      <xs:annotation>
 64        <xs:documentation>Human understandable name (liguistic signifier, word, phrase, or mnemonic). May follow ISO/IEC 11179-5 naming principles, and have context provided to specify usage.</xs:documentation>
 65      </xs:annotation>
 66    </xs:element>
 67    <xs:element name="usage"
 68                type="InternationalStringXsdType"
 69                minOccurs="0"
 70                maxOccurs="1"
 71                xml:id="LevelStructure-usage">
 72      <xs:annotation>
 73        <xs:documentation>Explanation of the ways in which the object is employed.</xs:documentation>
 74      </xs:annotation>
 75    </xs:element>
 76    <xs:element name="validDateRange"
 77                type="DateRangeXsdType"
 78                minOccurs="0"
 79                maxOccurs="1"
 80                xml:id="LevelStructure-validDateRange">
 81      <xs:annotation>
 82        <xs:documentation>The period for which the level object is valid, expressed as a start and end date (supports both ISO-standard and non-ISO date formats).</xs:documentation>
 83      </xs:annotation>
 84    </xs:element>
 85    <xs:element name="LevelStructure_has_Level"
 86                minOccurs="0"
 87                maxOccurs="unbounded"
 88                xml:id="LevelStructure_has_Level">
 89      <xs:annotation>
 90        <xs:documentation></xs:documentation>
 91      </xs:annotation>
 92      <xs:complexType>
 93        <xs:complexContent>
 94          <xs:restriction base="AssociationReferenceXsdType">
 95            <xs:sequence>
 96              <xs:element name="ddiReference"
 97                          type="InternationalRegistrationDataIdentifierXsdType"
 98                          minOccurs="0"
 99                          maxOccurs="1"
100                          xml:id="LevelStructure_has_Level-ddiReference"/>
101              <xs:element name="validType"
102                          minOccurs="0"
103                          maxOccurs="unbounded"
104                          xml:id="LevelStructure_has_Level-validType">
105                <xs:simpleType>
106                  <xs:restriction base="xs:NMTOKEN">
107                    <xs:enumeration value="Level"/>
108                  </xs:restriction>
109                </xs:simpleType>
110              </xs:element>
111            </xs:sequence>
112          </xs:restriction>
113        </xs:complexContent>
114      </xs:complexType>
115    </xs:element>
116  </xs:sequence>
117</xs:complexType>

Fragment for the class LevelStructure (entire JSON Schema)

 1"cls-LevelStructure": {
 2  "description": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/LevelStructure",
 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": "LevelStructure"
14    },
15    "catalogDetails": {
16      "$comment": "cardinality 0..1 – from cdi:LevelStructure",
17      "$ref": "#/defs/dt-CatalogDetails"
18    },
19    "identifier": {
20      "$comment": "cardinality 0..1 – from cdi:LevelStructure",
21      "$ref": "#/defs/dt-Identifier"
22    },
23    "name": {
24      "$comment": "cardinality 0..-1 – from cdi:LevelStructure",
25      "if": { "type": "array" },
26      "then": { "items": { "$ref": "#/defs/dt-ObjectName" } },
27      "else": { "$ref": "#/defs/dt-ObjectName" }
28    },
29    "usage": {
30      "$comment": "cardinality 0..1 – from cdi:LevelStructure",
31      "$ref": "#/defs/dt-InternationalString"
32    },
33    "validDateRange": {
34      "$comment": "cardinality 0..1 – from cdi:LevelStructure",
35      "$ref": "#/defs/dt-DateRange"
36    },
37    "has_Level": {
38      "description": "LevelStructure_has_Level",
39      "$comment": "cardinality 0..-1",
40      "anyOf": [
41        {
42          "$ref": "#/defs/target-Level"
43        },
44        {
45          "type": "array",
46          "items": {
47            "$ref": "#/defs/target-Level"
48          }
49        }
50      ]
51    },
52    "uses_LevelStructure_OF_EnumerationDomain": {
53      "description": "EnumerationDomain_uses_LevelStructure",
54      "$comment": "cardinality 0..-1",
55      "anyOf": [
56        {
57          "$ref": "#/defs/target-EnumerationDomain"
58        },
59        {
60          "type": "array",
61          "items": {
62            "$ref": "#/defs/target-EnumerationDomain"
63          }
64        }
65      ]
66    },
67    "has_LevelStructure_OF_StatisticalClassification": {
68      "description": "StatisticalClassification_has_LevelStructure",
69      "$comment": "cardinality 0..-1",
70      "anyOf": [
71        {
72          "$ref": "#/defs/target-StatisticalClassification"
73        },
74        {
75          "type": "array",
76          "items": {
77            "$ref": "#/defs/target-StatisticalClassification"
78          }
79        }
80      ]
81    },
82    "sameAs": {
83      "$ref": "#/defs/owl:sameAs"
84    }
85  },
86  "required": ["@type"],
87  "additionalProperties": false
88},
89"target-LevelStructure": {
90  "description": "all subclasses of http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/LevelStructure",
91  "anyOf": [
92    { "$ref": "#/defs/cls-LevelStructure" },
93    { "type": "string", "format": "iri-reference" }
94  ]
95},

Fragment for the class LevelStructure (main ontology)

 1# class LevelStructure
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::LevelStructure
 3cdi:LevelStructure
 4  a rdfs:Class, owl:Class, ucmis:Class;
 5  rdfs:label "LevelStructure";
 6  rdfs:comment "Definition \n============ \nNesting structure of a hierarchical collection.   \n\nExamples \n========== \nThe International Standard Classification of Occupations (ISCO-08: https://www.ilo.org/public/english/bureau/stat/isco/isco08/) Major, Sub-Major, and Minor or the North American Industry Classification System (NAICS: https://www.census.gov/naics/) 2 digit sector codes, 3 digit subsector code list, 4 digit industry group code list, and 5 digit industry code list.\n\nExplanatory notes \n=================== \nThe levels within the structure begin at the root level '1' and continue as an ordered array through each level of nesting. Levels are used to organize a hierarchy. Usually, a hierarchy contains one root member at the top, though it could contain several. These are the first level. All members directly related to those  in the first level compose the second level. The third and subsequent levels are defined similarly.  A level often is associated with a concept, which defines it. These correspond to kinds of aggregates. For example, in the US Standard Occupational Classification (2010), the level below the top is called Major Occupation Groups, and the next level is called Minor Occupational Groups. These ideas convey the structure. In particular, Health Care Practitioners (a major group) can be broken into Chiropractors, Dentists, Physicians, Vets, Therapists, etc. (minor groups) The categories in the nodes at the lower level aggregate to the category in node above them.  \"Classification schemes are frequently organized in nested levels of increasing detail. ISCO-08, for example, has four levels: at the top level are ten major groups, each of which contain sub-major groups, which in turn are subdivided in minor groups, which contain unit groups. Even when a classification is not structured in levels (\"flat classification\"), the usual convention, which is adopted here, is to consider that it contains one unique level.\" (From the W3C Simple Knowlegde Organization System: http://rdf-vocabulary.ddialliance.org/xkos.html#) Individual classification items organized in a hierarchy may be associated with a specific level."@en;
 7  
 8.
 9
10cdi:LevelStructure-catalogDetails
11  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
12  rdfs:label "catalogDetails";
13  rdfs:comment "Bundles the information useful for a data catalog entry. \n\nExamples would be creator, contributor, title, copyright, embargo, and license information\n\nA set of information useful for attribution, data discovery, and access.\nThis is information that is tied to the identity of the object. If this information changes the version of the associated object changes."@en;
14  rdfs:domain cdi:LevelStructure;
15  rdfs:range cdi:CatalogDetails;
16.
17
18cdi:LevelStructure-identifier
19  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
20  rdfs:label "identifier";
21  rdfs:comment "Identifier for objects requiring short- or long-lasting referencing and management."@en;
22  rdfs:domain cdi:LevelStructure;
23  rdfs:range cdi:Identifier;
24.
25
26cdi:LevelStructure-name
27  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
28  rdfs:label "name";
29  rdfs:comment "Human understandable name (liguistic signifier, word, phrase, or mnemonic). May follow ISO/IEC 11179-5 naming principles, and have context provided to specify usage."@en;
30  rdfs:domain cdi:LevelStructure;
31  rdfs:range cdi:ObjectName;
32.
33
34cdi:LevelStructure-usage
35  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
36  rdfs:label "usage";
37  rdfs:comment "Explanation of the ways in which the object is employed."@en;
38  rdfs:domain cdi:LevelStructure;
39  rdfs:range cdi:InternationalString;
40.
41
42cdi:LevelStructure-validDateRange
43  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
44  rdfs:label "validDateRange";
45  rdfs:comment "The period for which the level object is valid, expressed as a start and end date (supports both ISO-standard and non-ISO date formats)."@en;
46  rdfs:domain cdi:LevelStructure;
47  rdfs:range cdi:DateRange;
48.
49
50
51cdi:LevelStructure_has_Level
52  a rdf:Property, owl:ObjectProperty, ucmis:Association;
53  # ASSOCIATION
54  rdfs:label "has_Level";
55  skos:altLabel "LevelStructure_has_Level";
56  
57  rdfs:domain cdi:LevelStructure;
58  rdfs:range cdi:Level;
59.

Fragment for the class LevelStructure (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      "catalogDetails": {
 8        "@id": "cdi:LevelStructure-catalogDetails",
 9        "@type": "@id",
10        "@context": "CatalogDetails.jsonld"
11      },
12      "identifier": {
13        "@id": "cdi:LevelStructure-identifier",
14        "@type": "@id",
15        "@context": "Identifier.jsonld"
16      },
17      "name": {
18        "@id": "cdi:LevelStructure-name",
19        "@type": "@id",
20        "@context": "ObjectName.jsonld"
21      },
22      "usage": {
23        "@id": "cdi:LevelStructure-usage",
24        "@type": "@id",
25        "@context": "InternationalString.jsonld"
26      },
27      "validDateRange": {
28        "@id": "cdi:LevelStructure-validDateRange",
29        "@type": "@id",
30        "@context": "DateRange.jsonld"
31      },
32      
33      "has_Level": {
34        "@id": "cdi:LevelStructure_has_Level",
35        "@type": "@id",
36        "@context": "Level.jsonld"
37      },
38      "uses_LevelStructure_OF_EnumerationDomain": {
39        "@reverse": "cdi:EnumerationDomain_uses_LevelStructure",
40        "@type": "@id",
41        "@context": "EnumerationDomain.jsonld"
42      },
43      "has_LevelStructure_OF_StatisticalClassification": {
44        "@reverse": "cdi:StatisticalClassification_has_LevelStructure",
45        "@type": "@id",
46        "@context": "StatisticalClassification.jsonld"
47      },
48      " comment ": "tag:json-should-support-trailing-commas"
49    }
50  ],
51  "generatedBy": "This code was generated by the Eclipse Acceleo project UCMIS M2T on 2025-08-29 14:34:55.",
52  "basedOn": "based on the UML data type DDICDIModels::DDICDILibrary::Classes::Representations::LevelStructure"
53}

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

 1# class LevelStructure
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::LevelStructure
 3<#LevelStructure> a sh:NodeShape;
 4    sh:targetClass cdi:LevelStructure;
 5	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/LevelStructure";
 6	sh:closed true;
 7	sh:ignoredProperties ( owl:sameAs );
 8    sh:property [
 9			sh:path rdf:type;
10			sh:in (   cdi:LevelStructure
11			 ) ;
12    ];
13    # attributes
14    sh:property <#LevelStructure-catalogDetails>;
15    sh:property <#LevelStructure-identifier>;
16    sh:property <#LevelStructure-name>;
17    sh:property <#LevelStructure-usage>;
18    sh:property <#LevelStructure-validDateRange>;
19    # associations from LevelStructure
20    sh:property <#LevelStructure_has_Level>;
21    # associations to LevelStructure
22    sh:property <#rev_EnumerationDomain_uses_LevelStructure>;
23    sh:property <#rev_StatisticalClassification_has_LevelStructure>;
24
25
26
27.
28
29<#LevelStructure-catalogDetails> a sh:PropertyShape ;
30    sh:path cdi:LevelStructure-catalogDetails;
31    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
32        cdi:CatalogDetails
33      
34    ) ]];
35    sh:maxCount 1;
36.
37<#LevelStructure-identifier> a sh:PropertyShape ;
38    sh:path cdi:LevelStructure-identifier;
39    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
40        cdi:Identifier
41      
42    ) ]];
43    sh:maxCount 1;
44.
45<#LevelStructure-name> a sh:PropertyShape ;
46    sh:path cdi:LevelStructure-name;
47    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
48        cdi:ObjectName
49        cdi:OrganizationName
50      
51    ) ]];
52.
53<#LevelStructure-usage> a sh:PropertyShape ;
54    sh:path cdi:LevelStructure-usage;
55    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
56        cdi:InternationalString
57        cdi:BibliographicName
58        cdi:LabelForDisplay
59      
60    ) ]];
61    sh:maxCount 1;
62.
63<#LevelStructure-validDateRange> a sh:PropertyShape ;
64    sh:path cdi:LevelStructure-validDateRange;
65    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
66        cdi:DateRange
67      
68    ) ]];
69    sh:maxCount 1;
70.
71
72<#LevelStructure_has_Level> a sh:PropertyShape ;
73    sh:path cdi:LevelStructure_has_Level;
74	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
75        cdi:Level
76      
77    ) ]];
78.
79<#rev_LevelStructure_has_Level> a sh:PropertyShape ;
80    sh:path [ sh:inversePath cdi:LevelStructure_has_Level ];
81.

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

 1# class LevelStructure
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::LevelStructure
 3cdi:LevelStructureShape CLOSED {
 4	a [cdi:LevelStructure];
 5	cdi:LevelStructure-catalogDetails	@cdi:CatalogDetailsShape?;
 6	cdi:LevelStructure-identifier	@cdi:IdentifierShape?;
 7	cdi:LevelStructure-name	@cdi:ObjectNameShape*;
 8	cdi:LevelStructure-usage	@cdi:InternationalStringShape?;
 9	cdi:LevelStructure-validDateRange	@cdi:DateRangeShape?;
10	^cdi:EnumerationDomain_uses_LevelStructure @cdi:EnumerationDomainShape OR @cdi:CodeListShape OR @cdi:StatisticalClassificationShape*;
11	cdi:LevelStructure_has_Level	@cdi:LevelShape *;
12	
13	^cdi:StatisticalClassification_has_LevelStructure @cdi:StatisticalClassificationShape *;
14	}