FLOW ALGEBRA
TITLE: Chemical Engineering Domain Ontology
DOMAIN: Domain Ontologies / Engineering Domains / Chemical Engineering
SOURCE: https://kirethresearch.org/booksai-core/ontologies/domain-ontologies/engineering-domains/chemical-engineering-domain-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.
flow "ChemicalEngineeringDomainOntology" v1.0 {
ontology:
id: "chemical-engineering-domain-ontology"
parent: "engineering-domains"
purpose: "Represent chemical engineering processes, materials, equipment, balances, controls and evidence-backed relationships."
types:
Material: {id: string, composition: string?, phase: string?, provenance: string?}
Process: {id: string, kind: enum[reaction, separation, mixing, heat_transfer, mass_transfer, transport, other], design_basis: string?}
UnitOperation: {id: string, process_id: string, equipment_id: string?}
Equipment: {id: string, kind: string, capacity: Quantity?, specification: string?}
Stream: {id: string, material_id: string, flow_rate: Quantity?, temperature: Quantity?, pressure: Quantity?, composition: string?}
Reaction: {id: string, stoichiometry: string, kinetic_model: string?, conditions: string?}
Quantity: {value: number, unit: string, uncertainty: number?}
Measurement: {id: string, quantity: Quantity, timestamp: datetime?, instrument: string?, provenance: string}
Constraint: {id: string, kind: enum[safety, environmental, operational, design, regulatory], expression: string}
Relationship: {id: string, subject: string, predicate: string, object: string, context: string?, confidence: number, evidence: string[]}
predicates:
feeds(stream: Stream, operation: UnitOperation)
produces(operation: UnitOperation, stream: Stream)
uses_equipment(operation: UnitOperation, equipment: Equipment)
implements(operation: UnitOperation, process: Process)
participates_in(material: Material, reaction: Reaction)
transfers_heat(from: Equipment, to: Equipment)
transfers_mass(from: Stream, to: Stream)
constrained_by(process: Process, constraint: Constraint)
measured_by(stream: Stream, measurement: Measurement)
depends_on(downstream: UnitOperation, upstream: UnitOperation)
constraints:
- "All relationship endpoints must resolve to correctly typed entities."
- "Confidence values must lie within [0, 1]."
- "All physical quantities require explicit, dimensionally consistent units."
- "Material and energy balances must account for accumulation, inputs, outputs, generation and consumption as applicable."
- "Reaction stoichiometry must respect elemental conservation and charge conservation where applicable."
- "A process connection does not by itself prove safe operation or chemical compatibility."
- "Dependencies are not automatically causal and may be cyclic in recirculating processes."
- "Design constraints and safety limits require provenance and applicable operating context."
inference:
rule downstream_dependency:
if produces(op_a,s) and feeds(s,op_b)
then depends_on(op_b,op_a)
confidence: "retain stream identity and evidence"
rule process_equipment:
if uses_equipment(op,e) and implements(op,p)
then equipment_supports(e,p)
confidence: "contextual, not proof of suitability"
rule balance_check:
if complete_balance_data(p) and consistent_units(p)
then evaluate_mass_energy_balance(p)
confidence: "report residuals and measurement uncertainty"
rule constraint_flag:
if measured_by(s,m) and applicable_limit(s,c) and violates(m,c)
then flag_constraint_violation(s,c)
confidence: "retain measured value, uncertainty and limit provenance"
SEMANTIC_EQUIVALENCE:
- "Normalise chemical names and identifiers using versioned authoritative vocabularies."
- "Distinguish substance identity from mixtures, grades, phases and concentrations."
- "Map equivalent unit-operation terms only when their operating context agrees."
- "Preserve units, process conditions and equipment specifications."
CONFIDENCE:
range: [0,1]
factors: [measurement_uncertainty, evidence_quality, model_validity, operating_conditions, independent_replication]
policy: "Do not manufacture certainty through inference chaining or treat confidence as a safety certification."
VALIDATION:
- "Verify entity types, stream connectivity, units and dimensional consistency."
- "Check material and energy balance residuals against stated tolerances."
- "Validate stoichiometry, operating envelopes and equipment constraints."
- "Flag missing evidence, incompatible material assumptions and conflicting measurements."
- "Keep design verification separate from operational and regulatory approval."
FLOW_HASH:
algorithm: "SHA-256"
input: "canonicalised ontology version, entities, relationships, rules and provenance"
note: "Compute at execution; no precomputed hash is claimed."
UPDATE_MODEL:
strategy: "versioned, provenance-preserving incremental update"
steps: [ingest, normalise, validate, compare, reconcile, recompute_inferences, publish]
rollback: true
AI_CONSUMPTION:
representation: "typed chemical-engineering knowledge graph with evidence-backed relationships"
outputs: [entity_links, process_graphs, material_streams, inferred_dependencies, validation_reports, provenance_records]
safeguards: [preserve_units, respect_operating_limits, distinguish_models_from_measurements, no_unsupported_safety_claims]
}
END FLOW ALGEBRA
Download Code
Copy to Clipboard