The NWB specification language defines formal structures for describing the organization of complex data using basic concepts, e.g., Groups, Datasets, Attributes, and Links. See the documentation for more information and release notes.
The NWB specification language is used by the Neurodata Without Borders (NWB) neurophysiology data standard and is based off of the Hierarchical Data Modeling Framework (HDMF) specification language.
Certain keys of the hdmf-schema-language may be customized for a particular scientific domain or use case. For example,
the data_types
key in the namespace may be customized to be neurodata_types
and the
data_type_def
and data_type_inc
keys in the schema may be customized to be neurodata_type_def
and neurodata_type_inc
for use in a neuroscience-specific application of the hdmf-schema-language. This can be
easily done by forking the hdmf-schema-language repo
and updating source/namespace_map.yml
with the appropriate customizations. The source/hdmf.schema.json
and any
references to HDMF in the documentation should also be modified appropriately. See the [NWB schema language repo]
(https://github.com/NeurodataWithoutBorders/nwb-schema-language) for an example of customizing the HDMF schema language
for use as the NWB schema language.
The NWB specification documentation is generated using Sphinx
Install the latest version of Sphinx:
python -m pip install sphinx
To build the documentation, enter:
make <doctype>
where <doctype>
is, e.g., html
, latexpdf
.
For a complete list of supported doc-types, enter:
make help
To remove previously generated documentation, enter:
make clean
- Update the release notes in
source/release_notes.rst
. - Update the version in
source/namespace_map.yml
,source/nwb.schema.json
, andsource/conf.py