Last modified by Elena on 2025/09/10 11:19

From version 3.14
edited by Helena
on 2025/07/02 16:17
Change comment: There is no comment for this version
To version 3.15
edited by Helena
on 2025/07/02 16:18
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -826,51 +826,51 @@
826 826  
827 827  == 4.1 Data Actions ==
828 828  
829 -Data messages allow indicating intended actions when used to update an SDMX storage system. This purpose is noted in the action of the data set, which is either inherited from the header of the data message or explicitly stated at the data set level.
829 +Data messages allow indicating intended actions when used to update an [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] storage system. This purpose is noted in the action of the [[data set>>doc:sdmx:Glossary.Data set.WebHome]], which is either inherited from the header of the data message or explicitly stated at the [[data set>>doc:sdmx:Glossary.Data set.WebHome]] (% style="color:#e74c3c" %)level(%%).
830 830  
831 -Note that the former *Append* and *Information* actions are deprecated. When used to update an SDMX storage system, the *Merge* action is assumed.
831 +Note that the former *Append* and *Information* actions are deprecated. When used to update an [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] storage system, the *Merge* action is assumed.
832 832  
833 833  === 4.1.1 Merge Action ===
834 834  
835 -Data or data-related reference metadata is to be merged, through either update or insertion depending on already existing information. This operation does not allow deleting any component values. Updating individual values in multi-valued measure, attribute or data-related reference metadata values is not supported either. The complete multi-valued value is to be provided.
835 +Data or data-related [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]] is to be merged, through either update or insertion depending on already existing information. This operation does not allow deleting any [[component>>doc:sdmx:Glossary.Component.WebHome]] values. Updating individual values in multi-valued [[measure>>doc:sdmx:Glossary.Measure.WebHome]], [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] or data-related [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]] values is not supported either. The complete multi-valued value is to be provided.
836 836  
837 -Only non-dimensional components (measure, attribute or data-related reference metadata values) can be **omitted** (null or absent) as long as at least one of those components is present. Bulk merges are thus not supported. Only the provided values are merged.
837 +Only non-dimensional [[components>>doc:sdmx:Glossary.Component.WebHome]] ([[measure>>doc:sdmx:Glossary.Measure.WebHome]], [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] or data-related [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]] values) can be **omitted** (null or absent) as long as at least one of those [[components>>doc:sdmx:Glossary.Component.WebHome]] is present. Bulk merges are thus not supported. Only the provided values are merged.
838 838  
839 -Dimension values for higher-level (data-related reference metadata) attributes can be **switched-off** (using ) when those are not attached to these dimensions.
839 +[[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] values for higher-(% style="color:#e74c3c" %)level(%%) (data-related [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]]) [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] can be **switched-off** (using ) when those are not attached to these dimensions.
840 840  
841 -All observations as well as the sets of data-related reference metadata attributes at specific dimension combinations impacted by the *Merge* action change their time stamp when used to update an SDMX storage system.
841 +All observations as well as the sets of data-related [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]] [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] at specific [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] combinations impacted by the *Merge* action change their time stamp when used to update an [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] storage system.
842 842  
843 843  === 4.1.2 Replace Action ===
844 844  
845 -Data or data-related reference metadata is to be replaced, through either update, insert or delete depending on already existing information. A full replacement is hereby assumed to take place at specific “//replacement levels//”: for entire observations and for any specific dimension combination for data-related reference metadata attributes. Within these “replacement levels” the provided values are inserted or updated, and omitted values are deleted. Values provided for the other attributes (those above the observation level) are merged (see //Merge// action).
845 +Data or data-related [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]] is to be replaced, through either update, insert or delete depending on already existing information. A full replacement is hereby assumed to take place at specific “//replacement (% style="color:#e74c3c" %)levels//(%%)”: for entire observations and for any specific [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] combination for data-related [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]] [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]]. Within these “replacement (% style="color:#e74c3c" %)levels(%%)” the provided values are inserted or updated, and omitted values are deleted. Values provided for the other [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] (those above the observation (% style="color:#e74c3c" %)level(%%)) are merged (see //Merge// action).
846 846  
847 -Only non-dimensional components (measure, attribute or reference metadata values) can be **omitted** (null or absent). Bulk replacing is thus not supported.
847 +Only non-dimensional [[components>>doc:sdmx:Glossary.Component.WebHome]] ([[measure>>doc:sdmx:Glossary.Measure.WebHome]], [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] or [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]] values) can be **omitted** (null or absent). Bulk replacing is thus not supported.
848 848  
849 -Dimension values for higher-level (data-related reference metadata) attributes can be **switched-off** (using ) when those are not attached to these dimensions.
849 +[[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] values for higher-(% style="color:#e74c3c" %)level(%%) (data-related [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]]) [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] can be **switched-off** (using ) when those are not attached to these dimensions.
850 850  
851 851  Replacing non-existing elements is not resulting in an error.
852 852  
853 -All observations as well as the sets of data-related reference metadata attributes at specific dimension combinations impacted by the //Replace// action change their time stamp when used to update an SDMX storage system.
853 +All observations as well as the sets of data-related [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]] [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] at specific [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] combinations impacted by the //Replace// action change their time stamp when used to update an [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] storage system.
854 854  
855 -Because the //replace// action always takes place at specific levels, it cannot be used to replace a whole dataset or a whole series. However, a //“replace all”// effect can be achieved by combining a //Delete// dataset containing a completely wildcarded key (where all dimension values are omitted) with a //Merge// or //Replace// dataset within the same data message. Similarly, to replace a whole series, a message can combine a //delete// dataset containing only the partial key of the series (where the not used dimension values are omitted) with a //Merge// or //Replace// dataset for that series.
855 +Because the //replace// action always takes place at specific (% style="color:#e74c3c" %)levels(%%), it cannot be used to replace a whole [[dataset>>doc:sdmx:Glossary.Data set.WebHome]] or a whole series. However, a //“replace all”// effect can be achieved by combining a //Delete// [[dataset>>doc:sdmx:Glossary.Data set.WebHome]] containing a completely wildcarded key (where all [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] values are omitted) with a //Merge// or //Replace// [[dataset>>doc:sdmx:Glossary.Data set.WebHome]] within the same data message. Similarly, to replace a whole series, a message can combine a //delete// [[dataset>>doc:sdmx:Glossary.Data set.WebHome]] containing only the partial key of the series (where the not used [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] values are omitted) with a //Merge// or //Replace// [[dataset>>doc:sdmx:Glossary.Data set.WebHome]] for that series.
856 856  
857 857  === 4.1.3 Delete Action ===
858 858  
859 -Data or data-related reference metadata is to be deleted. Deletion is hereby assumed to take place at the lowest level of detail provided in the message.
859 +Data or data-related [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]] is to be deleted. Deletion is hereby assumed to take place at the lowest (% style="color:#e74c3c" %)level(%%) of detail provided in the message.
860 860  
861 -Any component (including dimensions) can be **omitted** (dimensions: empty, others: null or absent). Omitting dimension values allows for bulk deletions. Partially omitting non-dimension component values allows restricting the deletion of measure, attribute or data-related reference metadata values to the ones being present. Instead of real values for non-dimensional components, it is sufficient to use any valid value.
861 +Any [[component>>doc:sdmx:Glossary.Component.WebHome]] (including [[dimensions>>doc:sdmx:Glossary.Dimension.WebHome]]) can be **omitted** ([[dimensions>>doc:sdmx:Glossary.Dimension.WebHome]]: empty, others: null or absent). Omitting [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] values allows for bulk deletions. Partially omitting non-[[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] [[component>>doc:sdmx:Glossary.Component.WebHome]] values allows restricting the deletion of [[measure>>doc:sdmx:Glossary.Measure.WebHome]], [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] or data-related [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]] values to the ones being present. Instead of real values for non-dimensional [[components>>doc:sdmx:Glossary.Component.WebHome]], it is sufficient to use any valid value.
862 862  
863 -With this, whole datasets, any slices of observations for dimension groups such as time series, observations or individual measure, attribute and data-related reference metadata attributes values can be deleted.
863 +With this, whole [[datasets>>doc:sdmx:Glossary.Data set.WebHome]], any slices of observations for [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] groups such as time series, observations or individual [[measure>>doc:sdmx:Glossary.Measure.WebHome]], [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] and data-related [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]] [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] values can be deleted.
864 864  
865 -Dimension values for higher-level (data-related reference metadata) attributes can be **switched-off** (using ) when those are not attached to these dimensions.
865 +[[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] values for higher-(% style="color:#e74c3c" %)level(%%) (data-related [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]]) [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] can be **switched-off** (using ) when those are not attached to these [[dimensions>>doc:sdmx:Glossary.Dimension.WebHome]].
866 866  
867 867  Deleting non-existing elements or values is not resulting in an error.
868 868  
869 -All observations as well as the sets of attributes and data-related reference metadata at higher partial keys impacted by the *Delete* action change their time stamp when used to update an SDMX storage system.
869 +All observations as well as the sets of [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] and data-related [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]] at higher partial keys impacted by the *Delete* action change their time stamp when used to update an [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] storage system.
870 870  
871 871  === 4.1.4 Further Details ===
872 872  
873 -The following convention is used to indicate the state of components in data messages:
873 +The following convention is used to indicate the state of [[components>>doc:sdmx:Glossary.Component.WebHome]] in data messages:
874 874  
875 875  (% style="width:1364.29px" %)
876 876  | | |(% style="width:260px" %)**Dimension value is**|(% style="width:391px" %) |(% style="width:383px" %)**Measure, attribute or reference metadata value is**|(% style="width:184px" %)
... ... @@ -884,23 +884,23 @@
884 884  
885 885  **Important notes:**
886 886  
887 -The terms “//delete//”, “//merge//” and “//replace//” do **not** imply a physical replacement or deletion of values in the underlying database. To minimize the physical resource requirements, SDMX web service implementations that do not support the //includeHistory// and //asOf// URL parameters might physically replace the existing values in the database. SDMX web services that neither support the *updatedAfter* URL parameter might also implement physical deletions. However, SDMX web services that support these parameters (or other time-machine features), would not overwrite or delete the physical values.
887 +The terms “//delete//”, “//merge//” and “//replace//” do **not** imply a physical replacement or deletion of values in the underlying database. To minimize the physical resource requirements, [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] web service implementations that do not support the //includeHistory// and //asOf// URL parameters might physically replace the existing values in the database. [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] web services that neither support the *updatedAfter* URL parameter might also implement physical deletions. However, [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] web services that support these parameters (or other time-machine features), would not overwrite or delete the physical values.
888 888  
889 -SDMX web services that support the //includeHistory// or //asOf// URL parameters should never allow deleting their **historic** data content because this would interfere with the interests of data consumers, such as data aggregators. Therefore, a specific feature to physically delete previous (outdated) content is intentionally not added to the SDMX standard syntax. If such a feature is required by an organisation, then it needs to be implemented as a custom feature outside the SDMX standard.
889 +[[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] web services that support the //includeHistory// or //asOf// URL parameters should never allow deleting their **historic** data content because this would interfere with the interests of [[data consumers>>doc:sdmx:Glossary.Data consumer.WebHome]], such as data aggregators. Therefore, a specific feature to physically delete previous (outdated) content is intentionally not added to the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] standard syntax. If such a feature is required by an organisation, then it needs to be implemented as a custom feature outside the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] standard.
890 890  
891 -Likewise, all SDMX-compliant systems that do (or are configured to) support the //updatedAfter// URL parameter need to systematically retain the information about deleted data (or data-related reference metadata).
891 +Likewise, all [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]]-compliant systems that do (or are configured to) support the //updatedAfter// URL parameter need to systematically retain the information about deleted data (or data-related reference metadata).
892 892  
893 -All datasets – even with varying actions – within a single data message have always to be treated as **ACID transaction** to guarantee “transactional safety” (full data consistency and validity despite errors, power failures, and other mishaps). These datasets are to be processed in the order of appearance in the message. The advantage of such data messages is thus the ability to bundle separate //delete// and //replace// or //merge// actions into one transactional data message.
893 +All [[datasets>>doc:sdmx:Glossary.Data set.WebHome]] – even with varying actions – within a single data message have always to be treated as **ACID transaction** to guarantee “transactional safety” (full data consistency and validity despite errors, power failures, and other mishaps). These [[datasets>>doc:sdmx:Glossary.Data set.WebHome]] are to be processed in the order of appearance in the message. The advantage of such data messages is thus the ability to bundle separate //delete// and //replace// or //merge// actions into one transactional data message.
894 894  
895 -**Recommended{{footnote}}So far this is recommended for systems that do not require backward-compatibility. Later, with SDMX 4.0, this may generally be made mandatory{{/footnote}} dataset actions in SDMX web service responses to GET data queries:**
895 +**Recommended{{footnote}}So far this is recommended for systems that do not require backward-compatibility. Later, with SDMX 4.0, this may generally be made mandatory{{/footnote}} [[dataset>>doc:sdmx:Glossary.Data set.WebHome]] actions in [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] web service responses to GET data queries:**
896 896  
897 -~1. Without the //updatedAfter//, //includeHistory//, //detail//, //attributes// or //measures// URL parameters:
897 +~1. Without the //updatedAfter//, //includeHistory//, //detail//, //[[attributes>>doc:sdmx:Glossary.Attribute.WebHome]]// or //[[measures>>doc:sdmx:Glossary.Measure.WebHome]]// URL parameters:
898 898  
899 -The response message should contain the retrieved data in a //Replace// dataset (instead of the previous *information* dataset).
899 +The response message should contain the retrieved data in a //Replace// [[dataset>>doc:sdmx:Glossary.Data set.WebHome]] (instead of the previous *information* [[dataset>>doc:sdmx:Glossary.Data set.WebHome]]).
900 900  
901 -2. Without the //updatedAfter// and //includeHistory//, but with //detail//, //attributes// or //measures// URL parameters:
901 +2. Without the //updatedAfter// and //includeHistory//, but with //detail//, //[[attributes>>doc:sdmx:Glossary.Attribute.WebHome]]// or //[[measures>>doc:sdmx:Glossary.Measure.WebHome]]// URL parameters:
902 902  
903 -The response message should contain the retrieved data in a //Merge// dataset (instead of the previous *Information* dataset).
903 +The response message should contain the retrieved data in a //Merge// [[dataset>>doc:sdmx:Glossary.Data set.WebHome]] (instead of the previous *Information* [[dataset>>doc:sdmx:Glossary.Data set.WebHome]]).
904 904  
905 905  3. With the //updatedAfter// URL parameter:
906 906