Skip to content
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

add FAQ section for why the HDMF schema language was created #46

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

bendichter
Copy link
Collaborator

No description provided.

@bendichter bendichter requested a review from oruebel May 23, 2022 18:52
@bendichter
Copy link
Collaborator Author

@oruebel I took some liberties here and I want to make sure this represents the position of the group before adding it to the documentation. Let me know your thoughts. Happy to discuss.

@oruebel
Copy link
Contributor

oruebel commented May 23, 2022

I haven't had the chance to review the text in detail, but in general it looks ok. Retracing history after the fact is always challenging and some of that history comes also from NWB 1. Just a couple of high-level comments:

  1. The initial goal of NWB 2 was to take NWB 1 and make it usable. NWB 1 introduced the notion of the schema but it didn't use a formal language. If you look here, the schema for NWB 1 was a large, hand-written Python dict with no formal API or formally defined structure. And so part of the initial development of NWB 2 was to formalize the schema and make it usable.
  2. Another piece of the puzzle (you are speaking in part to that in your text) is that we needed a schema language to describe array-based data formats. In particular it needed to support the primitives of HDF5 since those were the ones that NWB 1 used. Unfortunately, there are no standard schema formats for array formats (e.g., HDF5).
  3. However, the goal was to make the language easy to use, and so using JSON/YAML as standard format for the schema so that it can be used across platforms and integrated with existing tool-chains, e.g, json-schema was part of that strategy.

@bendichter
Copy link
Collaborator Author

@oruebel ok, I added a bit from your comments. (this isn't high priority, we can put it on the back burner while you get the proposals out)

@oruebel
Copy link
Contributor

oruebel commented May 23, 2022

Sounds good

@bendichter bendichter requested a review from rly December 23, 2022 15:02
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.

2 participants