Ontology mapping
- Primary identifier
-
kgmicrobe.compound:na2hpo4_x_3_h2o - Ontology term
-
CHEBI:34683— disodium hydrogenphosphate - Ontology label
- disodium hydrogenphosphate
Physicochemical roles
- Role
- BUFFER
- Confidence
- 1.0
- Evidence
- Reference text
- CultureMech database (3 occurrences as 'Buffer')
- Reference type
- DATABASE_ENTRY
- Url
- https://github.com/CultureBotAI/CultureMech
- Excerpt
- Role: Buffer; Properties: Inorganic compound, Defined component, Simple component
- Curator note
- Widespread use in media formulations (3 occurrences). High confidence based on 'Defined component' property.
Synonyms (1)
| Synonym | Type | Source | Occurrences |
|---|---|---|---|
| Role: Buffer; Properties: Inorganic compound, Defined component, Simple component | RAW_TEXT | CultureMech |
Rejected enrichment labels (11)
Provenance-only candidates: these are not synonyms and do not resolve to this record.
| Rejected label | Disposition | Source | Occurrences |
|---|---|---|---|
| Na2HPO4 . 12H2O | REJECTED_LABEL | kg_microbe | |
| Na2HPO4 x 12 H2O | REJECTED_LABEL | kg_microbe | |
| Na2HPO4 x 2 H2O | REJECTED_LABEL | kg_microbe | |
| Na2HPO4 x 2H2O | REJECTED_LABEL | kg_microbe | |
| Na2HPO4 x 6 H2O | REJECTED_LABEL | kg_microbe | |
| Na2HPO4 x 7 H2O | REJECTED_LABEL | kg_microbe | |
| Na2HPO4 x H2O | REJECTED_LABEL | kg_microbe | |
| Na2HPO4 x2 H2O | REJECTED_LABEL | kg_microbe | |
| Na2HPO4.12H2O | REJECTED_LABEL | kg_microbe | |
| Na2HPO4.7H2O | REJECTED_LABEL | kg_microbe | |
| Na2HPO4·12H2O | REJECTED_LABEL | kg_microbe |
Evidence (5)
[HISTORICAL — superseded by the #321 re-grade below: this record is a hydrate of CHEBI:34683, not an exact match to it] Imported from CultureMech pipeline, quality=DIRECT_MATCH
identifier CHEBI:34683 -> kgmicrobe.compound:na2hpo4_x_3_h2o; mapping_quality EXACT_MATCH -> NARROW_MATCH. The record is a hydrate of CHEBI:34683 ('disodium hydrogenphosphate') and was sharing that term's identifier — the identity collapse MAPPING_SEMANTICS §3 forbids, which made a distinct substance indistinguishable from its anhydrous parent downstream. ChEBI has no term for this hydrate and the record carries no verified CAS, so steps 1 and 2 are unavailable and step 3 applies.
molecular_formula 'HO4P.2Na' -> 'HO4P.2Na.3H2O'. The recorded value described the anhydrous salt while the label names a hydrate, understating the mass by 18 g/mol per water. Corrected because the label states 3 water(s) of hydration, and the recorded formula was byte-identical to the anhydrous parent CHEBI:34683's ChEBI formula ('HO4P.2Na') — the mark of a value inherited from the parent rather than measured for this record. Water appended in ChEBI's own dot-separated notation.
mapping_quality NARROW_MATCH -> CLOSE_MATCH, predicate skos:narrowMatch -> skos:closeMatch. narrowMatch asserts this record is *narrower in meaning* than CHEBI:34683 ('disodium hydrogenphosphate') — a subsumption ChEBI itself denies: it files hydrates under CHEBI:35505 'hydrate', never under the anhydrous compound, which is not an ancestor even transitively. A hydrate is a distinct substance containing the anhydrous form, not a specialization of it. closeMatch claims similarity without subsumption. The ontology_id and the record's own identifier are unchanged.
mediadive.compound:525 still carries the source label 'Na2HPO4 x 3 H2O', but no exact ontology term or CAS has been verified for that stated hydration count. CHEBI:34683 (disodium hydrogenphosphate) is retained only as the closest anhydrous parent while the source label keeps its local kgmicrobe.compound identity.
Occurrence statistics
- Total occurrences
- 4
- Distinct media
- 4
Curation history
| Timestamp | Curator | Action | New status | Changes |
|---|---|---|---|---|
| 2026-03-09T06:54:18.022301+00:00 | import_from_culturemech | IMPORTED | MAPPED | Initial import from CultureMech pipeline |
| 2026-04-09T00:32:50.689620+00:00 | enrich_mim_cas_rn_batch | CAS_RN_ADDED | MAPPED | Added CAS-RN 7782-85-6 from CultureBotHT/compounds_to_cas.csv |
| 2026-04-18T00:00:00+00:00 | cbclaw_kg_microbe_sweep LLM | ADDED_SYNONYMS | MAPPED | Added 11 synonyms from kg-microbe P4.4 enrichment: Na2HPO4 . 12H2O, Na2HPO4 x 12 H2O, Na2HPO4 x 2 H2O, Na2HPO4 x 2H2O, Na2HPO4 x 6 H2O, ... (6 more) |
| 2026-05-01T07:35:35.174662+00:00 | auto_classify_ingredient_type | AUTO_CLASSIFY_INGREDIENT_TYPE | set ingredient_type=SINGLE_INGREDIENT (CHEBI primary) | |
| 2026-05-01T08:08:31.239842+00:00 | auto_classify_ingredient_type | AUTO_BACKFILL_CHEBI_CHEMISTRY | molecular_formula=HO4P.2Na; inchi=InChI=1S/2Na.H3O4P/c;;1-5(2,3)4/h;;(H3,1,2,3,4)/q2; smiles=O=P([O-])([O-])O.[Na+].[Na+] | |
| 2026-05-02T03:12:16.979494+00:00 | auto_classify_ingredient_type | AUTO_CLASSIFY_INGREDIENT_TYPE | set ingredient_type=SINGLE_INGREDIENT (chemical structure populated (molecular_formula)) | |
| 2026-05-29T23:35:36.112160+00:00 | extract_roles_from_synonyms | ANNOTATED | Added media role: BUFFER (confidence: 1.00) | |
| 2026-06-09T05:23:46.806419+00:00 | correct_stale_ontology_labels.py | CORRECTED | ontology_label 'Na2HPO4 x 3 H2O' -> 'disodium hydrogenphosphate': synced to canonical CHEBI label (preferred_term 'Na2HPO4 x 3 H2O' unchanged). | |
| 2026-07-20T00:00:00+00:00 | migrate_media_roles_to_facets | ANNOTATED | Migrated legacy media_roles to role facets (#128): BUFFER -> physicochemical_roles.BUFFER | |
| 2026-08-13T00:00:00+00:00 | mint_hydrate_registry_terms | MINTED_REGISTRY_FOR_HYDRATE | identifier CHEBI:34683 -> kgmicrobe.compound:na2hpo4_x_3_h2o; mapping_quality EXACT_MATCH -> NARROW_MATCH (#321/#334); §3 step 3. | |
| 2026-08-13T00:00:00+00:00 | add_water_of_hydration | ADDED_WATER_OF_HYDRATION | molecular_formula 'HO4P.2Na' -> 'HO4P.2Na.3H2O' (#321); the label states 3 water(s) of hydration, and the recorded formula was byte-identical to the anhydrous parent CHEBI:34683's ChEBI formula ('HO4P.2Na') — the mark of a value inherited from the parent rather than measured for this record. Water appended in ChEBI's own dot-separated notation. | |
| 2026-08-13T00:00:00+00:00 | regrade_hydrate_to_close_match | REGRADED_HYDRATE_TO_CLOSE_MATCH | mapping_quality NARROW_MATCH -> CLOSE_MATCH (#342); a hydrate is not subsumed by its anhydrous form, and ChEBI does not model it as such. | |
| 2026-08-27T03:16:39.519470+00:00 | refresh_occurrence_statistics | CORRECTED | occurrence_statistics 3/3 -> 4/4 (media_count/total_occurrences), derived from distinct CultureMech recipe ids in the #337 occurrence table. The prior values came from the importer retired in #453, whose media_count counted a list truncated to 50 examples (#449). [source=ingredient_occurrences.tsv culturemech_rev=15a4da5c08 rows=194137 distinct_recipes=15257] | |
| 2026-08-29T03:56:37.918942+00:00 | hydrate_duplicate_merges | CORRECTED | cas_rn 7782-85-6 REMOVED, not replaced: it is the HEPTAhydrate CAS, also on x 6 and x 7, so it names a different substance than this record. ChEBI has no term for this hydration state, so no authoritative CAS is available and substituting a guess is how wrong CAS numbers spread. Absent is recoverable; wrong is not (#334). | |
| 2026-09-12T00:00:00+00:00 | fix_malformed_hydrate_identities | LOCALIZED_MALFORMED_HYDRATE_IDENTITY | MAPPED | identifier kgmicrobe.compound:na2hpo4_x_3_h2o -> kgmicrobe.compound:na2hpo4_x_3_h2o; mapping_quality CLOSE_MATCH -> CLOSE_MATCH. Cleared unverified chemical_properties {'data_source': 'CultureBotHT/compounds_to_cas.csv', 'retrieval_date': '2026-04-09T00:32:50.689620+00:00', 'molecular_formula': 'HO4P.2Na.3H2O', 'inchi': 'InChI=1S/2Na.H3O4P/c;;1-5(2,3)4/h;;(H3,1,2,3,4)/q2*+1;/p-2', 'smiles': 'O=P([O-])([O-])O.[Na+].[Na+]'} and marked 11 anhydrous or wrong-hydrate synonym(s) as REJECTED_LABEL for mediadive.compound:525 (#344). |