Skip to content

METPO metals cohort: MetalElement + RareEarthElement + MetalRelevance#77

Merged
realmarcin merged 2 commits into
mainfrom
claude/metpo-metals-cohort
May 20, 2026
Merged

METPO metals cohort: MetalElement + RareEarthElement + MetalRelevance#77
realmarcin merged 2 commits into
mainfrom
claude/metpo-metals-cohort

Conversation

@realmarcin
Copy link
Copy Markdown
Contributor

Summary

New METPO cohort under `proposals/metpo_communitymech_metals_v1/` lifting three metal-related CommunityMech enums (`MetalElementEnum`, `RareEarthElementEnum`, `MetalRelevanceEnum`). Independent of the `metpo_communitymech_v1` cohort — separate ID block (`METPO:1008NNN` / `METPO:2008NNN`), separate subset tag (`metpo_communitymech_metals_2026_05`), separate proposal directory.

Scoping choice: CHEBI reuse for per-element values

The 17 `MetalElementEnum` and 16 `RareEarthElementEnum` permissible values all carry `meaning: CHEBI:xxxx` annotations in the schema. Per the upstream kg-microbe SKILL.md rule "if the lifted concept already exists in METPO under a different label, use the existing IRI; record the alias upstream", this proposal does not mint per-element METPO classes. Only the grouping-parent classes are minted; per-element CHEBI IRIs flow into `kg-microbe/mappings/metpo_existing_aliases.tsv` when the cohort is copied upstream.

Classes minted (8 rows)

ID Label Notes
`METPO:1008000` community-relevant metal context top-level domain class under `METPO:1007100`
`METPO:1008001` community-relevant metal element enum-parent for `MetalElementEnum`; no leaves (CHEBI IRIs serve as leaves)
`METPO:1008002` community-relevant rare earth element enum-parent for `RareEarthElementEnum`; no leaves (CHEBI IRIs)
`METPO:1008003` community metal relevance level enum-parent for `MetalRelevanceEnum`
`METPO:1008010` primary metal relevance `MetalRelevanceEnum.PRIMARY`
`METPO:1008011` significant metal relevance `MetalRelevanceEnum.SIGNIFICANT`
`METPO:1008012` incidental metal relevance `MetalRelevanceEnum.INCIDENTAL`
`METPO:1008013` not-applicable metal relevance `MetalRelevanceEnum.NOT_APPLICABLE`

The 4 MetalRelevance leaves are minted as fresh METPO classes — they're qualitative severity categories with no CHEBI equivalent.

Predicates minted (3 rows)

ID Label Domain Range
`METPO:2008000` has metal element present `METPO:1007100` `CHEBI:33521` metal cation
`METPO:2008001` has rare earth element present `METPO:1007100` `CHEBI:33530` rare earth atom
`METPO:2008002` has metal relevance `METPO:1007100` `METPO:1008003`

The first two predicates deliberately point `RANGE` at a CHEBI parent so per-element edges (e.g., `community has metal element present CHEBI:29033`) validate via CHEBI's existing `CHEBI:29033 ⊑ CHEBI:33521` axiom — no METPO per-element leaf needed.

Verification

  • All 4 `MetalRelevanceEnum` leaves mapped to class rows
  • 0 per-element `MetalElementEnum` / `RareEarthElementEnum` leaf rows leaked (correct — CHEBI reuse)
  • All 8 `SC %` parents resolve in-file or to known METPO IRIs
  • Both TSVs column-count clean (11 / 12)

Test plan

  • `awk -F'\t' 'NF != 11' classes_robot.tsv` returns nothing
  • `awk -F'\t' 'NF != 12' properties_robot.tsv` returns nothing
  • (follow-up) `robot template` parses both TSVs cleanly
  • (follow-up) Round-trip check on `Alaska_Tundra_Permafrost_Iron_Redox_Community.yaml` and `Bayan_Obo_REE_Tailings_Consortium.yaml`

🤖 Generated with Claude Code

New cohort under proposals/metpo_communitymech_metals_v1/ lifting
three metal-related CommunityMech enums into METPO, following the
metpo-proposal skill's new-cohort path. Independent of the v1
cohort (no shared rows), separate ID block (1008NNN / 2008NNN),
separate subset tag (metpo_communitymech_metals_2026_05).

Scoping choice: the per-element MetalElementEnum (17 values) and
RareEarthElementEnum (16 values) values all carry meaning:
CHEBI:xxxx annotations in the schema. Per the kg-microbe SKILL.md
rule "use the existing IRI; record the alias upstream", this
proposal does NOT mint per-element METPO classes. Only the
grouping-parent classes are minted; the alias mapping flows
into kg-microbe/mappings/metpo_existing_aliases.tsv when the
cohort is copied upstream.

Classes minted (8 rows):
- METPO:1008000 community-relevant metal context (top-level
  domain class under METPO:1007100)
- METPO:1008001 community-relevant metal element (enum-parent
  for MetalElementEnum, NO leaves - CHEBI IRIs serve as leaves)
- METPO:1008002 community-relevant rare earth element
  (enum-parent for RareEarthElementEnum, NO leaves - CHEBI IRIs)
- METPO:1008003 community metal relevance level (enum-parent for
  MetalRelevanceEnum)
- METPO:1008010-1008013 the 4 MetalRelevance leaves
  (PRIMARY / SIGNIFICANT / INCIDENTAL / NOT_APPLICABLE) - these
  ARE minted because they have no CHEBI equivalent

Predicates minted (3 rows):
- METPO:2008000 has metal element present (community ->
  CHEBI:33521 metal cation) - range deliberately points at the
  CHEBI parent so per-element edges are CHEBI IRIs
- METPO:2008001 has rare earth element present (community ->
  CHEBI:33530 rare earth atom group)
- METPO:2008002 has metal relevance (community ->
  METPO:1008003 metal relevance level)

Verification: 4/4 MetalRelevance leaves present, 0 per-element
leaves leaked, 8/8 SC % parents resolve, both TSVs column-count
clean.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 20, 2026 03:34
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new METPO “metals” cohort proposal under proposals/metpo_communitymech_metals_v1/, lifting CommunityMech’s metal/REE-related enums and slots into METPO ROBOT templates while reusing CHEBI IRIs for per-element values.

Changes:

  • Introduces a narrative proposal describing scope, ID block, hierarchy decisions, and upstream workflow.
  • Adds a ROBOT classes template minting 8 METPO classes (domain + enum parents + MetalRelevance leaves).
  • Adds a ROBOT properties template minting 3 object properties linking METPO:1007100 (microbial community) to metal/REE presence and relevance.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 5 comments.

File Description
proposals/metpo_communitymech_metals_v1/proposal.md Documents scoping choice (CHEBI reuse), hierarchy, and property/range rationale for the metals cohort.
proposals/metpo_communitymech_metals_v1/metpo_proposal_classes_robot.tsv Defines the cohort’s new METPO classes (metal context + enum parents + relevance leaves).
proposals/metpo_communitymech_metals_v1/metpo_proposal_properties_robot.tsv Defines object properties for metals/REE presence and metal relevance on microbial communities.
Comments suppressed due to low confidence (1)

proposals/metpo_communitymech_metals_v1/metpo_proposal_properties_robot.tsv:4

  • As with METPO:2008000, the definition includes template-design rationale about why a particular CHEBI parent was chosen for the range. Since this field is emitted as the ontology definition (IAO:0000115), move the range-choice explanation to observations/proposal.md and keep the definition focused on the intended meaning of the relation.
METPO:2008001	has rare earth element present	A relation between a microbial community and a CHEBI rare-earth-element atom or cation that is present in or processed by the community (lanthanides plus Y, Sc). Range points at the CHEBI rare-earth-atom parent so per-REE leaves remain CHEBI IRIs.	CommunityMech:communitymech.yaml#MicrobialCommunity.rare_earth_elements_present	owl:ObjectProperty	METPO:1007100	CHEBI:33530		metpo_communitymech_metals_2026_05	HIGH	rare-earth-element membership of community	0..* cardinality

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread proposals/metpo_communitymech_metals_v1/metpo_proposal_properties_robot.tsv Outdated
Comment thread proposals/metpo_communitymech_metals_v1/metpo_proposal_properties_robot.tsv Outdated
Comment thread proposals/metpo_communitymech_metals_v1/metpo_proposal_classes_robot.tsv Outdated
Comment thread proposals/metpo_communitymech_metals_v1/proposal.md Outdated
Comment thread proposals/metpo_communitymech_metals_v1/metpo_proposal_properties_robot.tsv Outdated
Five fixes for the five actionable Copilot comments:

- Properties TSV (METPO:2008000 has metal element present):
  range CHEBI:33521 (metal cation) was too narrow because
  MetalElementEnum mixes atom-form values (URANIUM/CHEBI:27214,
  GOLD/CHEBI:29287, CHROMIUM/CHEBI:28073, TITANIUM/CHEBI:33341,
  PALLADIUM/CHEBI:33373) with cation-form values. Broadened to
  CHEBI:24431 (chemical entity) and rewrote the definition to
  describe the relation semantics only ("a CHEBI chemical entity
  that represents a metal element (atom or cation)..."). Moved
  the heterogeneous-schema rationale to the observations column.

- Properties TSV (METPO:2008001 has rare earth element present):
  same range fix (CHEBI:33530 -> CHEBI:24431) for consistency and
  same definition-cleanup. RareEarthElementEnum values are all
  cation-form, but using the same broad range keeps the two metal
  predicates symmetric and forward-compatible if schema later adds
  atom-form REE values.

- Classes TSV (METPO:1008001 community-relevant metal element):
  cleaned the IAO:0000115 definition to describe the grouping
  concept only ("a METPO grouping class for metal elements
  relevant to microbial community function..."), removed the
  "Per CommunityMech.schema... leaves SHOULD reuse CHEBI IRIs..."
  policy text from the definition, moved it to the observations
  column.

- Classes TSV (METPO:1008002 community-relevant rare earth element):
  same definition cleanup as above.

- proposal.md: updated the predicate-proposals table and the
  rationale paragraph to reflect the CHEBI:24431 range choice and
  enumerate the specific atom-form values that motivated the
  broadening. The "no METPO per-element leaves" intent is
  preserved.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@realmarcin realmarcin merged commit acf442c into main May 20, 2026
@realmarcin realmarcin deleted the claude/metpo-metals-cohort branch May 20, 2026 03:49
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.

2 participants