JSON Schema
Download fileComplete field reference — all field meanings, types and examples on one page. This link can also be given to an AI reader. Markdown
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "iSynth Reaction specification 1.9.0",
"description": "One experiment: input identities, starting charges, ordered segments, products and measurements.",
"type": "object",
"properties": {
"schema_version": {
"type": "string",
"const": "1.9.0",
"description": "Data format version. Use 1.9.0 for new records.",
"examples": [
"1.9.0"
]
},
"reaction_identifier": {
"type": "string",
"minLength": 1,
"examples": [
"EXP-0001"
],
"description": "Experiment record number as reported by the source, e.g. EXP-0001 or Table 2, entry 5. Preserve the original numbering."
},
"materials": {
"type": "array",
"items": {
"$ref": "#/$defs/Material"
},
"minItems": 0,
"description": "Input material definitions; charges and input measurements refer to these IDs. Define products separately in products.",
"examples": [
[
{
"id": "alcohol",
"identifiers": [
{
"type": "SMILES",
"value": "CCO"
}
],
"role": "reactant"
},
{
"id": "reagent",
"identifiers": [
{
"type": "NAME",
"value": "acetic anhydride"
}
],
"role": "reagent"
}
]
]
},
"initial_state": {
"$ref": "#/$defs/InitialState",
"examples": [
{
"inputs": [
{
"material": "alcohol",
"amount": {
"value": 0.25,
"unit": "mmol",
"raw": "0.25 mmol"
}
},
{
"material": "reagent"
}
]
}
]
},
"segments": {
"type": "array",
"items": {
"$ref": "#/$defs/Segment"
},
"examples": [
[
{
"conditions": {
"temperature": {
"value": 25,
"unit": "°C",
"raw": "25 °C"
}
}
}
]
]
},
"products": {
"type": "array",
"items": {
"$ref": "#/$defs/Product"
},
"description": "Product identities in this scope. Report measurements separately in measurements, linked by subject.",
"examples": [
[
{
"id": "product_1",
"identifiers": [
{
"type": "SMILES",
"value": "C[C@H](O)c1ccccc1"
}
],
"role": "desired_product",
"text": "Isolated target product",
"parameters": {
"reported_stereochemistry": "(S)"
}
}
]
]
},
"measurements": {
"type": "array",
"items": {
"$ref": "#/$defs/Measurement"
},
"description": "Measurements in this scope, each linked by subject to a Material.id or Product.id. Use one item per reported metric or independent measurement.",
"examples": [
[
{
"subject": "reactant_1",
"type": "conversion",
"value": {
"value": 90,
"scale": "percent"
},
"text": "Determined by GC."
}
]
]
},
"workup": {
"type": "string",
"minLength": 1,
"description": "Reported workup and purification procedure."
},
"provenance": {
"$ref": "#/$defs/Provenance",
"examples": [
{
"reference": "Fictional teaching record; Example A"
}
]
},
"text": {
"type": "string",
"minLength": 1,
"examples": [
"Fictional format illustration, not a measured result. Unreported amounts, method and calculation bases are omitted."
],
"description": "Additional experiment wording not covered by procedure, workup or measurement fields."
},
"parameters": {
"type": "object",
"description": "Additional experiment attributes as name/value pairs. Reaction conditions belong in the relevant Conditions.parameters.",
"examples": [
{
"run_id": "RUN-0001"
}
]
}
},
"required": [
"schema_version",
"reaction_identifier",
"materials",
"initial_state",
"segments"
],
"additionalProperties": false,
"$defs": {
"Identifier": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"SMILES",
"NAME",
"INCHI",
"INCHIKEY",
"CUSTOM",
"UNRESOLVED"
],
"examples": [
"SMILES"
]
},
"value": {
"type": "string",
"minLength": 1,
"examples": [
"CCO"
]
}
},
"required": [
"type",
"value"
],
"additionalProperties": false,
"examples": [
{
"type": "SMILES",
"value": "CCO"
}
]
},
"Quantity": {
"type": "object",
"properties": {
"value": {
"type": "number",
"examples": [
25
]
},
"scale": {
"type": "string",
"enum": [
"percent",
"fraction"
],
"description": "Dimensionless proportion notation: percent means parts per hundred (80 = 80%); fraction means parts per one (0.8 = 80%). Use scale instead of unit for proportions.",
"examples": [
"percent"
]
},
"unit": {
"type": "string",
"minLength": 1,
"examples": [
"°C"
],
"description": "Reported unit for dimensional quantities or relative dosing, e.g. mmol, °C, h, equiv. For dimensionless proportions use scale. Historical unit \"%\", \"percent\" and \"fraction\" remain readable."
},
"raw": {
"type": "string",
"minLength": 1,
"examples": [
"20–25 °C"
]
},
"qualifier": {
"type": "string",
"enum": [
"=",
"<",
"<=",
">",
">=",
"~"
],
"description": "Single-value qualifier: =, <, <=, >, >= or ~. For a two-sided range, use lower and upper instead.",
"examples": [
"<"
]
},
"lower": {
"type": "number",
"description": "Lower end of a range; pair with upper and unit.",
"examples": [
20
]
},
"upper": {
"type": "number",
"description": "Upper end of a range; pair with lower and unit.",
"examples": [
25
]
},
"lower_inclusive": {
"type": "boolean",
"description": "Legacy range boundary, retained for reading existing records. New records use lower/upper/unit for ordinary ranges; preserve exceptional boundary wording in raw.",
"examples": [
true
],
"deprecated": true,
"x-authoring-hidden": true
},
"upper_inclusive": {
"type": "boolean",
"description": "Legacy range boundary, retained for reading existing records. New records use lower/upper/unit for ordinary ranges; preserve exceptional boundary wording in raw.",
"examples": [
true
],
"deprecated": true,
"x-authoring-hidden": true
},
"uncertainty": {
"type": "number",
"minimum": 0,
"description": "Reported ± uncertainty, in the same unit as value. It is not a range or qualifier.",
"examples": [
2
]
}
},
"required": [],
"additionalProperties": false,
"anyOf": [
{
"required": [
"value",
"unit"
]
},
{
"required": [
"raw"
]
},
{
"required": [
"lower",
"upper",
"unit"
]
},
{
"required": [
"value",
"scale"
]
},
{
"required": [
"lower",
"upper",
"scale"
]
}
],
"description": "A reported numerical quantity or source wording. Physical quantities use unit; dimensionless proportions use scale (percent or fraction).",
"examples": [
{
"value": 25,
"unit": "°C"
},
{
"unit": "°C",
"raw": "20–25 °C",
"lower": 20,
"upper": 25
},
{
"value": 25,
"unit": "°C",
"raw": "25 ± 2 °C",
"uncertainty": 2
},
{
"value": 5,
"scale": "percent",
"raw": "<5%",
"qualifier": "<"
}
],
"allOf": [
{
"if": {
"anyOf": [
{
"required": [
"lower"
]
},
{
"required": [
"upper"
]
}
]
},
"then": {
"required": [
"lower",
"upper",
"unit"
],
"not": {
"anyOf": [
{
"required": [
"value"
]
},
{
"required": [
"qualifier"
]
},
{
"required": [
"uncertainty"
]
}
]
}
}
},
{
"if": {
"required": [
"uncertainty"
]
},
"then": {
"required": [
"value",
"unit"
]
}
},
{
"if": {
"required": [
"lower_inclusive"
]
},
"then": {
"required": [
"lower"
]
}
},
{
"if": {
"required": [
"upper_inclusive"
]
},
"then": {
"required": [
"upper"
]
}
},
{
"not": {
"required": [
"scale",
"unit"
]
}
}
]
},
"Material": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"examples": [
"reactant_1"
]
},
"identifiers": {
"type": "array",
"items": {
"$ref": "#/$defs/Identifier"
},
"examples": [
[
{
"type": "SMILES",
"value": "CCO"
}
]
]
},
"role": {
"type": "string",
"enum": [
"reactant",
"reagent",
"catalyst",
"solvent",
"intermediate",
"mixture",
"unknown"
],
"examples": [
"reactant"
]
},
"is_limiting": {
"type": "boolean",
"description": "Mark the one overall limiting reactant/reagent with true. It is the common reference for equiv, mol% and overall yield. Explicitly non-limiting is false; omit unknown. Do not infer from dose magnitude or numbering.",
"examples": [
true
]
},
"text": {
"type": "string",
"minLength": 1,
"examples": [
"Ethanol used as the limiting reactant"
],
"description": "Additional wording about this material."
},
"parameters": {
"type": "object",
"description": "Additional input material attributes, e.g. purity or supplier information. Dose concentration belongs to Charge.concentration.",
"examples": [
{
"purity": "99.5%"
}
]
}
},
"required": [
"id",
"role"
],
"additionalProperties": false,
"anyOf": [
{
"required": [
"identifiers"
],
"properties": {
"identifiers": {
"minItems": 1
}
}
},
{
"required": [
"text"
]
}
],
"examples": [
{
"id": "reactant_1",
"identifiers": [
{
"type": "SMILES",
"value": "CCO"
}
],
"role": "reactant",
"is_limiting": true,
"text": "Ethanol used as the limiting reactant",
"parameters": {
"purity": "99.5%"
}
}
],
"description": "Input material identity and role. Doses and their concentration or formulation belong to Charge."
},
"Charge": {
"type": "object",
"properties": {
"material": {
"type": "string",
"minLength": 1,
"description": "ID of the added material, e.g. reagent_1. Repeated additions reuse this ID.",
"examples": [
"reagent_1"
]
},
"amount": {
"$ref": "#/$defs/Quantity",
"description": "Amount added in this charge, e.g. {value:1,unit:\"mmol\"}. Use the same field for starting inputs and later additions. Omit if the individual amount is unreported; do not divide a total across unknown portions.",
"examples": [
{
"value": 2,
"unit": "mL"
}
]
},
"concentration": {
"$ref": "#/$defs/Quantity",
"description": "Concentration or supplied formulation of this charge, e.g. {raw:\"2.5 M solution in hexanes\"} or {raw:\"60% dispersion in mineral oil\"}. It applies to the material being added, not the whole reaction mixture.",
"examples": [
{
"raw": "2.5 M solution in hexanes"
},
{
"value": 0.5,
"unit": "mol/L"
},
{
"raw": "60% dispersion in mineral oil"
}
]
}
},
"required": [
"material"
],
"additionalProperties": false,
"examples": [
{
"material": "reagent_1",
"amount": {
"value": 2,
"unit": "mL"
},
"concentration": {
"raw": "2.5 M solution in hexanes"
}
}
],
"description": "One addition: the input material ID, amount taken, and concentration or formulation of that dose when reported."
},
"Conditions": {
"type": "object",
"properties": {
"temperature": {
"anyOf": [
{
"$ref": "#/$defs/Quantity",
"examples": [
{
"value": 25,
"unit": "°C",
"raw": "25 °C"
}
]
},
{
"type": "null"
}
],
"examples": [
{
"value": 25,
"unit": "°C"
}
]
},
"pressure": {
"anyOf": [
{
"$ref": "#/$defs/Quantity"
},
{
"type": "null"
}
],
"examples": [
{
"value": 1,
"unit": "atm"
}
]
},
"atmosphere": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"examples": [
"nitrogen"
]
},
{
"type": "null"
}
],
"examples": [
"nitrogen"
]
},
"parameters": {
"anyOf": [
{
"type": "object",
"description": "Extra conditions written as name/value pairs, e.g. milling_frequency: {value:30,unit:\"Hz\"}. In a later segment, omitted keys keep the previous setting; a new value replaces it. {milling_frequency:null} stops inheriting that setting; parameters:null clears all extra conditions. null is JSON empty value, not zero.",
"examples": [
{
"humidity": {
"raw": "40% RH"
}
}
]
},
{
"type": "null"
}
],
"examples": [
{
"milling_frequency": {
"value": 30,
"unit": "Hz"
}
}
],
"description": "Extra conditions written as name/value pairs, e.g. milling_frequency: {value:30,unit:\"Hz\"}. In a later segment, omitted keys keep the previous setting; a new value replaces it. {milling_frequency:null} stops inheriting that setting; parameters:null clears all extra conditions. null is JSON empty value, not zero."
}
},
"additionalProperties": false,
"examples": [
{
"temperature": {
"value": 25,
"unit": "°C"
},
"pressure": {
"value": 1,
"unit": "atm"
},
"atmosphere": "nitrogen",
"parameters": {
"humidity": {
"raw": "40% RH"
},
"light_source_type": "blue LED",
"wavelength": "450 nm"
}
}
],
"description": "Temperature, pressure, atmosphere and additional conditions. A later segment inherits omitted settings; null explicitly stops inheritance without asserting a new physical value. Segment.duration records the elapsed time."
},
"InitialState": {
"type": "object",
"properties": {
"inputs": {
"type": "array",
"items": {
"$ref": "#/$defs/Charge"
},
"examples": [
[
{
"material": "reactant_1",
"amount": {
"value": 1,
"unit": "mmol",
"raw": "1 mmol"
}
},
{
"material": "solvent_1",
"amount": {
"value": 2,
"unit": "mL",
"raw": "2 mL"
}
}
]
]
},
"conditions": {
"$ref": "#/$defs/Conditions",
"description": "Starting conditions. Omitted or null means unknown at the start; elapsed time belongs to Segment.duration.",
"examples": [
{
"temperature": {
"value": 0,
"unit": "°C"
}
}
]
},
"text": {
"type": "string",
"minLength": 1,
"examples": [
"The starting materials were charged at 0 °C."
]
}
},
"additionalProperties": false,
"examples": [
{
"inputs": [
{
"material": "reactant_1",
"amount": {
"value": 1,
"unit": "mmol",
"raw": "1 mmol"
}
},
{
"material": "solvent_1",
"amount": {
"value": 2,
"unit": "mL",
"raw": "2 mL"
}
}
],
"conditions": {
"temperature": {
"value": 0,
"unit": "°C"
}
},
"text": "The starting materials were charged at 0 °C."
}
],
"required": [
"inputs"
]
},
"Segment": {
"type": "object",
"properties": {
"added_materials": {
"type": "array",
"items": {
"$ref": "#/$defs/Charge"
},
"examples": [
[
{
"material": "reagent_1",
"amount": {
"value": 1,
"unit": "mmol"
}
}
]
]
},
"conditions": {
"$ref": "#/$defs/Conditions",
"description": "Conditions in this segment; omitted settings carry forward, supplied values replace and null clears.",
"examples": [
{
"temperature": {
"value": 0,
"unit": "°C"
}
}
]
},
"duration": {
"$ref": "#/$defs/Quantity",
"examples": [
{
"value": 1,
"unit": "h"
}
]
},
"text": {
"type": "string",
"minLength": 1,
"examples": [
"The reagent was added dropwise. The solution turned yellow and a precipitate formed."
],
"description": "Procedure and qualitative observations for this stage, e.g. dropwise addition, a colour change, precipitation or TLC observations. Retain observations without inventing a conversion or product identity."
},
"products": {
"type": "array",
"items": {
"$ref": "#/$defs/Product"
},
"description": "Product identities in this scope. Report measurements separately in measurements, linked by subject.",
"examples": [
[
{
"id": "intermediate_1",
"identifiers": [
{
"type": "NAME",
"value": "Intermediate A (source label)"
}
],
"role": "intermediate"
}
]
]
},
"measurements": {
"type": "array",
"items": {
"$ref": "#/$defs/Measurement"
},
"description": "Measurements in this scope, each linked by subject to a Material.id or Product.id. Use one item per reported metric or independent measurement.",
"examples": [
[
{
"subject": "reactant_1",
"type": "conversion",
"value": {
"value": 90,
"scale": "percent"
},
"text": "Determined by GC."
}
]
]
}
},
"minProperties": 1,
"additionalProperties": false,
"examples": [
{
"added_materials": [
{
"material": "reagent_1",
"amount": {
"value": 1,
"unit": "mmol"
}
}
],
"conditions": {
"temperature": {
"value": 0,
"unit": "°C"
}
},
"duration": {
"value": 1,
"unit": "h"
},
"text": "The reagent was added dropwise. The solution turned yellow."
}
],
"description": "One ordered stage: additions, conditions, duration and observations; optional product identities and measurements linked by subject."
},
"Product": {
"type": "object",
"description": "Product identity and role; results are linked through Measurement.subject.",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"examples": [
"product_1"
]
},
"identifiers": {
"type": "array",
"items": {
"$ref": "#/$defs/Identifier"
},
"examples": [
[
{
"type": "SMILES",
"value": "C[C@H](O)c1ccccc1"
}
]
]
},
"role": {
"type": "string",
"enum": [
"desired_product",
"byproduct",
"intermediate",
"unknown"
],
"examples": [
"desired_product"
]
},
"text": {
"type": "string",
"minLength": 1,
"examples": [
"Isolated target product"
],
"description": "Additional wording about this product."
},
"parameters": {
"type": "object",
"description": "Additional product attributes. reported_stereochemistry may retain the source configuration label; structural stereochemistry belongs in identifiers.",
"examples": [
{
"reported_stereochemistry": "(S)"
}
]
}
},
"required": [
"id"
],
"anyOf": [
{
"required": [
"identifiers"
],
"properties": {
"identifiers": {
"minItems": 1
}
}
},
{
"required": [
"text"
]
}
],
"additionalProperties": false,
"examples": [
{
"id": "product_1",
"identifiers": [
{
"type": "SMILES",
"value": "C[C@H](O)c1ccccc1"
}
],
"role": "desired_product",
"text": "Isolated target product",
"parameters": {
"reported_stereochemistry": "(S)"
}
}
]
},
"Measurement": {
"type": "object",
"properties": {
"subject": {
"type": "string",
"minLength": 1,
"description": "Measured object: a Material.id or Product.id in this reaction, e.g. reactant_1 for conversion or product_1 for yield.",
"examples": [
"reactant_1"
]
},
"type": {
"type": "string",
"enum": [
"yield",
"conversion",
"ee",
"de",
"er",
"dr",
"ez",
"rr",
"selectivity",
"purity",
"amount",
"observation",
"custom"
],
"examples": [
"ee"
]
},
"value": {
"$ref": "#/$defs/Quantity",
"examples": [
{
"value": 96,
"scale": "percent",
"raw": "96%"
}
]
},
"stereocentres": {
"type": "string",
"minLength": 1,
"pattern": "^(?:[1-9][0-9]*[a-z]?'*[RSrs]|\\([1-9][0-9]*[a-z]?'*[RSrs](?:,[1-9][0-9]*[a-z]?'*[RSrs])+\\))$",
"description": "Examined stereocentres with target configurations. One: 5S; several: (2R,5S), in ascending source-locant order. Use ASCII commas/parentheses, no spaces, and each locant once. Use R/S (r/s for reported pseudoasymmetry); source suffixes and primes are supported, e.g. (3aR,7S). Include only examined sites, not fixed centres. Source locants are not SMILES atom indices; unknown locants or other stereogenic elements belong in text.",
"examples": [
"5S",
"(2R,5S)",
"(7S,8R,12R)"
]
},
"basis": {
"type": "string",
"minLength": 1,
"description": "Compared species or groups in ratio order, e.g. (2R,5S):(2R,5R). Use a colon between terms; explicit group sums use brackets and +. Preserve source labels such as syn:anti. For ee/de name the isomer in excess first when known. Examined sites alone do not identify the comparison; omit unknown comparisons.",
"examples": [
"(2R,5S):(2S,5R)",
"(2R,5S):(2R,5R)",
"[(2R,5S)+(2S,5R)]:[(2R,5R)+(2S,5S)]",
"syn:anti"
]
},
"text": {
"type": "string",
"minLength": 1,
"pattern": "\\S",
"description": "Measurement details in one sentence: method, sample and other reported context, e.g. Isolated product analysed by chiral HPLC. For type=custom, state the metric name here.",
"examples": [
"Isolated product analysed by chiral HPLC.",
"Crude mixture analysed by 1H NMR. C2 remains R.",
"Space-time yield, calculated from isolated mass, reactor volume and duration."
]
}
},
"required": [
"subject",
"type",
"value"
],
"additionalProperties": false,
"allOf": [
{
"if": {
"properties": {
"type": {
"const": "yield"
}
},
"required": [
"type"
]
},
"then": {
"properties": {
"value": {
"properties": {
"value": {
"minimum": 0
},
"unit": {
"enum": [
"%",
"fraction",
"percent"
]
}
}
}
}
}
},
{
"if": {
"properties": {
"type": {
"const": "custom"
}
},
"required": [
"type"
]
},
"then": {
"required": [
"text"
]
}
}
],
"examples": [
{
"subject": "product_1",
"type": "ee",
"value": {
"value": 96,
"scale": "percent",
"raw": "96%"
},
"stereocentres": "(2R,5S)",
"basis": "(2R,5S):(2S,5R)",
"text": "Isolated target diastereomer fraction analysed by chiral HPLC."
},
{
"subject": "product_1",
"type": "dr",
"value": {
"raw": "95:5"
},
"stereocentres": "5S",
"basis": "(2R,5S):(2R,5R)",
"text": "Crude mixture analysed by 1H NMR. C2 remains R."
},
{
"subject": "product_1",
"type": "custom",
"value": {
"raw": "12 g L-1 h-1"
},
"text": "Metric: space-time yield; Method: Calculated from isolated mass, reactor volume and duration."
},
{
"subject": "reactant_1",
"type": "conversion",
"value": {
"value": 90,
"scale": "percent"
},
"text": "Determined by GC."
}
],
"dependentSchemas": {
"stereocentres": {
"properties": {
"type": {
"enum": [
"ee",
"er",
"de",
"dr"
]
}
}
}
}
},
"Provenance": {
"type": "object",
"properties": {
"doi": {
"type": "string",
"pattern": "^(https://doi\\.org/)?10\\.\\d{4,9}/\\S+$",
"description": "Source paper DOI or https://doi.org/ link. This is the article DOI, not a dataset DOI.",
"examples": [
"10.1234/isynth.example"
]
},
"reference": {
"type": "string",
"minLength": 1,
"examples": [
"Fictional article for documentation examples"
],
"description": "Source citation or title, especially when no DOI is available."
},
"locator": {
"type": "string",
"minLength": 1,
"examples": [
"page 12"
],
"x-authoring-hidden": true
},
"text": {
"type": "string",
"minLength": 1,
"x-authoring-hidden": true
},
"source_schema_version": {
"type": "string",
"minLength": 1,
"x-authoring-hidden": true
},
"conversion": {
"type": "string",
"minLength": 1,
"x-authoring-hidden": true
},
"identifier_origin": {
"type": "string",
"enum": [
"source",
"generated"
],
"x-authoring-hidden": true
},
"parameters": {
"type": "object",
"description": "Additional source attributes retained for compatibility and specialized consumers. Not part of routine authoring; use the defined fields and domain extensions first.",
"x-authoring-hidden": true
},
"raw_values": {
"type": "object",
"x-authoring-hidden": true
},
"columns": {
"type": "array",
"items": {
"type": "object"
},
"x-authoring-hidden": true
},
"source": {
"type": "object",
"x-authoring-hidden": true
}
},
"required": [],
"additionalProperties": false,
"examples": [
{
"doi": "10.1234/isynth.example",
"reference": "Fictional article for documentation examples"
}
],
"description": "Source article DOI and citation. Original files and platform import metadata are kept separately."
}
},
"x-core-fields": {
"Reaction": [
"schema_version",
"reaction_identifier",
"materials",
"initial_state",
"segments",
"products",
"measurements",
"workup",
"provenance"
],
"Material": [
"id",
"identifiers",
"role",
"is_limiting"
],
"Conditions": [
"temperature",
"pressure",
"atmosphere"
],
"Measurement": [
"type",
"value",
"stereocentres",
"basis",
"text",
"subject"
],
"Quantity": [
"raw",
"value",
"unit"
],
"Provenance": [
"doi",
"reference"
],
"Charge": [
"material",
"amount",
"concentration"
],
"Product": [
"id",
"identifiers",
"role"
],
"Segment": [
"added_materials",
"conditions",
"duration",
"text",
"products",
"measurements"
]
},
"x-object-groups": [
{
"id": "materials",
"types": [
"Identifier",
"Quantity",
"Material",
"Charge"
],
"helpers": []
},
{
"id": "process",
"types": [
"Conditions",
"InitialState",
"Segment"
],
"helpers": []
},
{
"id": "results",
"types": [
"Product",
"Measurement"
],
"helpers": []
},
{
"id": "provenance",
"types": [
"Provenance"
],
"helpers": []
}
],
"$id": "https://isynth.ichemdata.com/schemas/reaction-object.schema.json",
"x-quantity-convention": {
"reference": "The single material marked is_limiting=true is the common reference for equiv, mol% and overall yield.",
"unknown": "Without a known limiting material, retain reported values and do not calculate an absolute amount or infer a limiting flag.",
"scope": "Stage yields are kept in stage-scoped outcomes and are never relabelled as overall yields. Retain any exceptional source wording without inventing another structured reference."
},
"examples": [
{
"schema_version": "1.9.0",
"reaction_identifier": "EXP-0001",
"materials": [
{
"id": "alcohol",
"identifiers": [
{
"type": "SMILES",
"value": "CCO"
}
],
"role": "reactant"
},
{
"id": "reagent",
"identifiers": [
{
"type": "NAME",
"value": "acetic anhydride"
}
],
"role": "reagent"
}
],
"initial_state": {
"inputs": [
{
"material": "alcohol",
"amount": {
"value": 0.25,
"unit": "mmol",
"raw": "0.25 mmol"
}
},
{
"material": "reagent"
}
]
},
"segments": [
{
"conditions": {
"temperature": {
"value": 25,
"unit": "°C",
"raw": "25 °C"
}
}
}
],
"products": [
{
"id": "product",
"identifiers": [
{
"type": "SMILES",
"value": "CCOC(C)=O"
}
]
}
],
"measurements": [
{
"subject": "product",
"type": "yield",
"value": {
"value": 80,
"scale": "percent",
"raw": "80%"
}
}
],
"provenance": {
"reference": "Fictional teaching record; Example A"
},
"text": "Fictional format illustration, not a measured result. Unreported amounts, method and calculation bases are omitted."
}
],
"$comment": "Complete field descriptions and examples: https://isynth.ichemdata.com/schemas/reaction-reference.en.html (English), https://isynth.ichemdata.com/schemas/reaction-reference.zh.html (中文)."
}