SentinelValueDomain¶
Fully qualified class name: DDICDIModels::DDICDILibrary::Classes::Representations::SentinelValueDomain
Definition¶
Value domain for a sentinel conceptual domain.
Examples¶
Missing categories expressed as codes: -9, refused; -8, Don’t Know; for a numeric variable with values greater than zero.
Explanatory notes¶
Sentinel values are defined in ISO 11404 as “element of a value space that is not completely consistent with a datatype’s properties and characterizing operations…”. A common example would be codes for missing values. Sentinel values are used for processing, not to describe subject matter. Typical examples include missing values or invalid entry codes. Sentinel value domains are typically of the enumerated type, but they can be the described type, too. This is not to say that sentinel values carry no information. Data on gender might be enumerated by “0, male” and “1, female”. These are the substantive values (see substantive value domain). However, there may be the need to include missing values along with that data, such as “m, missing” and “r, refused”. These are sentinel values. ISO/IEC 11404 - General Purpose Datatypes, defines sentinel values in terms of how that standard defines datatypes. But, the fact that the sentinels don’t fit in terms of the calculations and statistics one would perform on the “clean” data is a distinguishing characteristic. In the example above, one would not include missing or refused data in calculating a ratio of females to the total population. Sentinel values may be described rather than enumerated. For instance, there might be a range of values, each representing an out of range value, but there could be too many to enumerate. It is easier to describe the range. In some software missing values are represented as values not in the datatype of the valid values. R has values of NA, NaN, Inf, and -Inf. SAS and Stata have values displayed as “.”, “.A” through “.Z”, and “._” Other software might use values like 999 for missing that would otherwise be the same datatype as valid values but outside the parameters of the domain. In the gender example above: For SPSS the sentinel values might be represented as: 998 = “refused” 999 = “not recorded” For SAS or Stata the sentinel values might be represented as: .R = “refused” .N = “not recorded” Sentinel values can also be used for other purposes beyond missing. For a numeric variable “A” might represent a value somewhere in a defined range to prevent disclosure of information about an individual. This might be considered a “semi-missing value”. In SAS or Stata for example: .A = “greater than or equal to 100 and less than 1000 “.
Diagram
Inheritance
Attributes
Name |
Inherited from |
Description |
Data Type |
Multiplicity |
Default value |
---|---|---|---|---|---|
platformType |
- own class - |
The type of platform under which sentinel codes will be used. Statistical software platforms use different sets of codes to indicate missing values. The external controlled vocabulary should list platform types and a description of the allowed missing value types. A sample list would be:
|
0..1 |
||
catalogDetails |
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. |
0..1 |
|||
displayLabel |
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. |
0..* |
|||
identifier |
Identifier for objects requiring short- or long-lasting referencing and management. |
0..1 |
|||
recommendedDataType |
The data types that are recommended for use with this domain. |
0..* |
Associations
Direction |
Association |
Description |
Multiplicity of SentinelValueDomain |
Package of Other Class |
Other Class |
Multiplicity of other class |
Aggregation Kind |
Inherited from |
---|---|---|---|---|---|---|---|---|
to |
InstanceValue hasValueFrom ValueDomain |
1..1 |
0..* |
none |
||||
to |
DimensionComponent isStructuredBy ValueDomain |
0..1 |
0..* |
none |
||||
to |
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..* |
0..* |
none |
- own class - |
||
from |
SentinelValueDomain takesConceptsFrom SentinelConceptualDomain |
Corresponding conceptual definition given by a sentinel conceptual domain. |
0..* |
0..1 |
none |
- own class - |
||
from |
SentinelValueDomain isDescribedBy ValueAndConceptDescription |
A formal description of the set of valid values - for described value domains. |
0..* |
- own package - |
0..1 |
none |
- own class - |
|
from |
SentinelValueDomain takesValuesFrom EnumerationDomain |
Any subtype of an enumeration domain enumerating the set of valid values. |
0..* |
- own package - |
0..1 |
none |
- own class - |
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 SentinelValueDomain (entire model as XMI)
1<packagedElement xmlns:StandardProfile="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard"
2 xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML"
3 xmlns:xmi="http://www.omg.org/spec/XMI/20131001"
4 xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-SentinelValueDomain"
5 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#SentinelValueDomain"
6 xmi:type="uml:Class">
7 <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-SentinelValueDomain-ownedComment"
8 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#SentinelValueDomain-ownedComment"
9 xmi:type="uml:Comment">
10 <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Representations-SentinelValueDomain"/>
11 <body>Definition
12============
13Value domain for a sentinel conceptual domain.
14
15Examples
16==========
17Missing categories expressed as codes: -9, refused; -8, Don't Know; for a numeric variable with values greater than zero.
18
19Explanatory notes
20===================
21Sentinel values are defined in ISO 11404 as "element of a value space that is not completely consistent with a datatype's properties and characterizing operations...". A common example would be codes for missing values. Sentinel values are used for processing, not to describe subject matter. Typical examples include missing values or invalid entry codes. Sentinel value domains are typically of the enumerated type, but they can be the described type, too. This is not to say that sentinel values carry no information. Data on gender might be enumerated by "0, male" and "1, female". These are the substantive values (see substantive value domain). However, there may be the need to include missing values along with that data, such as "m, missing" and "r, refused". These are sentinel values. ISO/IEC 11404 - General Purpose Datatypes, defines sentinel values in terms of how that standard defines datatypes. But, the fact that the sentinels don't fit in terms of the calculations and statistics one would perform on the "clean" data is a distinguishing characteristic. In the example above, one would not include missing or refused data in calculating a ratio of females to the total population. Sentinel values may be described rather than enumerated. For instance, there might be a range of values, each representing an out of range value, but there could be too many to enumerate. It is easier to describe the range. In some software missing values are represented as values not in the datatype of the valid values. R has values of NA, NaN, Inf, and -Inf. SAS and Stata have values displayed as ".", ".A" through ".Z", and "._" Other software might use values like 999 for missing that would otherwise be the same datatype as valid values but outside the parameters of the domain. In the gender example above: For SPSS the sentinel values might be represented as: 998 = "refused" 999 = "not recorded" For SAS or Stata the sentinel values might be represented as: .R = "refused" .N = "not recorded" Sentinel values can also be used for other purposes beyond missing. For a numeric variable "A" might represent a value somewhere in a defined range to prevent disclosure of information about an individual. This might be considered a "semi-missing value". In SAS or Stata for example: .A = "greater than or equal to 100 and less than 1000 ".</body>
22 </ownedComment>
23 <name>SentinelValueDomain</name>
24 <generalization xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-SentinelValueDomain-generalization"
25 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#SentinelValueDomain-generalization"
26 xmi:type="uml:Generalization">
27 <general xmi:idref="DDICDIModels-DDICDILibrary-Classes-Representations-ValueDomain"/>
28 </generalization>
29 <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-SentinelValueDomain-ownedAttribute_1"
30 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#SentinelValueDomain-ownedAttribute_1"
31 xmi:type="uml:Property">
32 <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-SentinelValueDomain-ownedAttribute_1-lowerValue"
33 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#SentinelValueDomain-ownedAttribute_1-lowerValue"
34 xmi:type="uml:LiteralInteger"/>
35 <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-SentinelValueDomain-ownedAttribute_1-upperValue"
36 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#SentinelValueDomain-ownedAttribute_1-upperValue"
37 xmi:type="uml:LiteralUnlimitedNatural">
38 <value>1</value>
39 </upperValue>
40 <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Conceptual-SentinelValueDomain_takesConceptsFrom_SentinelConceptualDomain"/>
41 <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Conceptual-SentinelConceptualDomain"/>
42 </ownedAttribute>
43 <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-SentinelValueDomain-ownedAttribute_2"
44 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#SentinelValueDomain-ownedAttribute_2"
45 xmi:type="uml:Property">
46 <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-SentinelValueDomain-ownedAttribute_2-lowerValue"
47 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#SentinelValueDomain-ownedAttribute_2-lowerValue"
48 xmi:type="uml:LiteralInteger"/>
49 <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-SentinelValueDomain-ownedAttribute_2-upperValue"
50 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#SentinelValueDomain-ownedAttribute_2-upperValue"
51 xmi:type="uml:LiteralUnlimitedNatural">
52 <value>1</value>
53 </upperValue>
54 <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Representations-SentinelValueDomain_takesValuesFrom_EnumerationDomain"/>
55 <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Representations-EnumerationDomain"/>
56 </ownedAttribute>
57 <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-SentinelValueDomain-ownedAttribute_3"
58 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#SentinelValueDomain-ownedAttribute_3"
59 xmi:type="uml:Property">
60 <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-SentinelValueDomain-ownedAttribute_3-lowerValue"
61 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#SentinelValueDomain-ownedAttribute_3-lowerValue"
62 xmi:type="uml:LiteralInteger"/>
63 <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-SentinelValueDomain-ownedAttribute_3-upperValue"
64 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#SentinelValueDomain-ownedAttribute_3-upperValue"
65 xmi:type="uml:LiteralUnlimitedNatural">
66 <value>1</value>
67 </upperValue>
68 <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Representations-SentinelValueDomain_isDescribedBy_ValueAndConceptDescription"/>
69 <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Representations-ValueAndConceptDescription"/>
70 </ownedAttribute>
71 <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-SentinelValueDomain-platformType"
72 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#SentinelValueDomain-platformType"
73 xmi:type="uml:Property">
74 <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-SentinelValueDomain-platformType-ownedComment"
75 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#SentinelValueDomain-platformType-ownedComment"
76 xmi:type="uml:Comment">
77 <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Representations-SentinelValueDomain-platformType"/>
78 <body>The type of platform under which sentinel codes will be used. Statistical software platforms use different sets of codes to indicate missing values. The external controlled vocabulary should list platform types and a description of the allowed missing value types. A sample list would be:
79
80- BlankString - A Blank string indicates missing. Comparison is based on lexical order.
81- EmptyString - An empty string indicates missing. Use in comparisons returns missing.
82- Rstyle - Codes drawn from NA and the IEEE 754 values of NaN -Inf +Inf. Comparisons return NA.
83- SASNumeric - codes drawn from . ._ .A .B .C .D .E .F .G .H .I .J .K .L .M .N .O .P .Q .R .S .T .U .V .W .X .Y .Z Sentinel code treated as less than any substantive value
84- SPSSstyle - System missing (a dot) a set of individual values drawn from the same datatype as the SubstantiveValueDomain, and a range of values drawn from the same datatype as the SubstantiveValueDomain. Comparisons return system missing. Some functions substitute with valid values (e.g. SUM replaces missing values with 0).
85- StataNumeric - codes drawn from . ._ .A .B .C .D .E .F .G .H .I .J .K .L .M .N .O .P .Q .R .S .T .U .V .W .X .Y .Z Sentinel code treated as greater than any substantive value - Unrestricted - No restrictions on codes for sentinel values. Use in comparisons is indeterminate.</body>
86 </ownedComment>
87 <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-SentinelValueDomain-platformType-lowerValue"
88 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#SentinelValueDomain-platformType-lowerValue"
89 xmi:type="uml:LiteralInteger"/>
90 <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Representations-SentinelValueDomain-platformType-upperValue"
91 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#SentinelValueDomain-platformType-upperValue"
92 xmi:type="uml:LiteralUnlimitedNatural">
93 <value>1</value>
94 </upperValue>
95 <name>platformType</name>
96 <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-ControlledVocabularyEntry"/>
97 </ownedAttribute>
98</packagedElement>
Fragment for the class SentinelValueDomain (entire XML Schema)
1<xs:element name="SentinelValueDomain"
2 type="SentinelValueDomainXsdType"
3 xml:id="SentinelValueDomain">
4 <!-- based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::SentinelValueDomain -->
5 <xs:annotation>
6 <xs:documentation>Definition
7 ============
8 Value domain for a sentinel conceptual domain.
9
10 Examples
11 ==========
12 Missing categories expressed as codes: -9, refused; -8, Don't Know; for a numeric variable with values greater than zero.
13
14 Explanatory notes
15 ===================
16 Sentinel values are defined in ISO 11404 as "element of a value space that is not completely consistent with a datatype's properties and characterizing operations...". A common example would be codes for missing values. Sentinel values are used for processing, not to describe subject matter. Typical examples include missing values or invalid entry codes. Sentinel value domains are typically of the enumerated type, but they can be the described type, too. This is not to say that sentinel values carry no information. Data on gender might be enumerated by "0, male" and "1, female". These are the substantive values (see substantive value domain). However, there may be the need to include missing values along with that data, such as "m, missing" and "r, refused". These are sentinel values. ISO/IEC 11404 - General Purpose Datatypes, defines sentinel values in terms of how that standard defines datatypes. But, the fact that the sentinels don't fit in terms of the calculations and statistics one would perform on the "clean" data is a distinguishing characteristic. In the example above, one would not include missing or refused data in calculating a ratio of females to the total population. Sentinel values may be described rather than enumerated. For instance, there might be a range of values, each representing an out of range value, but there could be too many to enumerate. It is easier to describe the range. In some software missing values are represented as values not in the datatype of the valid values. R has values of NA, NaN, Inf, and -Inf. SAS and Stata have values displayed as ".", ".A" through ".Z", and "._" Other software might use values like 999 for missing that would otherwise be the same datatype as valid values but outside the parameters of the domain. In the gender example above: For SPSS the sentinel values might be represented as: 998 = "refused" 999 = "not recorded" For SAS or Stata the sentinel values might be represented as: .R = "refused" .N = "not recorded" Sentinel values can also be used for other purposes beyond missing. For a numeric variable "A" might represent a value somewhere in a defined range to prevent disclosure of information about an individual. This might be considered a "semi-missing value". In SAS or Stata for example: .A = "greater than or equal to 100 and less than 1000 ".</xs:documentation>
17 </xs:annotation>
18</xs:element>
19<xs:complexType name="SentinelValueDomainXsdType"
20 xml:id="SentinelValueDomainXsdType">
21 <xs:annotation>
22 <xs:documentation>Definition
23 ============
24 Value domain for a sentinel conceptual domain.
25
26 Examples
27 ==========
28 Missing categories expressed as codes: -9, refused; -8, Don't Know; for a numeric variable with values greater than zero.
29
30 Explanatory notes
31 ===================
32 Sentinel values are defined in ISO 11404 as "element of a value space that is not completely consistent with a datatype's properties and characterizing operations...". A common example would be codes for missing values. Sentinel values are used for processing, not to describe subject matter. Typical examples include missing values or invalid entry codes. Sentinel value domains are typically of the enumerated type, but they can be the described type, too. This is not to say that sentinel values carry no information. Data on gender might be enumerated by "0, male" and "1, female". These are the substantive values (see substantive value domain). However, there may be the need to include missing values along with that data, such as "m, missing" and "r, refused". These are sentinel values. ISO/IEC 11404 - General Purpose Datatypes, defines sentinel values in terms of how that standard defines datatypes. But, the fact that the sentinels don't fit in terms of the calculations and statistics one would perform on the "clean" data is a distinguishing characteristic. In the example above, one would not include missing or refused data in calculating a ratio of females to the total population. Sentinel values may be described rather than enumerated. For instance, there might be a range of values, each representing an out of range value, but there could be too many to enumerate. It is easier to describe the range. In some software missing values are represented as values not in the datatype of the valid values. R has values of NA, NaN, Inf, and -Inf. SAS and Stata have values displayed as ".", ".A" through ".Z", and "._" Other software might use values like 999 for missing that would otherwise be the same datatype as valid values but outside the parameters of the domain. In the gender example above: For SPSS the sentinel values might be represented as: 998 = "refused" 999 = "not recorded" For SAS or Stata the sentinel values might be represented as: .R = "refused" .N = "not recorded" Sentinel values can also be used for other purposes beyond missing. For a numeric variable "A" might represent a value somewhere in a defined range to prevent disclosure of information about an individual. This might be considered a "semi-missing value". In SAS or Stata for example: .A = "greater than or equal to 100 and less than 1000 ".</xs:documentation>
33 </xs:annotation>
34 <xs:complexContent>
35 <xs:extension base="ValueDomainXsdType">
36 <xs:sequence>
37 <xs:element name="platformType"
38 type="ControlledVocabularyEntryXsdType"
39 minOccurs="0"
40 maxOccurs="1"
41 xml:id="SentinelValueDomain-platformType">
42 <xs:annotation>
43 <xs:documentation>The type of platform under which sentinel codes will be used. Statistical software platforms use different sets of codes to indicate missing values. The external controlled vocabulary should list platform types and a description of the allowed missing value types. A sample list would be:
44
45 - BlankString - A Blank string indicates missing. Comparison is based on lexical order.
46 - EmptyString - An empty string indicates missing. Use in comparisons returns missing.
47 - Rstyle - Codes drawn from NA and the IEEE 754 values of NaN -Inf +Inf. Comparisons return NA.
48 - SASNumeric - codes drawn from . ._ .A .B .C .D .E .F .G .H .I .J .K .L .M .N .O .P .Q .R .S .T .U .V .W .X .Y .Z Sentinel code treated as less than any substantive value
49 - SPSSstyle - System missing (a dot) a set of individual values drawn from the same datatype as the SubstantiveValueDomain, and a range of values drawn from the same datatype as the SubstantiveValueDomain. Comparisons return system missing. Some functions substitute with valid values (e.g. SUM replaces missing values with 0).
50 - StataNumeric - codes drawn from . ._ .A .B .C .D .E .F .G .H .I .J .K .L .M .N .O .P .Q .R .S .T .U .V .W .X .Y .Z Sentinel code treated as greater than any substantive value - Unrestricted - No restrictions on codes for sentinel values. Use in comparisons is indeterminate.</xs:documentation>
51 </xs:annotation>
52 </xs:element>
53 <xs:element name="SentinelValueDomain_takesConceptsFrom_SentinelConceptualDomain"
54 minOccurs="0"
55 maxOccurs="1"
56 xml:id="SentinelValueDomain_takesConceptsFrom_SentinelConceptualDomain">
57 <xs:annotation>
58 <xs:documentation>Corresponding conceptual definition given by a sentinel conceptual domain.</xs:documentation>
59 </xs:annotation>
60 <xs:complexType>
61 <xs:complexContent>
62 <xs:restriction base="AssociationReferenceXsdType">
63 <xs:sequence>
64 <xs:element name="ddiReference"
65 type="InternationalRegistrationDataIdentifierXsdType"
66 minOccurs="0"
67 maxOccurs="1"
68 xml:id="SentinelValueDomain_takesConceptsFrom_SentinelConceptualDomain-ddiReference"/>
69 <xs:element name="validType"
70 minOccurs="0"
71 maxOccurs="unbounded"
72 xml:id="SentinelValueDomain_takesConceptsFrom_SentinelConceptualDomain-validType">
73 <xs:simpleType>
74 <xs:restriction base="xs:NMTOKEN">
75 <xs:enumeration value="SentinelConceptualDomain"/>
76 </xs:restriction>
77 </xs:simpleType>
78 </xs:element>
79 </xs:sequence>
80 </xs:restriction>
81 </xs:complexContent>
82 </xs:complexType>
83 </xs:element>
84 <xs:element name="SentinelValueDomain_takesValuesFrom_EnumerationDomain"
85 minOccurs="0"
86 maxOccurs="1"
87 xml:id="SentinelValueDomain_takesValuesFrom_EnumerationDomain">
88 <xs:annotation>
89 <xs:documentation>Any subtype of an enumeration domain enumerating the set of valid values.</xs:documentation>
90 </xs:annotation>
91 <xs:complexType>
92 <xs:complexContent>
93 <xs:restriction base="AssociationReferenceXsdType">
94 <xs:sequence>
95 <xs:element name="ddiReference"
96 type="InternationalRegistrationDataIdentifierXsdType"
97 minOccurs="0"
98 maxOccurs="1"
99 xml:id="SentinelValueDomain_takesValuesFrom_EnumerationDomain-ddiReference"/>
100 <xs:element name="validType"
101 minOccurs="0"
102 maxOccurs="unbounded"
103 xml:id="SentinelValueDomain_takesValuesFrom_EnumerationDomain-validType">
104 <xs:simpleType>
105 <xs:restriction base="xs:NMTOKEN">
106 <xs:enumeration value="CodeList"/>
107 <xs:enumeration value="EnumerationDomain"/>
108 <xs:enumeration value="StatisticalClassification"/>
109 </xs:restriction>
110 </xs:simpleType>
111 </xs:element>
112 </xs:sequence>
113 </xs:restriction>
114 </xs:complexContent>
115 </xs:complexType>
116 </xs:element>
117 <xs:element name="SentinelValueDomain_isDescribedBy_ValueAndConceptDescription"
118 minOccurs="0"
119 maxOccurs="1"
120 xml:id="SentinelValueDomain_isDescribedBy_ValueAndConceptDescription">
121 <xs:annotation>
122 <xs:documentation>A formal description of the set of valid values - for described value domains.</xs:documentation>
123 </xs:annotation>
124 <xs:complexType>
125 <xs:complexContent>
126 <xs:restriction base="AssociationReferenceXsdType">
127 <xs:sequence>
128 <xs:element name="ddiReference"
129 type="InternationalRegistrationDataIdentifierXsdType"
130 minOccurs="0"
131 maxOccurs="1"
132 xml:id="SentinelValueDomain_isDescribedBy_ValueAndConceptDescription-ddiReference"/>
133 <xs:element name="validType"
134 minOccurs="0"
135 maxOccurs="unbounded"
136 xml:id="SentinelValueDomain_isDescribedBy_ValueAndConceptDescription-validType">
137 <xs:simpleType>
138 <xs:restriction base="xs:NMTOKEN">
139 <xs:enumeration value="ValueAndConceptDescription"/>
140 </xs:restriction>
141 </xs:simpleType>
142 </xs:element>
143 </xs:sequence>
144 </xs:restriction>
145 </xs:complexContent>
146 </xs:complexType>
147 </xs:element>
148 </xs:sequence>
149 </xs:extension>
150 </xs:complexContent>
151</xs:complexType>
Fragment for the class SentinelValueDomain (main ontology)
1# class SentinelValueDomain
2# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::SentinelValueDomain
3cdi:SentinelValueDomain
4 a rdfs:Class, owl:Class, ucmis:Class;
5 rdfs:label "SentinelValueDomain";
6 rdfs:comment "Definition \n============ \nValue domain for a sentinel conceptual domain. \n\nExamples \n========== \nMissing categories expressed as codes: -9, refused; -8, Don't Know; for a numeric variable with values greater than zero. \n\nExplanatory notes \n=================== \nSentinel values are defined in ISO 11404 as \"element of a value space that is not completely consistent with a datatype's properties and characterizing operations...\". A common example would be codes for missing values. Sentinel values are used for processing, not to describe subject matter. Typical examples include missing values or invalid entry codes. Sentinel value domains are typically of the enumerated type, but they can be the described type, too. This is not to say that sentinel values carry no information. Data on gender might be enumerated by \"0, male\" and \"1, female\". These are the substantive values (see substantive value domain). However, there may be the need to include missing values along with that data, such as \"m, missing\" and \"r, refused\". These are sentinel values. ISO/IEC 11404 - General Purpose Datatypes, defines sentinel values in terms of how that standard defines datatypes. But, the fact that the sentinels don't fit in terms of the calculations and statistics one would perform on the \"clean\" data is a distinguishing characteristic. In the example above, one would not include missing or refused data in calculating a ratio of females to the total population. Sentinel values may be described rather than enumerated. For instance, there might be a range of values, each representing an out of range value, but there could be too many to enumerate. It is easier to describe the range. In some software missing values are represented as values not in the datatype of the valid values. R has values of NA, NaN, Inf, and -Inf. SAS and Stata have values displayed as \".\", \".A\" through \".Z\", and \"._\" Other software might use values like 999 for missing that would otherwise be the same datatype as valid values but outside the parameters of the domain. In the gender example above: For SPSS the sentinel values might be represented as: 998 = \"refused\" 999 = \"not recorded\" For SAS or Stata the sentinel values might be represented as: .R = \"refused\" .N = \"not recorded\" Sentinel values can also be used for other purposes beyond missing. For a numeric variable \"A\" might represent a value somewhere in a defined range to prevent disclosure of information about an individual. This might be considered a \"semi-missing value\". In SAS or Stata for example: .A = \"greater than or equal to 100 and less than 1000 \"."@en;
7 rdfs:subClassOf cdi:ValueDomain;
8.
9
10cdi:SentinelValueDomain-platformType
11 a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
12 rdfs:label "platformType";
13 rdfs:comment "The type of platform under which sentinel codes will be used. Statistical software platforms use different sets of codes to indicate missing values. The external controlled vocabulary should list platform types and a description of the allowed missing value types. A sample list would be: \n\n- BlankString - A Blank string indicates missing. Comparison is based on lexical order. \n- EmptyString - An empty string indicates missing. Use in comparisons returns missing. \n- Rstyle - Codes drawn from NA and the IEEE 754 values of NaN -Inf +Inf. Comparisons return NA. \n- SASNumeric - codes drawn from . ._ .A .B .C .D .E .F .G .H .I .J .K .L .M .N .O .P .Q .R .S .T .U .V .W .X .Y .Z Sentinel code treated as less than any substantive value \n- SPSSstyle - System missing (a dot) a set of individual values drawn from the same datatype as the SubstantiveValueDomain, and a range of values drawn from the same datatype as the SubstantiveValueDomain. Comparisons return system missing. Some functions substitute with valid values (e.g. SUM replaces missing values with 0). \n- StataNumeric - codes drawn from . ._ .A .B .C .D .E .F .G .H .I .J .K .L .M .N .O .P .Q .R .S .T .U .V .W .X .Y .Z Sentinel code treated as greater than any substantive value - Unrestricted - No restrictions on codes for sentinel values. Use in comparisons is indeterminate."@en;
14 rdfs:domain cdi:SentinelValueDomain;
15 rdfs:range cdi:ControlledVocabularyEntry;
16.
17
18
19cdi:SentinelValueDomain_takesConceptsFrom_SentinelConceptualDomain
20 a rdf:Property, owl:ObjectProperty, ucmis:Association;
21 # ASSOCIATION
22 rdfs:label "takesConceptsFrom";
23 skos:altLabel "SentinelValueDomain_takesConceptsFrom_SentinelConceptualDomain";
24 rdfs:comment "Corresponding conceptual definition given by a sentinel conceptual domain."@en;
25 rdfs:domain cdi:SentinelValueDomain;
26 rdfs:range cdi:SentinelConceptualDomain;
27.
28
29cdi:SentinelValueDomain_isDescribedBy_ValueAndConceptDescription
30 a rdf:Property, owl:ObjectProperty, ucmis:Association;
31 # ASSOCIATION
32 rdfs:label "isDescribedBy";
33 skos:altLabel "SentinelValueDomain_isDescribedBy_ValueAndConceptDescription";
34 rdfs:comment "A formal description of the set of valid values - for described value domains."@en;
35 rdfs:domain cdi:SentinelValueDomain;
36 rdfs:range cdi:ValueAndConceptDescription;
37.
38
39cdi:SentinelValueDomain_takesValuesFrom_EnumerationDomain
40 a rdf:Property, owl:ObjectProperty, ucmis:Association;
41 # ASSOCIATION
42 rdfs:label "takesValuesFrom";
43 skos:altLabel "SentinelValueDomain_takesValuesFrom_EnumerationDomain";
44 rdfs:comment "Any subtype of an enumeration domain enumerating the set of valid values."@en;
45 rdfs:domain cdi:SentinelValueDomain;
46 rdfs:range cdi:EnumerationDomain;
47.
Fragment for the class SentinelValueDomain (main JSON-LD)
1{
2 "@context": [
3 "ValueDomain.jsonld",
4 {
5 "cdi": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/",
6 "xsd": "http://www.w3.org/2001/XMLSchema#",
7 "SentinelValueDomain": "cdi:SentinelValueDomain",
8 "platformType": {
9 "@id": "cdi:SentinelValueDomain-platformType",
10 "@type": "@id",
11 "@context": "ControlledVocabularyEntry.jsonld"
12 },
13
14 "takesConceptsFrom": {
15 "@id": "cdi:SentinelValueDomain_takesConceptsFrom_SentinelConceptualDomain",
16 "@type": "@id" },
17 "isDescribedBy": {
18 "@id": "cdi:SentinelValueDomain_isDescribedBy_ValueAndConceptDescription",
19 "@type": "@id" },
20 "takesValuesFrom": {
21 "@id": "cdi:SentinelValueDomain_takesValuesFrom_EnumerationDomain",
22 "@type": "@id" },
23 "takesSentinelValuesFrom_OF_RepresentedVariable": {
24 "@reverse": "cdi:RepresentedVariable_takesSentinelValuesFrom_SentinelValueDomain",
25 "@type": "@id"
26 },
27 " comment ": "tag:json-should-support-trailing-commas"
28 }
29 ],
30 "generatedBy": "This code was generated by the Eclipse Acceleo project UCMIS M2T on 2024-03-16 23:40:12.",
31 "basedOn": "based on the UML data type DDICDIModels::DDICDILibrary::Classes::Representations::SentinelValueDomain"
32}