-
Notifications
You must be signed in to change notification settings - Fork 26
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
TermSetWrapper and write support #950
Conversation
Fix #928 |
for more information, see https://pre-commit.ci
Co-authored-by: Oliver Ruebel <[email protected]>
Order of Operations for appending data:
|
The use of "fields" is not consistent, which makes searching for the wrapper more difficult. |
The meaning of "attribute" is starting to take on multiple meanings. When we are sloppy we say attribute and field, but that is not always interchangeable. Attribute in HDF5 is not always a field. For example, in data we have a description attribute but the data itself is not, even though you can think of it as a python field. Now that you can wrap hdf5 dataset and hdf5 attributes. |
Co-authored-by: Oliver Ruebel <[email protected]>
Motivation
What was the reasoning behind this change? Please explain the changes briefly.
This will introduce the
TermSetWrapper
class. The point of this class is act similarly to DataIO in which it can be wrapped around objects to provide a TermSet to HDF5 datasets, and attributes.The wrapper will hold the termset for validation for any dataset or attribute. Some concerns:
write
. The termset wrapper is not supposed to be written and so needs to be unwrapped.TODO:
HDMFIO
(in order to be later ported to HDMF_Zarr), changes to howHERD
interacts withTermSet
due to the wrapper, updates onadd_ref_term_set
, and assorted helper functionsTermSetWrapper
. This will also require changes toadd_column
andadd_row
inDynamicTable
andadd_row
inVectorData
(all require test changes).How to test the behavior?
Checklist
ruff
from the source directory.