NeurodataWithoutBorders / lindi

Linked Data Interface (LINDI) - cloud-friendly access to NWB data
BSD 3-Clause "New" or "Revised" License
5 stars 1 forks source link

implement id for group/dataset as a string #39

Closed magland closed 7 months ago

magland commented 8 months ago

fixes #36

In h5py, the id property of a group/dataset is an object that exposes low-level operations specific to the HDF5 library. LINDI aims to override the high-level methods such that the low-level operations on id are not needed. However, sometimes packages (e.g., pynwb) use the id as a unique identifier for purposes of caching. Therefore, we make the id to be a string that is unique for each object. If any of the low-level operations are attempted on this id string, then an exception will be raised, which will usually indicate that one of the high-level methods should be overridden.

With this PR, the id is a unique identifier that is specific to (a) the file object and (b) the name/path of the object within the file.

rly commented 7 months ago

Thanks for the quick fix!