You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CLAUDE.md: propagate durable conventions from notes/memory into the repo guide
Consolidates durable knowledge that lived only in Desktop notes, Claude memory,
and the old from-intel guide so anyone working in the repo sees it:
- Fix a stale/contradictory line: term IRIs are bare-numeric
https://w3id.org/metpo/<digits> (METPO: is prefix notation), not 'METPO_'; the
main ontology IRI must be https://w3id.org/metpo/metpo.owl.
- Add a Source-of-truth section: the Google Sheet is SoT for ontology content;
never hand-edit committed TSVs/components; CI tests the committed snapshot;
ChromaDB is retired (no new chromadb solutions); scope-narrowing relocates,
not deletes.
- Aristotelian definition rule (genus = parent label; enforced by
metpo-proposal-lint).
- Source-bound synonyms are reified and intentionally duplicated across bins;
document how kg-microbe consumes METPO (main OWL + tag-pinned TSVs).
- Host vs container Makefile targets.
- Note the retired literature-mining ID range 1000001-1000327.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
5.**Follow naming patterns** - Consistent with existing terms in the ontology
234
298
6.**Place imports appropriately** - Keep imported terms in imports directory
235
299
@@ -255,6 +319,10 @@ The classes-tab template has two kinds of synonym columns; they have different e
255
319
256
320
The implicit contract is that downstream consumers (e.g. `kg-microbe`'s BactoTraits transformer) match on the exact source string. Normalizing breaks matching.
257
321
322
+
**Source-bound synonyms are reified, and duplicates across bins are intentional.** Each source-bound value is asserted as an `oboInOwl:hasRelatedSynonym` and reified on an `owl:Axiom` carrying the provenance source (`IAO:0000119` -> e.g. `https://bacdive.dsmz.de/`). The **same related synonym appearing on several classes (e.g. across temperature/pH/oxygen bins) is deliberate** - it maps distinct external-system values to METPO entities. Do **not** "de-duplicate" them. (The known *defect* is the separate `confirmed exact synonym` overload in #444, not these.)
323
+
324
+
**How `kg-microbe` consumes METPO (why the verbatim rule matters):** it reads (1) `metpo.owl` from `main` for ontology nodes/edges, and (2) the ROBOT-template TSVs **pinned to a git tag** for its BacDive/BactoTraits/Madin/MetaTraits synonym-to-predicate mappings. So when METPO removes or renames a property, the pinned tag in kg-microbe must be bumped or the old mapping keeps being used. Treat source-bound synonym strings and property IRIs as a downstream contract.
0 commit comments