Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Slight rewrite of use case structure

...

Adopt a canonical serialization for DataId and DatasetRef objects.

Motivation

...

and Use Cases

To facilitate reliable exchange of information "outside of code", primarily through the human world and in copy/paste operations, about specific datasets.

To avoid requiring consumers of results from external dataset metadata queries to have to rebuild DataIds by assembling pieces from multiple columns returned from the query.

  1. When performing an ObsTAP or SIAv2 query against LSST data, one of the columns in the query result contains the string serializations the availability of a string serialization of DatasetRef values for the datasets reported in the query result , and is markedwould enable a DatasetRef-valued column to be added to the query result, marked-up with data model metadata that enables a programmatic or UI client to recognize the column as such.  This in turn would enable the following applications:
    1. For
    2. In the case of a programmatic queryqueries, LSST can provide a Python query API that directly returns DatasetRef or DataId objects, as appropriate, which can then be used directly in Python code to access and process the datasets in question.
    3. In For the case of a UI-driven (Portal Aspect) queryqueries, the Portal can provide functions UI actions such as "copy reference to clipboard" that facilitate interoperation between the Portal and Notebook Aspects - the user can search for data in the Portal and then paste immediately usable references to that data directly into Python code in the Notebook.
    4. A programmatic or UI client can use IVOA DataLink metadata in a query result to discover additional resources related to a row returned from a dataset metadata query.  See (2) below for more detail.
    5. By being able to recognize  a column as containing a DatasetRef serialization, a UI client could display it with space-efficient UI elements like a 
      Status
      titleDatasetRef
       icon with a copy-to-clipboard function, instead of displaying a cryptic JSON string in a wide column.
  2. One or more IVOA DataLink "{links} services" can be created whose ID=  query parameter takes a DataId or DatasetRef serialization and returns references to related data.  This could be used for things like linking a calexp to the directly associated raw, difference image, etc., and it could also be used to look up indirect associations like going from a visit image to the calibration images that are configured to be the appropriate ones for it.
  3. In automatically-generated, or even human-generated, reports, datasets that had processing problems or were otherwise worth noting could be identified including the canonical serialization, facilitating readers going to a Python prompt to perform further analysis on that dataset.

...