Skip to content

Add runtime-resolution of controlled vocabularies #68

@mobiusklein

Description

@mobiusklein

Discussion on 26/2/2025 concluded we want both compile time backups and runtime updated controlled vocabularies (CV) databases.

  • This functionality should be behind a feature flag. When not enabled, you only get the pre-baked databases.
  • This functionality should automatically fall back to the pre-baked databases when the network connection is unavailable.
  • (Opinion) This functionality should provide a sync API by default to avoid async runtime coupling insanity. An async/sync deliberate entry-point to this fetching machinery could be available for application lifecycle management.
  • (Question) This functionality should support caching the latest CV in platform-appropriate locations on the file structure (e.g. using https://crates.io/crates/platform-dirs) or using an application specific mechanism by providing a path.
  • Operations that depend upon the database should provide two versions, one to use a specific CV database instance, and another to use the "global" instance.

This could be done either concurrently with the greater restructuring in #56 or as a follow-up task.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-mzcoreArea: core structures, traits, and algorithmsA-mzcvArea: handling of controlled vocabularies (CVs) and ontologies

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions