Skip to content

Releases: microbiomedata/nmdc-schema

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

v7.7.6

17 Aug 21:08
8b5d1d1
Compare
Choose a tag to compare

What's Changed

  • with regenerated files for elev comments in v7.7.5 by @turbomam in #1081

Full Changelog: v7.7.5...v7.7.6

v7.7.5

17 Aug 20:04
431d05c
Compare
Choose a tag to compare

What's Changed

Full Changelog: v7.7.4...v7.7.5

v7.7.4

17 Aug 18:36
511ec2e
Compare
Choose a tag to compare

What's Changed

Full Changelog: v7.7.3...v7.7.4

v7.7.3

17 Aug 18:17
baeca64
Compare
Choose a tag to compare

What's Changed

Full Changelog: v7.7.2...v7.7.3

v7.7.2

14 Jul 13:58
75fed57
Compare
Choose a tag to compare

What's Changed


  • delete old mapping neon_nmdc_term_mappings.tsv file by @brynnz22 in #1020
  • remove rawDataFiles table for soil, benthic, and surfacewater mappings by @brynnz22 in #1024

Full Changelog: v7.7.1...v7.7.2