FLOW ALGEBRA
TITLE: Biomedical Research Domain Ontology
DOMAIN: Domain Ontologies / Medical Domains / Biomedical Research
SOURCE: https://kirethresearch.org/booksai-core/ontologies/domain-ontologies/medical-domains/biomedical-research-domain-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.
flow "BiomedicalResearchDomainOntology" v1.0 {
ontology:
id: "biomedical-research-domain-ontology"
parent: "medical-domains"
purpose: "Represent biomedical research questions, experimental designs, biological samples, measurements, findings and reproducible evidence relationships."
types:
ResearchProject: {id: string, title: string, objective: string, provenance: string}
ResearchQuestion: {id: string, statement: string, project_id: string}
Hypothesis: {id: string, proposition: string, testable: bool, status: enum[proposed, supported, refuted, inconclusive]}
Study: {id: string, design: enum[observational, experimental, clinical_trial, computational, systematic_review, other], protocol_id: string, ethics_approval: string?}
Protocol: {id: string, version: string, methods: string[], preregistration: string?}
BiologicalSample: {id: string, type: string, source_id: string?, consent_scope: string?, collection_time: datetime?}
Dataset: {id: string, schema: string, access_level: string, provenance: string}
Measurement: {id: string, variable: string, value: number?, unit: string?, uncertainty: number?, method: string, timestamp: datetime?}
Finding: {id: string, claim: string, effect_size: number?, uncertainty: string?, evidence_ids: string[]}
Publication: {id: string, identifier: string?, version: string, status: string}
ResearchRelationship: {id: string, subject: string, predicate: string, object: string, confidence: number, evidence: string[], context: string?}
predicates:
investigates(project: ResearchProject, question: ResearchQuestion)
tests(study: Study, hypothesis: Hypothesis)
follows_protocol(study: Study, protocol: Protocol)
uses_sample(study: Study, sample: BiologicalSample)
produces_dataset(study: Study, dataset: Dataset)
records(dataset: Dataset, measurement: Measurement)
supports(finding: Finding, hypothesis: Hypothesis)
contradicts(finding: Finding, hypothesis: Hypothesis)
reports(publication: Publication, finding: Finding)
replicates(study_a: Study, study_b: Study)
constraints:
- "All relationship endpoints must resolve to typed entities."
- "Confidence must be within [0,1] and must not be equated with statistical significance."
- "Measurement units, methods, calibration and uncertainty must be recorded where applicable."
- "Observational association does not establish causation."
- "Ethics approval, consent scope, access restrictions and privacy safeguards must be checked when applicable."
- "Do not infer replication from similar findings without compatible protocols and independent evidence."
- "Distinguish exploratory findings from preregistered confirmatory results."
inference:
rule evidence_link:
if tests(study,hypothesis) and produces_dataset(study,dataset) and reports(publication,finding)
and finding_derived_from(finding,dataset)
then traceable_evidence(hypothesis,finding,study,dataset,publication)
confidence: "evaluate provenance, study design and analysis quality"
rule replication_candidate:
if tests(study_a,hypothesis) and tests(study_b,hypothesis)
and independent(study_a,study_b) and compatible_protocols(study_a,study_b)
then candidate_replication(study_a,study_b)
confidence: "requires outcome comparison and methodological review"
rule evidence_conflict:
if supports(finding_a,hypothesis) and contradicts(finding_b,hypothesis)
then flag_conflicting_evidence(hypothesis,finding_a,finding_b)
confidence: "preserve both findings; do not auto-resolve"
SEMANTIC_EQUIVALENCE:
- "Map biomedical concepts to versioned authoritative vocabularies where applicable."
- "Distinguish exact identity, synonymy, relatedness and broader/narrower concepts."
- "Preserve species, tissue, experimental condition, unit and time context."
CONFIDENCE:
range: [0,1]
factors: [study_design, measurement_quality, sample_size, bias_risk, reproducibility, provenance, independent_replication]
policy: "Do not increase confidence solely through chained inference or repeated dependent evidence."
VALIDATION:
- "Check identifiers, endpoint types, protocol versions, study design and provenance."
- "Check sample provenance, consent, access permissions and applicable ethical constraints."
- "Validate units, missing data, uncertainty and analytical assumptions."
- "Flag conflicting evidence, unsupported causal claims and non-reproducible analyses."
FLOW_HASH:
algorithm: "SHA-256"
input: "canonicalised ontology version, typed assertions, rules and provenance"
note: "Compute at execution; no precomputed hash is claimed."
UPDATE_MODEL:
strategy: "versioned, provenance-preserving incremental update"
steps: [ingest, normalise, validate, reconcile, assess_evidence, recompute_inferences, publish]
rollback: true
AI_CONSUMPTION:
representation: "typed biomedical research knowledge graph with evidence-backed assertions"
outputs: [research_links, study_relationships, evidence_traces, uncertainty_annotations, provenance_records, validation_flags]
safeguards: [protect_sensitive_data, respect_consent, no_unsupported_causal_claims, no_automated_clinical_decisions, preserve_conflicting_evidence]
}
END FLOW ALGEBRA
Download Code
Copy to Clipboard