Releases: microbiomedata/nmdc-schema
Releases · microbiomedata/nmdc-schema
v9.3.0
What's Changed
- 1432 expand raw data types to support emsl workflows by @aclum in #1479
- Update Extraction class and add valid data examples for review by @JamesTessmer in #1468
- Allow tables to be sorted in schema documentation by @sujaypatil96 in #1484
- problem examples become valid or invalid by @turbomam in #1452
- oaklib dependency OK now by @turbomam in #1486
- Update CONTRIBUTING.md by @cmungall in #1491
- create ChromatographicSeparationProcess class by @anastasiyaprymolenna in #1482
- Delete src/docs/nmdc-schema-style-and-collaboration-guide.md by @cmungall in #1497
- comments notes todos tidying by @turbomam in #1449
- obj prop domain assertions by @turbomam in #1500
- more free-standing modules by @turbomam in #1505
- commented out
attribute
defn and usages by @turbomam in #1504 - domains mostly ok by @turbomam in #1506
- re-scoped
has_part
back to pathways by @turbomam in #1507 - Add link to ADR by @cmungall in #1510
- 1130 emsl data object prefix by @aclum in #1509
New Contributors
- @anastasiyaprymolenna made their first contribution in #1482
Full Changelog: v9.2.0...v9.3.0
v9.2.0
PR #1400 introduces a breaking change requiring migration: websites
values must not contain a DOI-like pattern. Migrator Migrator_from_9_1_to_9_2
is included in this release's project.Makefile
What's Changed
- Fix broken URI links on enum documentation pages by @sujaypatil96 in #1301
- Return the transformed study from the transformation function by @eecavanna in #1312
- add ORCID prefix expansion to nmdc.yaml by @turbomam in #1319
- Add OBI prefix expansions by @turbomam in #1318
- removed # comments and most deprecated elements by @turbomam in #1322
- null migration by @turbomam in #1323
- committed to
emsl_project_identifiers
by @turbomam in #1324 has_part
withNamedThing
domain and range by @turbomam in #1345- Refactor migrator classes into own modules and fix YAML file loading by @eecavanna in #1340
- added
biosample
prefix expansion by @turbomam in #1354 - Fix
see_also
link inexternal_identifier
type by @sujaypatil96 in #1355 - Add
doctest
s to example transformation function by @eecavanna in #1357 - add artifact upload to 'migration' action by @turbomam in #1363
- Refactor
LabDevice
,Instrument
andInstrumentValue
by @turbomam in #1332 - Add doctests to existing migration classes by @eecavanna in #1384
- linkml ^1.6.3 linkml-runtime ^1.6.2 by @turbomam in #1388
- update prov
Activity
description by @turbomam in #1390 - Add data_management_plan_doi enum by @brynnz22 in #1391
- include typecodes endpoint in static docs by @turbomam in #1392
- mkdocs.yml update after adding mention of typecode api by @turbomam in #1395
- Mark's update to mkdocs.yml by @turbomam in #1396
- Update
make
target to run all migrators' doctests (and fix bug in test) by @eecavanna in #1399 - don't use jsonschema library by @turbomam in #1401
- add element deprecation documentation by @brynnz22 in #1393
- add edi and zenodo permissible values by @brynnz22 in #1405
- Add
FiltrationProcess
class and supporting slots and enumerations by @JamesTessmer in #1326 - 1327 adding MixingProcess class for materialprocessing by @JamesTessmer in #1407
- Redirect
/home
to/
on documentation website (mkdocs) by @eecavanna in #1410 - no special polymorphic dir or target by @turbomam in #1413
- Remove stray white space in MixingProcess description. by @JamesTessmer in #1416
- import
host_disease_stat
from MIxS by @turbomam in #1408 - Hyperlink all URLs that appear in in free text on documentation pages by @sujaypatil96 in #1417
- 1337 add slot bulk elect conductivity by @bmeluch in #1352
- host_disease_stat workarround plus PATO exp by @turbomam in #1425
- add regex
pattern
towebsites
slot: DOI-like values not allowed by @brynnz22 in #1400
New Contributors
Full Changelog: v9.1.0...v9.2.0
v9.1.0
What's Changed
- 487 Add slot description by @mbthornton-lbl in #1266
- Change name of invalid Study file to specify Database by @brynnz22 in #1286
- emsl: kept as is, UUID: -> emsl_uuid_like by @turbomam in #1292
- Fix issue where NMDC logo image would not appear on PyPI page and was distorted on GitHub by @eecavanna in #1294
- added terminal underscore to edam.data expansion by @turbomam in #1295
- include 'umbrella' in part_of Study slot usage definition for clarity by @brynnz22 in #1298
- allow slot insdc_bioproject_identifiers on class OmicsProcessing by @turbomam in #1296
- 1299 add ucd genome center to processinginstitutionenum by @aclum in #1300
- Update CODE_OF_CONDUCT.md by @shreddd in #1277
- Update CONTRIBUTING.md by @aclum in #1273
- version string updates for v9.1.0 by @turbomam in #1307
New Contributors
- @mbthornton-lbl made their first contribution in #1266
- @shreddd made their first contribution in #1277
Full Changelog: v9.0.4...v9.1.0
v9.0.4
What's Changed
Introduces a --migrator-name
option for including multiple migrations in one migration-recursion
session
Despite the PR title, @brynnz22's new DOI modeling does validate now!
see also
- v9.0.2 really with version tag updates by @turbomam in #1265
- migration and validation OK, DOIs fail conversion by @turbomam in #1282
Full Changelog: v9.0.0...v9.0.4
v9.0.0
v8.1.2
v8.1.1
What's Changed
- Deprecated emsl_proect_dois and removed from Study class usage by @brynnz22 in #1161
- Require study_category by @brynnz22 in #1162
- remove publications slot, update example data by @brynnz22 in #1136
- prep for migration action: workflow_dispatch by @turbomam in #1176
- prep for migration action: deploy java by @turbomam in #1177
- prep for migration action: get java version by @turbomam in #1178
- download robot by @turbomam in #1179
- prep for migration action: download robot shell script by @turbomam in #1180
- prep for migration action: get robot version by @turbomam in #1181
- prep for migration action: simplify action by @turbomam in #1182
- prep for migration action: robot test convert by @turbomam in #1183
- prep for migration action: add jena by @turbomam in #1184
- prep for migration action: load tdb by @turbomam in #1185
- prep for migration action: query tdb by @turbomam in #1186
- prep for migration action: build before loading or querying by @turbomam in #1187
- prep for migration action: poetry setup before build by @turbomam in #1188
- prep for migration action: query schema and data by @turbomam in #1189
- prep for migration action: blank local/.env ok? by @turbomam in #1190
- Add backticks around file path to format it as code by @eecavanna in #1202
- Extract transformation functions into migration-specific classes by @eecavanna in #1155
- sparql extraction of Gs0114663 and Biosamples by @turbomam in #1206
- id mentions pattern checking including updated example data by @turbomam in #1209
- differentiate cookiecutter-help from help by @turbomam in #1210
- Acknowledge two makefiles in README by @turbomam in #1213
- restored make-rdf stuff and now supporting nmdc:sty-11-hdd4bf83 by @turbomam in #1225
- Finalize name of class that migrates data from
8.0.0
to8.1.0
by @eecavanna in #1227 - validation of OmicsProcessing outputs by @turbomam in #1218
- Update nmdc-schema-style-and-collaboration-guide.md by @turbomam in #1203
- nmdc-schema style and collaboration guidelines by @turbomam in #1201
- don't check OmicsProcessing has_input id pattern on legacy data by @turbomam in #1231
- Bump urllib3 from 2.0.5 to 2.0.7 by @dependabot in #1232
- polymorphic planned process by @turbomam in #1238
- first steps in migration notes by @turbomam in #1061
- removing old, inflexible doi reporting by @turbomam in #1240
- notebook for reporting classes that can't be aggregated in a
Database
instance by @turbomam in #1106 - Merge in SubSamplingProcess and supporting changes by @turbomam in #1199
New Contributors
- @dependabot made their first contribution in #1232
Full Changelog: v8.1.0...v8.1.1
v8.1.0
What's Changed
- Move internal lat_lon comment from description to todos by @pkalita-lbl in #1140
- no pydantic 2 yet by @turbomam in #1143
- limit linkml to < 1.6 by @turbomam in #1146
- comment out non-CURIe see_alsos by @turbomam in #1152
- v7.8.0 to v8.0.0 migration not req by @turbomam in #1158
- remove Instrument range on used in MetaproteomicsAnalysisActivity by @turbomam in #1157
- Report the ranges of slot
used
by @turbomam in #1137 local/mongo_as_unvalidated_nmdc_database.yaml
target needs pure dev input and pure prod input modes by @turbomam in #1150- Release 8.1.0 artifacts by @pkalita-lbl in #1159
Full Changelog: v8.0.0...v8.1.0
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
v7.8.0
Curated v7.7.2 -> v7.8.0 release notes
- More aggressive .gitignore for cleaner merges
- for releases: git add -f examples nmdc_schema project src
- Refactored Makefile and project.Makefile
- doesn't regenerate src/schema/mixs.yaml by default on every
make all
- routine:
make squeaky-clean all only-test
- for regenerating
src/schema/mixs.yaml: make squeaky-clean mixs-yaml-clean all only-test
- doesn't regenerate src/schema/mixs.yaml by default on every
- New
OmicsProcessing-all
meta target for illustrating the automatic generation and execution of SPARQL queries for a
specified class - New
assets/sparql
folder for SPARQL that were generated with theclass-sparql
CLI and which could be edited and
resubmitted toclass-sparql
for in--query-file
mode - New
make-rdf
meta target dumps MongoDB in the shape of an NMDC Database instance, makes migrations (includingdoi
migration and CURIe coercion), linkml-validation, conversion to RDF/TTL and casting anyURI-typed strings to real
CURIes- skips functional_annotation_agg and metaproteomics_analysis_activity_set by default
dois
migrations can be performed in oneStudy
withnmdc_schema.migration_recursion:migrate_studies_7_7_2_to_7_8_0
- New
accepting-legacy-ids-all
meta target for validating MongoDB data that includes legacyid
s - Commented out old exploratory NEON targets in project.Makefile
- Commented out old
assets/MIxS_6_term_updates_MIxS6*
targets in project.Makefile project/prefixmap/nmdc.json
is generated as a YAML file. We're renaming it in Makefile'sgen-project
target- Created some new redundancy in terms of supplements to the prefixes defined in the merged NMDC schema
assets/misc/extra_prefix_expansions.yaml
project/jsonld/nmdc.context.jsonld
project/prefixmap/nmdc.json
- hardcoded prefix expansions in
nmdc_schema/class_sparql.py
- makefiles:
- added squeaky-clean target
- harmonization of PROJECT_FOLDERS and the includes/excludes for gen-project and test-schema
- standardize naming of cleanup targets
- use hyphens in target names, not underscores
- Potential sources of breakage for downstream users of the nmdc-schema package:
- Moved several legacy Python scripts from nmdc_schema/ to assets/old_python
- removed several
pyproject.toml
dependencies, or relocated totool.poetry.group.dev.dependencies
- removed several legacy
tool.poetry.scripts
CLI definitions
- Structural schema changes:
- addition of class
FunctionalAnnotationAggMember
,Database
slotfunctional_annotation_agg
andFunctionalAnnotationAggMember
slotsmetagenome_annotation_id
,WorkflowExecutionActivity
,gene_function_id
andcount
.count
sure is a vague slot name- example data:
src/data/valid/FunctionalAnnotationAggMember-minimal.yaml
src/data/valid/Database-functional_annotation_agg.yaml
- removal of
doi
slot, along with its assignment to classStudy
. Requires migration. Also switching from scalar
to multivalued and fromTextValue.has_raw_value
touriorcurie
ranges- valid example data like
src/data/valid/Study-exhaustive.yaml
changed to match the schema changes
- valid example data like
- addition of
award_dois
,dataset_dois
publication_dois
- example data:
src/data/valid/Database-study-set-with-dois.yaml
- example data:
- removed transient 200-character limit on
funding_sources
slot - moved
emsl_project_dois
fromexternal_identifiers.yaml
tonmdc.yaml
and re-rooted indois
including new
pattern abstract
slot has been moved from classStudy
- addition of class
- Schema annotation changes
- updated
examples
,comments
anddescription
forjgi_portal_study_identifiers
(
insrc/schema/external_identifiers.yaml
) - the
description
for classStudy
clarifies that thedescription
ofStudy
instances should not include
hyperlinks - the comments on slot
elev
in classBiosample
have been updated
- updated
Autogenerated release notes
- doi remodeling and migration, mixed with CURIes coercion, RDF generation, and class-specific SPARQL generation by @turbomam in #1074
- retire doi, created dois and subproperties by @brynnz22 in #1039
- artifacts for nmdc-schema v7.8.0 by @turbomam in #1094
Full Changelog: v7.7.6...v7.8.0