v8.0.0
Curated release notes
Overhaul of the definition and usage of CURIe prefixes.
- Most notably, the
default_curi_maps
assertions have been
removed from all schema source file, likesrc/schema/nmdc.yaml
. All prefixes that will be used in the schema
(slot_uri
s,mappings
,id_prefixes
, etc.) must be defined in eithernmdc.yaml
or another source field that it
imports
. There is now a single, auto-generated file that contains all prefix definitions across the merged schema:
project/jsonld/nmdc.context.jsonld
. Note that it uses two patterns for expanding prefixes. Both are accessed from the
@context
outer key.- direct:
"EFO": "http://www.ebi.ac.uk/efo/"
- via an
@id
inner key:"ENVO": { "@id": "http://purl.obolibrary.org/obo/ENVO_"}
.
Other keys in these dictionaries can usually be ignored.
- direct:
- The
GOLD
prefix is no longer allowed in the schema or any schema compliant data. Onlygold
is allowed now. - A discussion of prefixes, CURIes, identifiers and mappings has been added:
src/docs/prefixes_curies_ids_mappings_etc.md
- https://bioregistry.io is now consistently preferred over http://identifiers.org as a CURIe resolving service.
The version is this release is a draft, and community members are welcome to ask questions or make suggestions.
New data migration code:
Extraction
s must replace usages of thesample_mass
slot withinput_mass
- replacement of
GOLD
prefixes withgold
prefixes in three classes - updates to
src/data
files:/valid
shows the post migration state.
Other
- SPARQL queries have been added or updated in
assets/sparql
- see also
nmdc_schema/class_sparql.py
- see also
- example python QC code, using LinkML SchemaView, has been added
nmdc_schema/list_id_prefixes_and_patterns.py
nmdc_schema/list_slot_usages.py
nmdc_schema/list_structured_patterns.py
- many definitional attributes of slots have been moved out of per-class
slot_usage
blocks.
Especially insrc/schema/workflow_execution_activity.yaml
. Likewise, all class should not assert their slots with a
slots
list, not implicitly via theslot_usage
blocks.required: true
, customizedrange
s and customizeddescription
s
can still be found inslot_usage
blocks. Not that some of these are non-monotonic and need further attention.
An example would be when the global definition of a slot uses an enumerationrange
but a slot_usage uses astring
range
.
Auto-generated (but equally important) release notes
- Remove invalid water content examples by @aclum in #1084
- Issue1031 input sample mass by @brynnz22 in #1109
- Issue 24 omics processing move by @brynnz22 in #1118
- Issue1097 study consortia by @brynnz22 in #1098
- update nucleicAcidQuantMethod mapping by @brynnz22 in #1036
- Prefixes standardization (no default curi maps) and making some slot_usage attributes global by @turbomam in #1116
Full Changelog: v7.8.0...v8.0.0