https://github.com/hdmf-dev/hdmf-schema-language
The specification language for HDMF
https://github.com/hdmf-dev/hdmf-schema-language
Last synced: 8 months ago
JSON representation
The specification language for HDMF
- Host: GitHub
- URL: https://github.com/hdmf-dev/hdmf-schema-language
- Owner: hdmf-dev
- License: other
- Created: 2020-01-04T00:37:37.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2025-05-01T05:32:37.000Z (about 1 year ago)
- Last Synced: 2025-05-01T06:28:35.774Z (about 1 year ago)
- Language: Python
- Homepage: https://hdmf-schema-language.readthedocs.io
- Size: 89.8 KB
- Stars: 2
- Watchers: 4
- Forks: 2
- Open Issues: 8
-
Metadata Files:
- Readme: Readme.md
- License: license.txt
Awesome Lists containing this project
README
# Overview
The HDMF 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](http://hdmf-schema-language.readthedocs.io/) for more information and release notes.
The HDMF specification language is used by the
[Hierarchical Data Modeling Framework (HDMF)](https://github.com/hdmf-dev/hdmf).
## Customizing the language for specific applications
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](https://github.com/hdmf-dev/hdmf-schema-language)
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.
## For maintainers
The HDMF specification documentation is generated using [Sphinx](http://www.sphinx-doc.org/en/stable/index.html)
### Building the documentation
Install the latest version of [Sphinx](http://www.sphinx-doc.org/en/stable/index.html):
```
python -m pip install sphinx
```
To build the documentation, enter:
```
make
```
where `` is, e.g., `html`, `latexpdf`.
For a complete list of supported doc-types, enter:
```
make help
```
To remove previously generated documentation, enter:
```
make clean
```
### Making a release
1. Update the release notes in `source/release_notes.rst`.
2. Update the version in `source/namespace_map.yml`, `source/hdmf.schema.json`, and `source/conf.py`