Changes for page 12 Constraints
Last modified by Artur on 2025/09/10 11:19
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 4 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,6 +1,4 @@ 1 -{{box title="**Contents**"}} 2 -{{toc/}} 3 -{{/box}} 1 += 12 Constraints = 4 4 5 5 == 12.1 Scope == 6 6 ... ... @@ -29,14 +29,23 @@ 29 29 Any artefact that inherits from the //ConstrainableArtefact// interface can have constraints defined. The artefacts that can have constraint metadata attached are: 30 30 31 31 Dataflow 30 + 32 32 ProvisionAgreement 32 + 33 33 DataProvider – this is restricted to release calendar 34 + 34 34 DataStructureDefinition 36 + 35 35 Metadataflow 38 + 36 36 MetaDataProvider – this is restricted to release calendar 40 + 37 37 MetadataProvisionAgreement 42 + 38 38 MetadataSetMetadataStructureDefinition 44 + 39 39 SimpleDataSource – this is a registered data source where the registration references the actual Data Set or Metadata Set 46 + 40 40 //QueryDataSource// 41 41 42 42 Note that, because the //Constraint// can specify a subset of the component values implied by a specific //Structure// (such as a specific DataStructureDefinition or specific MetadataStructureDefinition), the //ConstrainableArtefact//s must be associated with a specific //Structure//. Therefore, whilst the //Constraint// itself may not be linked directly to a DataStructureDefinition or MetadataStructureDefinition, the artefact that it is constraining will be linked to a DataStructureDefinition or MetadataStructureDefinition. As a DataProvider or a MetadataProvider does not link to any one specific DSD or MSD the type of information that can be contained in a Constraint linked to a DataProvider/MetadataProvider is restricted to ReleaseCalendar. ... ... @@ -55,8 +55,10 @@ 55 55 56 56 The constraint mechanism allows specific constraints to be attached to a //ConstrainableArtefact//. With the exception of ReleaseCalendar these constraints specify a subset of the total set of values or keys that may be present in any of the //ConstrainableArtefacts//. 57 57 58 -For instance, a DataStructureDefinition specifies, for each Dimension, the list of allowable code values. However, a specific Dataflow that uses the DataStructureDefinition may contain only a subset of the possible range of keys that is theoretically possible from the DataStructureDefinition definition (the total range of possibilities is sometimes called the Cartesian product of the dimension values). In addition to this, a DataProvider that is capable of supplying data according to the Dataflow has a ProvisionAgreement, and the DataProvider may also wish to supply constraint information which may further constrain the range of possibilities in order to describe the data that the provider can supply. It may also be useful to describe the content of a data source in terms of the KeySets or CubeRegions contained within it.65 +For instance, a DataStructureDefinition specifies, for each Dimension, the list of allowable code values. However, a specific Dataflow that uses the 59 59 67 +DataStructureDefinition may contain only a subset of the possible range of keys that is theoretically possible from the DataStructureDefinition definition (the total range of possibilities is sometimes called the Cartesian product of the dimension values). In addition to this, a DataProvider that is capable of supplying data according to the Dataflow has a ProvisionAgreement, and the DataProvider may also wish to supply constraint information which may further constrain the range of possibilities in order to describe the data that the provider can supply. It may also be useful to describe the content of a data source in terms of the KeySets or CubeRegions contained within it. 68 + 60 60 A //ConstrainableArtefact// can have two types of //Constraint//s: 61 61 62 62 1. DataConstraint – is used as a mechanism to specify, either the available set of keys (DataKeySet), or set of component values (CubeRegion) in a //DataSource// such as a Simpledatasource or a database (//QueryDatasource//), or the allowable keys that can be constructed from a DataStructureDefinition. Multiple such DataConstraints may be present for a //ConstrainableArtefact//. For instance, there may be a DataConstraint that specifies the values allowed for the //ConstrainableArtefact //(role is allowableContent) which can be used for validation or for constructing a partial code list for one Dimension, while another provides the validation for another Dimension within the same DSD. ... ... @@ -64,8 +64,10 @@ 64 64 65 65 In addition to DataKeySet and/or CubeRegion/MetadataTargetRegion a Constraint can have a ReleaseCalendar specifying when data or metadata are released for publication or reporting. 66 66 67 -Note also that another possible type of a DataConstraint is available; that is a DataConstraint with the role of actualContent where it describes the data that an SDMX Web Service contains. This type of DataConstraint is not maintained in a Registry and is always a response to the data availability SDMX REST API. Thus, its identification is autogenerated by the service responding to a data availability request.76 +Note also that another possible type of a DataConstraint is available; that is a 68 68 78 +DataConstraint with the role of actualContent where it describes the data that an SDMX Web Service contains. This type of DataConstraint is not maintained in a Registry and is always a response to the data availability SDMX REST API. Thus, its identification is autogenerated by the service responding to a data availability request. 79 + 69 69 === 12.3.3 Relationship Class Diagram – Detail === 70 70 71 71 [[image:SDMX 3-0-0 SECTION 2 FINAL-1.0 (1)_en_d166f6ab.jpg||height="708" width="619"]] ... ... @@ -81,7 +81,7 @@ 81 81 1. As a set of keys that can be present in the //DataSet// (DataKeySet). Each DataKey specifies a number of ComponentValues each of which reference a //Component// (e.g., Dimension, DataAttribute). Each ComponentValue is a value that may be present for a //Component// of a structure when contained in a //DataSet//. In addition, each DataKeySet may also include MemberSelections for AttributeComponents or Measures. 82 82 1. As a set of CubeRegions each of which defines a “slice” of the total structure (MemberSelection) in terms of one or more MemberValues that may be present for a //Component// of a structure when contained in a //DataSet//. 83 83 84 -The difference between (1) and (2) above is that in (1) a complete key is defined whereas in (2) above the “slice” defines a list of possible values for each of the// Component//s but does not specify specific key combinations. In addition, in (1) the association between //Component// and DataKeyValue is constrained to the components that comprise the key, whereas in (2) it can contain other component types (such as AttributeComponents or Measures). By adding MemberSelections to the DataKeySets of (1), AttributeComponents and Measures are constrained for the related DataKeys.95 +The difference between (1) and (2) above is that in (1) a complete key is defined whereas in (2) above the “slice” defines a list of possible values for each of the// Component//s but does not specify specific key combinations. In addition, in (1) the association between //Component// and DataKeyValue is constrained to the components that comprise the key, whereas in (2) it can contain other component types (such as AttributeComponents or Measures). By adding MemberSelections to the DataKeySets of (1), AttributeComponents and Measures are constrained for the related DataKeys. 85 85 86 86 A MetadataConstraint has only one way of specifying value subsets: 87 87 ... ... @@ -91,7 +91,7 @@ 91 91 92 92 * "true": all children are included, 93 93 * "false" (default), or 94 -* " excludeRoot", where all children are included, and the root Code is excluded (i.e. the referenced Code). 105 +* "[[image:SDMX 3-0-0 SECTION 2 FINAL-1.0 (1)_en_7f83d17f.gif||alt="Shape31" height="55" width="97"]] excludeRoot", where all children are included, and the root Code is excluded (i.e. the referenced Code). 95 95 96 96 It is possible to define for the DataKeySet, DataKey, CubeRegion, MetadataTargetRegion and MemberSelection whether the set is included (isIncluded = "true", default) or excluded (isIncluded = "false") from the Constraint definition. This attribute is useful if, for example, only a small sub-set of the possible values are not included in the set, then this smaller sub-set can be defined and excluded from the constraint. Note that if the child construct is “included” and the parent construct is “excluded” then the child construct is included in the list of constructs that are “excluded”. 97 97 ... ... @@ -101,143 +101,180 @@ 101 101 102 102 ==== 12.3.3.2 Definitions ==== 103 103 104 -(% style="width:908.294px" %) 105 -|**Class**|**Feature**|(% style="width:442px" %)**Description** 115 +|**Class**|**Feature**|**Description** 106 106 |//ConstrainableArt efact//|((( 107 107 Abstract Class Sub classes are: 118 + 108 108 Dataflow 120 + 109 109 DataProvider 122 + 110 110 DataStructureDefinition 124 + 111 111 Metadataflow 112 -MetadataProvisionAgreement 126 + 127 +MetadataProvisionAgreem 128 + 129 +ent 130 + 113 113 MetadataSet 114 -MetadataStructureDefinition 132 + 133 +MetadataStructureDefini tion 134 + 115 115 ProvisionAgreement 136 + 116 116 //QueryDatasource// 138 + 117 117 SimpleDatasource 118 -)))| (% style="width:442px" %)An artefact that can have Constraints specified.119 -| |content|(% style="width:442px" %)Associates the metadata that constrains the content to be found in a data or metadata source linked to the Constrainable Artefact.140 +)))|An artefact that can have Constraints specified. 141 +||content|Associates the metadata that constrains the content to be found in a data or metadata source linked to the Constrainable Artefact. 120 120 |//Constraint//|((( 121 121 Inherits from 144 + 122 122 //MaintainableArtefact// 146 + 123 123 Abstract class Sub classes are: 148 + 124 124 DataConstraint 150 + 125 125 MetadataConstraint 126 -)))| (% style="width:442px" %)Specifies a subset of the definition of the allowable or actual content of a data or metadata source that can be derived from the Structure that defines code lists and other valid content.127 -| |+dataContentKeys|(% style="width:442px" %)(((152 +)))|Specifies a subset of the definition of the allowable or actual content of a data or metadata source that can be derived from the Structure that defines code lists and other valid content. 153 +||+dataContentKeys|((( 128 128 Association to a subset of Data 129 129 130 130 Key Sets (i.e., value combinations) that can be derived from the definition of the structure to which the Constrainable Artefact is linked. 131 131 ))) 132 -| |+dataContentRegion|(% style="width:442px" %)(((158 +||+dataContentRegion|((( 133 133 Association to a subset of component values that can be derived from the Data Structure 134 134 135 135 Definition to which the Constrainable Artefact is linked. 136 136 ))) 137 -| |+metadataContentRegion|(% style="width:442px" %)Association to a subset of component values that can be derived from the Metadata Structure Definition to which the Constrainable Artefact is linked.138 -| |role|(% style="width:442px" %)Association to the role that the Constraint plays163 +||+metadataContentRegion|Association to a subset of component values that can be derived from the Metadata Structure Definition to which the Constrainable Artefact is linked. 164 +||role|Association to the role that the Constraint plays 139 139 |DataConstraint|((( 140 140 Inherits from 167 + 141 141 //Constraint// 142 -)))| (% style="width:442px" %)Defines a Constraint in terms of the content that can be found in data sources linked to the Constrainable Artefact to which this constraint is associated.143 -|ConstraintRoleTy pe| |(% style="width:442px" %)Specifies the way the type of content of a Constraint in terms of its purpose.144 -| |allowableContent|(% style="width:442px" %)The Constraint contains a specification of the valid subset of the Component values or keys.145 -| |actualContent|(% style="width:442px" %)The Constraint contains a specification of the actual content of a data or metadata source in terms of the Component values or keys in the source.169 +)))|Defines a Constraint in terms of the content that can be found in data sources linked to the Constrainable Artefact to which this constraint is associated. 170 +|ConstraintRoleTy pe||Specifies the way the type of content of a Constraint in terms of its purpose. 171 +||allowableContent|The Constraint contains a specification of the valid subset of the Component values or keys. 172 +||actualContent|The Constraint contains a specification of the actual content of a data or metadata source in terms of the Component values or keys in the source. 146 146 |MetadataConstrai nt|((( 147 147 Inherits from 175 + 148 148 //Constraint// 149 -)))| (% style="width:442px" %)Defines a Constraint in terms of the content that can be found in metadata sources linked to the Constrainable Artefact to which this constraint is associated.150 -|DataKeySet| |(% style="width:442px" %)A set of data keys.151 -| |isIncluded|(% style="width:442px" %)Indicates whether the Data Key Set is included in the constraint definition or excluded from the constraint definition.152 -| |+keys|(% style="width:442px" %)Association to the Data Keys in the set.153 -| |+member|(% style="width:442px" %)Association to the selection of a value subset for Attributes and Measures.154 -|DataKey| |(% style="width:442px" %)The values of a key in a data set.155 -| |isIncluded|(% style="width:442px" %)Indicates whether the Data Key is included in the constraint definition or excluded from the constraint definition.156 -| |+keyValue|(% style="width:442px" %)(((177 +)))|Defines a Constraint in terms of the content that can be found in metadata sources linked to the Constrainable Artefact to which this constraint is associated. 178 +|DataKeySet||A set of data keys. 179 +||isIncluded|Indicates whether the Data Key Set is included in the constraint definition or excluded from the constraint definition. 180 +||+keys|Association to the Data Keys in the set. 181 +||+member|Association to the selection of a value subset for Attributes and Measures. 182 +|DataKey||The values of a key in a data set. 183 +||isIncluded|Indicates whether the Data Key is included in the constraint definition or excluded from the constraint definition. 184 +||+keyValue|((( 157 157 Associates the Component 158 158 159 159 Values that comprise the key. 160 160 ))) 161 -| |validFrom|(% style="width:442px" %)Date from which the Data Key is valid.162 -| |validTo|(% style="width:442px" %)Date from which the Data Key is superseded.163 -|ComponentValue| |(% style="width:442px" %)The identification and value of a Component of the key (e.g., Dimension)164 -| |value|(% style="width:442px" %)The value of Component165 -| |+valueFor|(% style="width:442px" %)Association to the Component (e.g., Dimension) in the Structure to which the Constrainable Artefact is linked.166 -|TimeDimensionVal ue| |(% style="width:442px" %)The value of the Time Dimension component.167 -| |timeValue|(% style="width:442px" %)The value of the time period.168 -| |operator|(% style="width:442px" %)(((189 +||validFrom|Date from which the Data Key is valid. 190 +||validTo|Date from which the Data Key is superseded. 191 +|ComponentValue||The identification and value of a Component of the key (e.g., Dimension) 192 +||value|The value of Component 193 +||+valueFor|Association to the Component (e.g., Dimension) in the Structure to which the Constrainable Artefact is linked. 194 +|TimeDimensionVal ue||The value of the Time Dimension component. 195 +||timeValue|The value of the time period. 196 +||operator|((( 169 169 Indicates whether the specified value represents and exact time or time period, or whether the value should be handled as a range. 198 + 170 170 A value of greaterThan or greaterThanOrEqual indicates that the value is the beginning of a range (exclusive or inclusive, respectively). 200 + 171 171 A value of lessThan or lessThanOrEqual indicates that the value is the end or a range (exclusive or inclusive, respectively). 202 + 172 172 In the absence of the opposite bound being specified for the range, this bound is to be treated as infinite (e.g., any time period after the beginning of the provided time period for greaterThanOrEqual) 173 173 ))) 174 -|CubeRegion| |(% style="width:442px" %)A set of Components and their values that defines a subset or “slice” of the total range of possible content of a data structure to which the Constrainable Artefact is linked.175 -| |isIncluded|(% style="width:442px" %)Indicates whether the Cube Region is included in the constraint definition or excluded from the constraint definition.176 -| |+member|(% style="width:442px" %)Associates the set of Components that define the subset of values.177 -|MetadataTargetRe gion| |(% style="width:442px" %)A set of Components and their values that defines a subset or “slice” of the total range of possible content of a metadata structure to which the Constrainable Artefact is linked.178 -| |isIncluded|(% style="width:442px" %)Indicates whether the Metadata Target Region is included in the constraint definition or excluded from the constraint definition.179 -| |+member|(% style="width:442px" %)Associates the set of Components that define the subset of values.180 -|MemberSelection| |(% style="width:442px" %)A set of permissible values for one component of the axis.181 -| |isIncluded|(% style="width:442px" %)Indicates whether the Member Selection is included in the constraint definition or excluded from the constraint definition.182 -| |removePrefix|(% style="width:442px" %)Indicates whether the Codes should keep or not the prefix, as defined in the extension of Codelist.183 -| |+valuesFor|(% style="width:442px" %)Association to the Component in the Structure to which the Constrainable Artefact is linked, which defines the valid Representation for the Member Values.205 +|CubeRegion||A set of Components and their values that defines a subset or “slice” of the total range of possible content of a data structure to which the Constrainable Artefact is linked. 206 +||isIncluded|Indicates whether the Cube Region is included in the constraint definition or excluded from the constraint definition. 207 +||+member|Associates the set of Components that define the subset of values. 208 +|MetadataTargetRe gion||A set of Components and their values that defines a subset or “slice” of the total range of possible content of a metadata structure to which the Constrainable Artefact is linked. 209 +||isIncluded|Indicates whether the Metadata Target Region is included in the constraint definition or excluded from the constraint definition. 210 +||+member|Associates the set of Components that define the subset of values. 211 +|MemberSelection||A set of permissible values for one component of the axis. 212 +||isIncluded|Indicates whether the Member Selection is included in the constraint definition or excluded from the constraint definition. 213 +||removePrefix|Indicates whether the Codes should keep or not the prefix, as defined in the extension of Codelist. 214 +||+valuesFor|Association to the Component in the Structure to which the Constrainable Artefact is linked, which defines the valid Representation for the Member Values. 184 184 |//SelectionValue//|((( 185 185 Abstract class. Sub classes are: 217 + 186 186 MemberValue 219 + 187 187 //TimeRangeValue// 221 + 188 188 LocalisedMemberValue 189 -)))| (% style="width:442px" %)A collection of values for the Member Selections that, combined with other Member Selections, comprise the value content of the Cube Region.190 -| |validFrom|(% style="width:442px" %)Date from which the Selection Value is valid.191 -| |validTo|(% style="width:442px" %)Date from which the Selection Value is superseded.223 +)))|A collection of values for the Member Selections that, combined with other Member Selections, comprise the value content of the Cube Region. 224 +||validFrom|Date from which the Selection Value is valid. 225 +||validTo|Date from which the Selection Value is superseded. 192 192 |MemberValue|((( 193 193 Inherits from 228 + 194 194 //SelectionValue// 195 -)))| (% style="width:442px" %)A single value of the set of values for the Member Selection.196 -| |value|(% style="width:442px" %)A value of the member.197 -| |cascadeValues|(% style="width:442px" %)Indicates that the child nodes of the member are included in the Member Selection (e.g., child codes)230 +)))|A single value of the set of values for the Member Selection. 231 +||value|A value of the member. 232 +||cascadeValues|Indicates that the child nodes of the member are included in the Member Selection (e.g., child codes) 198 198 |LocalisedMemberV alue|((( 199 199 Inherits from 235 + 200 200 //SelectionValue// 201 -)))| (% style="width:442px" %)A single localised value of the set of values for a Member Selection.202 -| |value|(% style="width:442px" %)A value of the member.203 -| |locale|(% style="width:442px" %)The locale that the values must adhere to in the dataset.237 +)))|A single localised value of the set of values for a Member Selection. 238 +||value|A value of the member. 239 +||locale|The locale that the values must adhere to in the dataset. 204 204 |//TimeRangeValue//|((( 205 205 Inherits from 242 + 206 206 //SelectionValue// 244 + 207 207 Abstract Class Concrete Classes: 246 + 208 208 BeforePeriod 248 + 209 209 AfterPeriod 250 + 210 210 RangePeriod 211 -)))| (% style="width:442px" %)A time value or values that specifies the date or dates for which the constrained selection is valid.252 +)))|A time value or values that specifies the date or dates for which the constrained selection is valid. 212 212 |BeforePeriod|((( 213 213 Inherits from 255 + 214 214 //TimeRangeValue// 215 -)))| (% style="width:442px" %)The period before which the constrained selection is valid.216 -| |isInclusive|(% style="width:442px" %)Indication of whether the date is inclusive in the period.217 -| |period|(% style="width:442px" %)The time period which acts as the latest possible reported period257 +)))|The period before which the constrained selection is valid. 258 +||isInclusive|Indication of whether the date is inclusive in the period. 259 +||period|The time period which acts as the latest possible reported period 218 218 |AfterPeriod|((( 219 219 Inherits from 262 + 220 220 //TimeRangeValue// 221 -)))| (% style="width:442px" %)The period after which the constrained selection is valid.222 -| |isInclusive|(% style="width:442px" %)Indication of whether the date is inclusive in the period.223 -| |period|(% style="width:442px" %)The time period which acts as the earliest possible reported period224 -|RangePeriod| |(% style="width:442px" %)The start and end periods in a date range.225 -| |+start|(% style="width:442px" %)Association to the Start Period.226 -| |+end|(% style="width:442px" %)Association to the End Period.264 +)))|The period after which the constrained selection is valid. 265 +||isInclusive|Indication of whether the date is inclusive in the period. 266 +||period|The time period which acts as the earliest possible reported period 267 +|RangePeriod||The start and end periods in a date range. 268 +||+start|Association to the Start Period. 269 +||+end|Association to the End Period. 227 227 |StartPeriod|((( 228 228 Inherits from 272 + 229 229 //TimeRangeValue// 230 -)))| (% style="width:442px" %)The period from which the constrained selection is valid.231 -| |isInclusive|(% style="width:442px" %)Indication of whether the date is inclusive in the period.232 -| |period|(% style="width:442px" %)The time period which acts as the start of the range274 +)))|The period from which the constrained selection is valid. 275 +||isInclusive|Indication of whether the date is inclusive in the period. 276 +||period|The time period which acts as the start of the range 233 233 |EndPeriod|((( 234 234 Inherits from 279 + 235 235 //TimeRangeValue// 236 -)))|(% style="width:442px" %)The period to which the constrained selection is valid. 237 -| |isInclusive|(% style="width:442px" %)Indication of whether the date is inclusive in the period. 238 -| |period|(% style="width:442px" %)The time period which acts as the end of the range 239 -|ReleaseCalendar| |(% style="width:442px" %)The schedule of publication or reporting of the data or metadata 240 -| |periodicity|(% style="width:442px" %)The time period between the releases of the data or metadata 241 -| |offset|(% style="width:442px" %)Interval between January 1^^st^^ and the first release of the data 242 -| |tolerance|(% style="width:442px" %)Period after which the data or metadata may be deemed late. 243 - 281 +)))|The period to which the constrained selection is valid. 282 +||isInclusive|Indication of whether the date is inclusive in the period. 283 +||period|The time period which acts as the end of the range 284 +|ReleaseCalendar||The schedule of publication or reporting of the data or metadata 285 +||periodicity|The time period between the releases of the data or metadata 286 +||offset|Interval between January 1^^st^^ and the first release of the data 287 +||tolerance|Period after which the data or metadata may be deemed late. 288 + 289 + 290 + 291 +
- SDMX 3-0-0 SECTION 2 FINAL-1.0 (1)_en_24db726f.jpg
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.helena - Size
-
... ... @@ -1,1 +1,0 @@ 1 -114.8 KB - Content
- SDMX 3-0-0 SECTION 2 FINAL-1.0 (1)_en_7f83d17f.gif
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.helena - Size
-
... ... @@ -1,1 +1,0 @@ 1 -1.1 KB - Content
- SDMX 3-0-0 SECTION 2 FINAL-1.0 (1)_en_d166f6ab.jpg
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.helena - Size
-
... ... @@ -1,1 +1,0 @@ 1 -243.9 KB - Content
- SDMX 3-0-0 SECTION 2 FINAL-1.0 (1)_en_e601fbfd.jpg
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.helena - Size
-
... ... @@ -1,1 +1,0 @@ 1 -82.9 KB - Content