FLOW ALGEBRA
TITLE: Mineralogy Domain Ontology
DOMAIN: Domain Ontologies / Earth & Environmental Domains / Mineralogy
SOURCE: https://kirethresearch.org/booksai-core/ontologies/domain-ontologies/earth-environmental-domains/mineralogy-domain-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.
flow "MineralogyDomainOntology" v1.0 {
ontology:
id: "mineralogy-domain-ontology"
parent: "earth-environmental-domains"
purpose: "Represent mineral species, crystal structures, compositions, physical properties, occurrences and evidence-based mineral identification."
types:
MineralSpecies: {id: string, accepted_name: string, formula: string?, classification: string?, authority: string?}
MineralSample: {id: string, species_id: string?, locality_id: string?, collection_date: datetime?, provenance: string}
CrystalStructure: {id: string, crystal_system: string?, space_group: string?, unit_cell: string?}
ChemicalComposition: {id: string, constituents: map[string, number], basis: string, uncertainty: number?}
PhysicalProperty: {id: string, kind: string, value: string, unit: string?, method: string?, uncertainty: number?}
GeologicalOccurrence: {id: string, locality: string, host_rock: string?, geological_context: string?, age: string?}
Measurement: {id: string, method: string, result: string, uncertainty: number?, provenance: string}
Relationship: {id: string, subject: string, predicate: string, object: string, confidence: number, evidence: string[], context: string?}
predicates:
classified_as(sample: MineralSample, species: MineralSpecies)
has_composition(sample: MineralSample, composition: ChemicalComposition)
has_crystal_structure(species: MineralSpecies, structure: CrystalStructure)
exhibits_property(sample: MineralSample, property: PhysicalProperty)
occurs_at(sample: MineralSample, occurrence: GeologicalOccurrence)
measured_by(property: PhysicalProperty, measurement: Measurement)
associated_with(a: MineralSpecies, b: MineralSpecies)
formed_by(sample: MineralSample, process: string)
constraints:
- "All referenced identifiers must resolve to compatible typed entities."
- "Confidence values must be within [0, 1]."
- "Measurements must retain units, methods, uncertainty and provenance when available."
- "Chemical formulas and composition bases must be normalised before comparison."
- "A sample identification is a supported classification, not automatic proof of species identity."
- "Mineral association alone does not establish common genesis or causation."
- "Do not infer identical crystal structure solely from matching chemical composition."
- "Locality, geological context and sample history must remain attached to observations."
inference:
rule evidence_supported_identification:
if has_composition(s,c) and exhibits_property(s,p) and consistent_with_species(c,p,m)
then candidate_classification(s,m)
confidence: "derive from independent measurement quality; do not assert certainty"
rule occurrence_link:
if classified_as(s,m) and occurs_at(s,o)
then observed_occurrence(m,o)
confidence: "retain sample provenance and identification uncertainty"
rule association_symmetry:
if associated_with(a,b)
then associated_with(b,a)
confidence: "preserve original context; association is not transitive"
SEMANTIC_EQUIVALENCE:
- "Resolve mineral names and synonyms against versioned authoritative mineral nomenclature."
- "Distinguish mineral species, varieties, groups, samples and trade names."
- "Preserve polymorphism, solid-solution variation and analytical context."
CONFIDENCE:
range: [0,1]
factors: [analytical_method, measurement_uncertainty, specimen_quality, reference_authority, independent_replication, provenance]
policy: "Do not inflate confidence through chained or repeated dependent evidence."
VALIDATION:
- "Check entity typing, referential integrity and classification authority."
- "Validate units, compositional consistency and crystal-structure claims."
- "Flag conflicting identifications, missing provenance and ambiguous synonyms."
- "Retain competing classifications when evidence is inconclusive."
FLOW_HASH:
algorithm: "SHA-256"
input: "canonicalised ontology version, typed assertions, rules and provenance"
note: "Compute hash at execution; no hash value is claimed here."
UPDATE_MODEL:
strategy: "versioned, provenance-preserving incremental update"
steps: [ingest, normalise, validate, compare, reconcile, recompute_inferences, publish]
rollback: true
AI_CONSUMPTION:
representation: "typed mineralogical knowledge graph with evidence-backed relationships"
outputs: [mineral_entity_links, sample_classifications, composition_records, structure_links, occurrence_records, uncertainty_annotations, provenance_records]
safeguards: [no_unsupported_species_identification, preserve_units_and_uncertainty, distinguish_association_from_causation, retain_source_provenance]
}
END FLOW ALGEBRA
Download Code
Copy to Clipboard