Skip to content

Conversation

mavaylon1
Copy link
Collaborator

@mavaylon1 mavaylon1 commented Jul 8, 2025

Allow HERD to be stored internally, but still allow external override

Future development:
On the surface to the user, HERD is a table and when you query before any I/O, you will see lists and tuples. Under the hood, HERD is written as a structured array and on read is no longer a list/tuple but a structured array. This was a bit surprising and so I spent some time to map over the array to a list on read in the get_item. However, this grew in complexity reaching __swap_refs in AbstractH5TableDataset. Without a clear easy solution, I am leaving this for future development. It is because of this the tests are structured the way they are in the asserts.

What was the reasoning behind this change? Please explain the changes briefly.

How to test the behavior?

Show how to reproduce the new behavior (can be a bug fix or a new feature)

Checklist

  • Did you update CHANGELOG.md with your changes?
  • Have you checked our Contributing document?
  • Have you ensured the PR clearly describes the problem and the solution?
  • Is your contribution compliant with our coding style? This can be checked running ruff check . && codespell from the source directory.
  • Have you checked to ensure that there aren't other open Pull Requests for the same change?
  • Have you included the relevant issue number using "Fix #XXX" notation where XXX is the issue number? By including "Fix #XXX" you allow GitHub to close issue #XXX when the PR is merged.

@mavaylon1
Copy link
Collaborator Author

Future Development:
After reviewing the HERD paper, there needs be work on updating the IO on write. In HDMFIO write, it will go through and create a HERD instance or use a HERD instance to resolve the TermSetWrapper calls that were used in the file. This is currently stored externally. I am keeping HDMF as original as possible, with everything being stored external as we discussed. That being said, there needs to be work updating the write in NWBHDFIO to write it internally.

@mavaylon1
Copy link
Collaborator Author

Review Notes: This should be good to go. It needs nwb schema to be merged first.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant