Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal: Enhance Annotation Referencing in SDMX-JSON Data Messages #140

Open
hoehrmann opened this issue Mar 27, 2024 · 0 comments
Open

Comments

@hoehrmann
Copy link

hoehrmann commented Mar 27, 2024

Introduction:

Currently, SDMX-JSON data messages allow referencing annotations attached to components (like dimensions) only by their index within the $.data.structures[*].annotations[*] array. While this approach offers space and memory efficiency for frequently used annotations, it hinders readability for component-specific annotations. This proposal advocates for introducing an optional annotation object alongside the existing index-based referencing system.

Problem:

The current design necessitates using tools to link a component's annotation reference back to the actual annotation within the annotations array. This significantly impedes human readability of SDMX-JSON data messages, especially for those containing numerous annotations or when dealing with component-specific annotations.

Proposed Solution:

This proposal recommends introducing an optional annotation object alongside the existing index-based referencing system anywhere under $.data.structures. This object would directly hold the annotation details within the component definition itself.

Benefits:

  • Improved Readability: Users can directly access component-specific annotations without relying on external tools, enhancing human comprehension of the data message.
  • Flexibility: The proposal offers a choice between the existing efficient referencing and the new approach for better readability, catering to different use cases.
  • Backward Compatibility: Existing data messages remain valid as the index-based referencing continues to function.

Additional Rationale:

Consider it from this perspective: $.data.structures is almost a schema language for non-SDMX legacy .csv files. There are existing workflows involving Spreadsheet and/or CSV templates to support conversion into SDMX. With very little effort, it would be possible to provide an alternative to such workflows using the SDMX-JSON $.data.structures format with the actual data held in non-SDMX CSV files. The $.data.structures part of such a workflow would likely be maintained manually, but having to reference annotations indirectly under $.data.structures makes that significantly more difficult.

(In doubt, please handle this as a public review comment on SDMX 3.1 once the comment period begins.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant