As of 2020-08-10, this code was integrated into search-api
.
JSON Schemas for documents from the HuBMAP Search API: The HuBMAP Portal depends on there being a consistent document structure.
The wrapped metadata elements in these documents come from metadata TSVs submitted along with the data; Their structure is described by ingest-validation-tools.
JSON Schemas (as YAML) are in data/schemas
. This repo is incorporated as a git submodule in portal-ui
.
As we see see validation warnings in the Portal, we should update the schemas here to tolerate these variations, but for each tweak, we should also file an issue here to follow-up with PSC:
- Is the variation something intentional, or a bug?
- If intentional, what are the semantics?
- Are there other variations we should be aware of?
After checkout and cd:
pip install -r requirements.txt
pip install -r requirements-dev.txt
./test.sh
- Schemas begin as YAML files.
- The information is then consolidated into a single YAML by
consolidate-yaml.py
. - And from that single YAML, JSON Schemas are generated by
definitions-yaml-to-schema.py
.
The schemas are derived from TSVs in data/definitions
.
If updates are needed, please make the changes there,
and Chuck will regenerate the schemas.
For now, we're just using git tags. When it's time to tag a version, checkout a new branch, and
./push.sh
Update the CHANGELOG, adding the date for the current tag, and stubbing the new "in progress" version, and make a PR from the branch.