Na2HPO4 x 2 H2O

CHEBI:91258 chemically defined MAPPED CHEBI EXACT_MATCH

Ontology mapping

Primary identifier
CHEBI:91258
Ontology label
disodium hydrogenphosphate dihydrate
kg-microbe node
CHEBI:91258

Physicochemical roles

Synonyms (6)

SynonymTypeSourceOccurrences
Role: Buffer; Properties: Inorganic compound, Defined component, Simple component RAW_TEXT CultureMech
Na2HPO4 x 2H2O HYDRATE_FORM kg_microbe
Na2HPO4 x2 H2O HYDRATE_FORM kg_microbe
Na2HPO4·2H2O HYDRATE_FORM merged_from_duplicate_mim_record
Role: Buffer; Properties: Inorganic compound, Simple component, Defined component RAW_TEXT CultureMech
Role: Buffer; Properties: Simple component, Inorganic compound, Defined component RAW_TEXT CultureMech

Rejected enrichment labels (9)

Provenance-only candidates: these are not synonyms and do not resolve to this record.

Rejected labelDispositionSourceOccurrences
Na2HPO4 . 12H2O REJECTED_LABEL kg_microbe
Na2HPO4 x 12 H2O REJECTED_LABEL kg_microbe
Na2HPO4 x 3 H2O 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.12H2O REJECTED_LABEL kg_microbe
Na2HPO4.7H2O REJECTED_LABEL kg_microbe
Na2HPO4·12H2O REJECTED_LABEL kg_microbe

Chemical properties

Cas rn
10028-24-7
Data source
OAK/CHEBI xref
Retrieval date
2026-04-19T07:35:12.781730+00:00
Molecular formula
2H2O.HO4P.2Na
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+]

Evidence (5)

DATABASE_MATCH via CultureMech

[HISTORICAL — superseded by the #321 re-grade below: this record is a hydrate of CHEBI:91258, not an exact match to it] Imported from CultureMech pipeline, quality=DIRECT_MATCH

DATABASE_MATCH via MIM curation (#321/#334)

Promoted off the anhydrous term CHEBI:34683, which was absorbing five distinct Na2HPO4 hydrates, to the specific term CHEBI:91258 ('disodium hydrogenphosphate dihydrate') — MAPPING_SEMANTICS §3 step 1. cas_rn '7558-79-4' -> '10028-24-7', taken from ChEBI's own xref on the specific term; the previous value was shared across the family and did not denote this hydrate (#334).

DATABASE_MATCH via MIM curation (#321/#334)

identifier CHEBI:91258 -> kgmicrobe.compound:na2hpo4_x_2_h2o; mapping_quality EXACT_MATCH -> NARROW_MATCH. The record is a hydrate of CHEBI:91258 ('disodium hydrogenphosphate dihydrate') 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.

DATABASE_MATCH via MIM curation (#321)

molecular_formula 'HO4P.2Na' -> '2H2O.HO4P.2Na'. The recorded value described the anhydrous salt while the label names a hydrate, understating the mass by 18 g/mol per water. Corrected because adopted verbatim from the mapped term CHEBI:91258 ('disodium hydrogenphosphate dihydrate'), which is the specific hydrate and already carries the water.

DATABASE_MATCH via MIM curation (#342)

mapping_quality NARROW_MATCH -> CLOSE_MATCH, predicate skos:narrowMatch -> skos:closeMatch. narrowMatch asserts this record is *narrower in meaning* than CHEBI:91258 ('disodium hydrogenphosphate dihydrate') — 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.

Occurrence statistics

Total occurrences
304
Distinct media
304

Curation history

TimestampCuratorActionNew statusChanges
2026-03-09T06:54:18.022301+00:00 import_from_culturemech IMPORTED MAPPED Initial import from CultureMech pipeline
2026-04-05T23:45:52.650821+00:00 fetch_cas_rn_with_preprocessing ADDED_CAS_RN MAPPED Added CAS-RN:7558-79-4 from PubChem API (ontology label) via name preprocessing (Na2HPO4·2H2O)
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 2H2O, Na2HPO4 x 3 H2O, Na2HPO4 x 6 H2O, ... (6 more)
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 3 H2O, ... (6 more)
2026-04-19T07:35:12.782058+00:00 audit_mim_merge MERGED_FROM_DUPLICATES MAPPED Absorbed 1 duplicate MIM record(s) into this one: Na2hpo42h2o.yaml. Synonyms, curation_history, and occurrence counts were unioned/summed; winner selected by highest occurrence count with preferred_term readability tie-break.
2026-04-19T07:35:12.781730+00:00 audit_resolve_risky_cas_rn RESOLVED_CAS_RN_CONFLICT MAPPED CAS-RN conflict across merged group (7558-79-4|7782-85-6) resolved via OAK canonical xref: 7558-79-4 (match)
2026-05-01T07:35:35.168490+00:00 auto_classify_ingredient_type AUTO_CLASSIFY_INGREDIENT_TYPE set ingredient_type=SINGLE_INGREDIENT (CHEBI primary)
2026-05-01T08:08:31.233784+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.972570+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.112152+00:00 extract_roles_from_synonyms ANNOTATED Added media role: BUFFER (confidence: 1.00)
2026-06-09T05:23:46.806328+00:00 correct_stale_ontology_labels.py CORRECTED ontology_label 'Na2HPO4 x 2 H2O' -> 'disodium hydrogenphosphate': synced to canonical CHEBI label (preferred_term 'Na2HPO4 x 2 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 fix_hydrate_collapse PROMOTED_TO_SPECIFIC_HYDRATE identifier/ontology_id CHEBI:34683 -> CHEBI:91258 'disodium hydrogenphosphate dihydrate'; mapping_quality -> EXACT_MATCH; cas_rn '7558-79-4' -> '10028-24-7' (#321/#334).
2026-08-13T00:00:00+00:00 mint_hydrate_registry_terms MINTED_REGISTRY_FOR_HYDRATE identifier CHEBI:91258 -> kgmicrobe.compound:na2hpo4_x_2_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' -> '2H2O.HO4P.2Na' (#321); adopted verbatim from the mapped term CHEBI:91258 ('disodium hydrogenphosphate dihydrate'), which is the specific hydrate and already carries the water.
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.519464+00:00 refresh_occurrence_statistics CORRECTED occurrence_statistics 55/231 -> 304/304 (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.918934+00:00 hydrate_duplicate_merges CORRECTED identifier kgmicrobe.compound:na2hpo4_x_2_h2o -> CHEBI:91258; mapping_quality CLOSE_MATCH -> EXACT_MATCH. The record was already grounded to CHEBI:91258 (disodium hydrogenphosphate dihydrate) -- it IS that substance, so a registry mint and a close match both understated it. Every one of the 54 registry-identified records is graded non-exact, so the two move together: an exact grounding takes the ontology id, as MgSO4 x 7 H2O does (#334).
2026-09-09T00:00:00+00:00 fix_kg_microbe_node_id_drift CORRECTED kg_microbe_node_id CHEBI:34683 -> CHEBI:91258 (#554). The compatibility node id lagged a same-prefix identifier correction; the downstream node id must match the curated identifier unless a record intentionally crosses CURIE prefixes.
2026-09-12T00:00:00+00:00 fix_malformed_hydrate_identities REJECTED_MALFORMED_HYDRATE_ALIASES MAPPED Marked malformed hydrate alias(es) as REJECTED_LABEL so they remain on their own #344 local identities only: 'Na2HPO4 x 3 H2O', 'Na2HPO4 x 6 H2O'.
2026-09-12T00:00:00+00:00 reject_hidden_hydrate_synonym_collapses REJECTED_HIDDEN_HYDRATE_SYNONYMS MAPPED Marked hidden hydrate synonym(s) as REJECTED_LABEL so this record no longer resolves sibling hydrate identities (#251): 'Na2HPO4 . 12H2O', 'Na2HPO4 x 12 H2O', 'Na2HPO4 x 7 H2O', 'Na2HPO4 x H2O', 'Na2HPO4.12H2O', 'Na2HPO4.7H2O', 'Na2HPO4·12H2O'.