sdmx3mdt / public-consultation

0 stars 0 forks source link

REST: How to retrieve DSD-linked referential metadata #43

Closed dosse closed 3 years ago

dosse commented 3 years ago

Does the metadata query by structure (protocol://ws-entry-point/metadata/structure/{artefactType}/{agencyID}/{resourceID}/{version}?{detail}) allow to retrieve referential metadata that were defined through DSD linkage, e.g. for a specific dataflow?

More specifically, what query can be used to retrieve DSD-linked referential metadata attached to specific dimension group values? Maybe a metadata query "by data" would be required as was intended earlier?, e.g. protocol://ws-entry-point/metadata/data/dataflow/ECB/EXR/1.0.0?c[REF_AREA]=BE

agent96 commented 3 years ago

I believe this is metadata against a cube of data which matches a specific group of dimension values, therefore you would use the data query as you have. I.e give me all metadata for Exchange Rates data where REF_AREA is BE.

dosse commented 3 years ago

Thanks, @agent96. For the context, I'm in this scenario:

image

Whatever data query I do I would not only get the metadata but also the data. The need here is rather for a metadata query that only returns the related metadata without data, similarly to referential metadata for structures where you can get only the referential metadata for structures without the underlying structures themselves.

By the way, do you know if/how referential metadata availability queries work?

agent96 commented 3 years ago

I'm not actually sure what the query is to be honest. To get metadata back for data, it is the data query - but there is no way to say 'metadata only' or even 'exclude metadata' if you only want the data. This seems to have been an oversight in the design, possibly because the design changed quite frequently. I do not believe there are metadata availability queries.

dosse commented 3 years ago

I think that "there is no way to say 'metadata only' or even 'exclude metadata'" is exactly the issue, the currently missing feature in the new metadata implementation. Didn't we discuss to have a /metadata/data/... query as we have for structures?

agent96 commented 3 years ago

This is now supported in the REST API for data - where the user can explicitly opt to include or exclude components by type (i.e execute the data query and only include metadata attributes)

attributes | String | This parameter specifies the attributes to be returned. Possible options are: dsd (all the attributes defined in the data structure definition), msd (all the reference metadata attributes), dataset (all the attributes attached to the dataset-level), series (all the attributes attached to the series-level), obs (all the attributes attached to the observation-level), all (all attributes), none (no attributes), {attribute_id}: The ID of one or more attributes the caller is interested in. | dsd | Yes

measures | String | This parameter specifies the measures to be returned. Possible options are: all (all measures), none (no measure), {measure_id}: The ID of one or more measures the caller is interested in.

glenntav commented 3 years ago

The issue has been fixed in the sdmx30-review-1 branch, which will be merged with the rest at the end of the public review process.