Skip to content

Register ten soil sample import ontologies - #1199

Open
EgorPPS wants to merge 1 commit into
MetaState-Prototype-Project:mainfrom
EgorPPS:codex/soil-sample-ontologies
Open

EgorPPS wants to merge 1 commit into
MetaState-Prototype-Project:mainfrom
EgorPPS:codex/soil-sample-ontologies

Conversation

@EgorPPS

@EgorPPS EgorPPS commented Oct 11, 2026

Copy link
Copy Markdown
Contributor

Problem and Result

The W3DS Soil Samples importer writes a linked set of soil-analysis records into eVault, but their ten schema IDs have no definitions in the shared ontology catalog. This PR registers their current payload contracts in the agriculture domain, including original and normalized observations, report provenance, sampling context and the optional crop-field MetaEnvelope link.

Existing schema IDs and snake_case fields are retained for compatibility with records already stored by the importer. Soil-prefixed filenames and titles distinguish these types from the general agriculture Observation ontology. The existing File and field ontologies are unchanged.

Compatibility

  • Internal record references use payload IDs; field_w3id explicitly uses a crop field MetaEnvelope ID and is omitted when unlinked.
  • Optional bundle_id supports records predating import manifests.
  • Interpretation and recommendation schemas describe optional sourced records, not generated agronomic judgments.
  • The accompanying documentation records a separate known mismatch between the importer's legacy File payload and the existing File schema. This PR does not claim to resolve it.
  • Ontology service publication requires merge and deployment; adding source schemas alone does not deploy the service.

Validation

  • All ten schemas pass the draft-07 meta-schema check and compile with Ajv 8.
  • All schema IDs are unique across the shared catalog.
  • 97 records generated from the importer's Eurofins XML, Eurofins LOR v17 XML and canonical JSON fixtures validate, including linked/unlinked/changed fields, legacy records without bundle IDs, textual observations and optional interpretation/recommendation examples.
  • Negative checks reject unexpected properties and incorrect ID types.

@EgorPPS
EgorPPS requested a review from coodos as a code owner October 11, 2026 16:09
@coderabbitai

coderabbitai Bot commented Oct 11, 2026

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 91382674-a668-411c-9e4e-c1b7feea77fe

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant