hdmf-dev / hdmf-common-schema

Specifications for pre-defined data structures provided by HDMF.
Other
3 stars 7 forks source link

Document how ExternalResources `field` values should be written #59

Closed rly closed 1 year ago

rly commented 3 years ago

When adding an object to the ExternalResources objects table, you supply a container object ID and a field. In most cases, the field is the name of a dataset or attribute, but it could be a little more complicated.

Let's say the container is a group data type (e.g., TimeSeries) and it has a dataset (e.g., data) without a data type, and that dataset has a string attribute (e.g., unit). The 'field' value then needs to signal that the field is the 'unit' attribute on the 'data' dataset. This could be done using '/' as a separator, e.g., field='data/unit'.

Now let's say the attribute is not a string but a compound data type with columns/fields 'x', 'y', and 'z', and each column/field is associated with different ontologies. The 'field' value also needs to account for this. This could also be done using '/' as a separator, e.g., field='data/unit/x'.

Whatever string formatting scheme we choose should be explicitly described in the docs and then handled by the API.

This comes up from @oruebel and @rightbower when ontologizing a column/field of a compound data type column in an ICEPhys table.

oruebel commented 2 years ago

@mavaylon1 can this issue be closed?