IngredientRecord

Name
IngredientRecord
Description
Core record for a media ingredient with ontology mapping, synonyms, and curation history. Represents either a mapped ingredient (with a primary ontology, registry, or local identity CURIE) or an unmapped ingredient (placeholder identifier, awaits curation). Can serve as root element for individual YAML files or as elements in IngredientCollection.
From schema
https://w3id.org/mediaingredientmech
Attributes
Identifier
Name
identifier
Description
Semantic identifier for the record and its LinkML identifier slot, but not a guaranteed unique document address: reviewed duplicate families may share a CURIE. For mapped ingredients this is the primary ontology, registry, or local identity (e.g. `CHEBI:26710`, `cas:247167-54-0`, `kgmicrobe.compound:aburamycin_a`); for unmapped ingredients it is a generated `UNMAPPED_NNNN` placeholder. The nested `ontology_mapping.ontology_id` is a grounding target: it equals `identifier` when the identifier itself names the grounded ontology term, but registry or local identities may legitimately differ from the ontology target at any evidence-backed mapping quality.
From schema
https://w3id.org/mediaingredientmech
Identifier
True
Required
True
Preferred term
Name
preferred_term
Description
Canonical name for this ingredient
From schema
https://w3id.org/mediaingredientmech
Required
True
Ontology mapping
Name
ontology_mapping
Description
Ontology term mapping (CHEBI/FOODON)
From schema
https://w3id.org/mediaingredientmech
Range
OntologyMapping
Bindings
  • Obligation level
    REQUIRED
    Binds value of
    ontology_id
Synonyms
Name
synonyms
Description
Alternative names and raw text variants
From schema
https://w3id.org/mediaingredientmech
Range
IngredientSynonym
Multivalued
True
Inlined as list
True
Mapping status
Name
mapping_status
Description
Current mapping status
From schema
https://w3id.org/mediaingredientmech
Range
MappingStatusEnum
Required
True
Occurrence statistics
Name
occurrence_statistics
Description
Usage statistics across media recipes
From schema
https://w3id.org/mediaingredientmech
Range
OccurrenceStats
Curation history
Name
curation_history
Description
Audit trail of all curation actions
From schema
https://w3id.org/mediaingredientmech
Range
CurationEvent
Multivalued
True
Inlined as list
True
Notes
Name
notes
Description
Free-text curation notes
From schema
https://w3id.org/mediaingredientmech
Community organism roles
Name
community_organism_roles
Description
Role(s) this organism plays in a microbial community (e.g., PRIMARY_DEGRADER, SYNERGIST, COMPETITOR). Formerly `cellular_roles`; renamed to disambiguate from ingredient-level cellular metabolic roles.
From schema
https://w3id.org/mediaingredientmech
Range
CommunityOrganismRoleAssignment
Multivalued
True
Inlined as list
True
Nutritional roles
Name
nutritional_roles
Description
What element or macronutrient this ingredient supplies to the medium (e.g., CARBON_SOURCE, SULFUR_SOURCE, VITAMIN_SOURCE). Facet 1 of 3 orthogonal ingredient-role facets — a single ingredient may carry multiple values (e.g., L-cysteine → AMINO_ACID_SOURCE + SULFUR_SOURCE).
From schema
https://w3id.org/mediaingredientmech
Range
NutritionalRoleAssignment
Multivalued
True
Inlined as list
True
Physicochemical roles
Name
physicochemical_roles
Description
Chemical or physical function this ingredient performs in the medium (e.g., BUFFER, CHELATOR, REDUCING_AGENT). Facet 2 of 3 orthogonal ingredient-role facets — independent of what element the ingredient supplies.
From schema
https://w3id.org/mediaingredientmech
Range
PhysicochemicalRoleAssignment
Multivalued
True
Inlined as list
True
Cellular metabolic roles
Name
cellular_metabolic_roles
Description
Role of this ingredient inside/on the cultured microbe (e.g., SUBSTRATE, ELECTRON_DONOR, COFACTOR). Facet 3 of 3 orthogonal ingredient-role facets — often organism-conditional (e.g., ELECTRON_DONOR applies only for organisms that oxidize the compound for energy).
From schema
https://w3id.org/mediaingredientmech
Range
CellularMetabolicRoleAssignment
Multivalued
True
Inlined as list
True
Solution type
Name
solution_type
Description
Type of solution if this is a stock/pre-mix rather than individual chemical
From schema
https://w3id.org/mediaingredientmech
Range
SolutionTypeEnum
Chemical properties
Name
chemical_properties
Description
Chemical structure and properties (for CHEBI-mapped ingredients only)
From schema
https://w3id.org/mediaingredientmech
Range
ChemicalProperties
Supplied form
Name
supplied_form
Description
The material actually ordered and delivered for this ingredient — the thing on the shelf, as distinct from the substance the record denotes. Multivalued because one ingredient is legitimately buyable in several forms (anhydrous vs a hydrate, free acid vs sodium salt) and a recipe may not say which. Keeps procurement detail OUT of the identity: the `identifier` optimises for how the node reads in the knowledge graph, and this slot carries what you would put on a purchase order.
From schema
https://w3id.org/mediaingredientmech
Range
SuppliedForm
Multivalued
True
Inlined as list
True
Representative
Name
representative
Description
`identifier` of the representative record if this record has been merged. Only set when mapping_status is REJECTED due to merge. Points to the canonical record representing this ingredient. (No pattern constraint: the merge-tracking feature is currently unused — when revived, point at the schema's canonical identifier format.)
From schema
https://w3id.org/mediaingredientmech
Merged
Name
merged
Description
List of record `identifier`s merged into this representative. Only set on records serving as merge targets. Tracks all records consolidated into this canonical representation. (No pattern constraint: see `representative` above.)
From schema
https://w3id.org/mediaingredientmech
Multivalued
True
Ingredient type
Name
ingredient_type
Description
Classification of entry type: single chemical ingredient vs whole named medium. SINGLE_INGREDIENT: Pure chemical (NaCl, agar, glucose). NAMED_MEDIUM: A complete, named medium formulation/recipe (R2A agar, LB broth) -- "defined" = record granularity (a whole named medium), NOT "chemically defined"; undefined components are expected. UNDEFINED_MIXTURE: Complex mixture of unknown composition (yeast extract, peptone). STOCK_SOLUTION: Pre-mixed solution of defined ingredients.
From schema
https://w3id.org/mediaingredientmech
Range
IngredientTypeEnum
Components
Name
components
Description
A has-part decomposition for a STOCK_SOLUTION, NAMED_MEDIUM, or UNDEFINED_MIXTURE: the list of component ingredients (with concentration where known). This is ingredient/mixture partonomy, not an identity mapping, a complete culturing recipe, or a relationship among chemical forms. It may transcribe a combination label. Populate only from verifiable evidence; omit the slot when no constituent is known. When present, component_assertion records how the decomposition was made and its evidence.
From schema
https://w3id.org/mediaingredientmech
Range
StockComponent
Multivalued
True
Inlined as list
True
Component assertion
Name
component_assertion
Description
Method and structured evidence for the record-level has-part claim carried by components. Required whenever components is non-empty and forbidden when components is absent; the corpus-level partonomy validator enforces that cross-field invariant.
From schema
https://w3id.org/mediaingredientmech
Range
ComponentAssertion
Inlined
True
Culturemech reference
Name
culturemech_reference
Description
Typed, stable link to a CultureMech recipe. Replaces the former `culturemech_medium_name`, which held a display string and no relationship semantics, so it could not distinguish the same formulation from a variant or a merely similar composition (#447). CultureMech remains authoritative for the recipe body and for recipe family/variant structure; this records only which recipe a record answers to and how.
From schema
https://w3id.org/mediaingredientmech
Range
CultureMechReference
Kg microbe node id
Name
kg_microbe_node_id
Description
KG-Microbe node ID for this ingredient when found in the KG exactly. Populated when the ingredient is present as a named node in the KG-Microbe mediadive graph (i.e. used as an ingredient in at least one KG-Microbe medium solution). The node ID is a CURIE using whichever scheme the KG-Microbe graph stores the entity under — most often `CHEBI:`, but also `mesh:`, `NCIT:`, `FOODON:`, `ENVO:`, or one of the kg-microbe registry prefixes (`kgmicrobe.compound:`, `kgmicrobe.ingredient:`).
From schema
https://w3id.org/mediaingredientmech
Required
False
Pattern
^[A-Za-z][A-Za-z0-9.]*:[A-Za-z0-9][A-Za-z0-9._~-]*$
Environmental context
Name
environmental_context
Description
Environmental contexts where this ingredient is relevant. Each entry pairs an ENVO term with a relevance qualifier explaining the association (natural source, selective agent, environment mimic, etc.). Enables cross-repository environment-driven queries with CommunityMech (`environment_term`) and CultureMech (`source_environment`). Optional; ubiquitous ingredients (water, glucose) typically have no entries.
From schema
https://w3id.org/mediaingredientmech
Range
EnvironmentContext
Bindings
  • Obligation level
    REQUIRED
    Binds value of
    environment_term
Required
False
Multivalued
True
Inlined as list
True
Discussions
Name
discussions
Description
Open questions, knowledge gaps, controversies, and curation todos attached to this ingredient (shared Discussion supertype; anchor `attaches_to` into e.g. `ontology_mapping#<term>`).
From schema
https://w3id.org/mediaingredientmech
Range
Discussion
Multivalued
True
Inlined as list
True
Datasets
Name
datasets
Description
Public datasets (omics/sequence/phenotype) relevant to this ingredient.
From schema
https://w3id.org/mediaingredientmech
Range
Dataset
Multivalued
True
Inlined as list
True
Tree root
True
Rules
  • Preconditions
    Slot conditions
    Components
    Name
    components
    Value presence
    PRESENT
    Postconditions
    Slot conditions
    Component assertion
    Name
    component_assertion
    Value presence
    PRESENT
    Bidirectional
    True
  • Preconditions
    Slot conditions
    Components
    Name
    components
    Value presence
    PRESENT
    Postconditions
    Slot conditions
    Ingredient type
    Name
    ingredient_type
    Equals string in
    • STOCK_SOLUTION
    • NAMED_MEDIUM
    • UNDEFINED_MIXTURE