Skip to content

Releases: microbiomedata/nmdc-schema

v9.3.0

12 Dec 16:30
7a8b423
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v9.2.0...v9.3.0

v9.2.0

29 Nov 14:34
Compare
Choose a tag to compare

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

New Contributors

Full Changelog: v9.1.0...v9.2.0

v9.1.0

07 Nov 19:32
Compare
Choose a tag to compare

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

Full Changelog: v9.0.4...v9.1.0

v9.0.4

03 Nov 19:52
Compare
Choose a tag to compare

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

Full Changelog: v9.0.0...v9.0.4

v9.0.0

01 Nov 21:51
f1a6db0
Compare
Choose a tag to compare

What's Changed

Full Changelog: v8.1.2...v9.0.0

v8.1.2

01 Nov 21:35
e57cf43
Compare
Choose a tag to compare

What's Changed

Full Changelog: v8.1.1...v8.1.2

v8.1.1

01 Nov 21:21
9e4c580
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v8.1.0...v8.1.1

v8.1.0

03 Oct 19:45
03bcd93
Compare
Choose a tag to compare

What's Changed

Full Changelog: v8.0.0...v8.1.0

v8.0.0

21 Sep 17:08
Compare
Choose a tag to compare

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, like src/schema/nmdc.yaml. All prefixes that will be used in the schema
    (slot_uris, mappings, id_prefixes, etc.) must be defined in either nmdc.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.
  • The GOLD prefix is no longer allowed in the schema or any schema compliant data. Only gold 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:

  • Extractions must replace usages of the sample_mass slot with input_mass
  • replacement of GOLD prefixes with gold 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
  • 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 in src/schema/workflow_execution_activity.yaml. Likewise, all class should not assert their slots with a
    slots list, not implicitly via the slot_usage blocks. required: true, customized ranges and customized descriptions
    can still be found in slot_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 enumeration range but a slot_usage uses a string range.

Auto-generated (but equally important) release notes

Full Changelog: v7.8.0...v8.0.0

v7.8.0

30 Aug 19:00
13acf18
Compare
Choose a tag to compare

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
  • 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 the class-sparql CLI and which could be edited and
    resubmitted to class-sparql for in --query-file mode
  • New make-rdf meta target dumps MongoDB in the shape of an NMDC Database instance, makes migrations (including doi
    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 one Study
      with nmdc_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 legacy ids
  • 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's gen-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 to tool.poetry.group.dev.dependencies
    • removed several legacy tool.poetry.scripts CLI definitions
  • Structural schema changes:
    • addition of class FunctionalAnnotationAggMember, Database slot functional_annotation_agg
      and FunctionalAnnotationAggMember
      slots metagenome_annotation_id, WorkflowExecutionActivity, gene_function_id and count.
      • 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 class Study. Requires migration. Also switching from scalar
      to multivalued and from TextValue.has_raw_value to uriorcurie ranges
      • valid example data like src/data/valid/Study-exhaustive.yaml changed to match the schema changes
    • addition of award_dois, dataset_dois publication_dois
      • example data: src/data/valid/Database-study-set-with-dois.yaml
    • removed transient 200-character limit on funding_sources slot
    • moved emsl_project_dois from external_identifiers.yaml to nmdc.yaml and re-rooted in dois including new
      pattern
    • abstract slot has been moved from class Study
  • Schema annotation changes
    • updated examples, comments and description for jgi_portal_study_identifiers (
      in src/schema/external_identifiers.yaml)
    • the description for class Study clarifies that the description of Study instances should not include
      hyperlinks
    • the comments on slot elev in class Biosample have been 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