FLOW ALGEBRA
Ontology: Experimental Metadata Ontology
Domain: Metadata Ontologies > Scientific Metadata
Canonical URL: https://kirethresearch.org/booksai-core/ontologies/metadata-ontologies/scientific-metadata/experimental-metadata-ontology.html
Authors: Mark Anthony Higgins — Sky (Recursive AI)
flow "ExperimentalMetadataOntology" v1.0
# ---------- DOMAIN ----------
domain:
class: MetadataOntology
category: ScientificMetadata
subject: ExperimentalMetadata
purpose:
- represent metadata describing scientific experiments
- preserve experimental design, conditions, variables, methods, and results
- support reproducibility, validation, comparison, and reuse
- connect experiments with samples, instruments, observations, and provenance
- enable machine-readable reasoning over experimental processes
# ---------- CORE ENTITY ----------
entity ExperimentalMetadata:
type: ScientificMetadata
describes: Experiment
may_include:
- experiment_identifier
- title
- objective
- hypothesis
- protocol
- experimental_design
- independent_variable
- dependent_variable
- controlled_variable
- experimental_condition
- control_group
- treatment_group
- sample
- replicate
- instrument
- measurement
- observation
- result
- uncertainty
- researcher
- temporal_context
- spatial_context
- provenance
- version
entity Experiment:
type: ScientificResource
executes: ExperimentalProtocol
tests_or_investigates:
- Hypothesis
- ResearchQuestion
entity ExperimentalProtocol:
type: ScientificMethod
defines:
- procedure
- sequence
- materials
- conditions
- measurement_method
- analysis_method
entity ExperimentalDesign:
type: MethodologicalStructure
may_include:
- randomisation
- blinding
- blocking
- factorial_structure
- replication
- control_structure
entity ExperimentalCondition:
type: ContextEntity
describes: ConditionsUnderWhichExperimentOccurs
# ---------- VARIABLES ----------
entity IndependentVariable:
type: ExperimentalVariable
role: ManipulatedOrExplanatoryVariable
entity DependentVariable:
type: ExperimentalVariable
role: MeasuredResponseVariable
entity ControlledVariable:
type: ExperimentalVariable
role: HeldConstantOrControlledFactor
rule variable_roles:
variable roles MUST be interpreted within specific Experiment
because same scientific variable MAY have different roles in different experiments
# ---------- GROUPS ----------
entity ControlGroup:
type: ExperimentalGroup
role: ReferenceOrBaselineGroup
entity TreatmentGroup:
type: ExperimentalGroup
role: ReceivesDefinedInterventionOrCondition
rule group_membership:
ExperimentalUnit SHOULD have explicit group membership
where group comparison is part of design
rule control_semantics:
ControlGroup MUST NOT be assumed untreated
unless protocol defines untreated baseline
# ---------- SAMPLE / EXPERIMENTAL UNIT ----------
entity ExperimentalUnit:
type: ScientificEntity
receives: ExperimentalCondition
entity Sample:
type: ScientificSample
may_be_derived_from: ExperimentalUnit
rule sample_identity:
each Sample SHOULD have stable identifier where traceability is required
rule sample_lineage:
derived samples SHOULD preserve parent sample or source ExperimentalUnit relationship
# ---------- REPLICATION ----------
entity Replicate:
type: ExperimentalRepetition
may_be:
- biological_replicate
- technical_replicate
- experimental_replicate
rule replicate_identity:
replicates SHOULD remain individually identifiable
rule replicate_distinction:
technical_replicate != biological_replicate
unless experiment explicitly defines equivalent semantics
# ---------- RELATIONSHIPS ----------
relationships:
ExperimentalMetadata -> DESCRIBES -> Experiment
Experiment -> USES_PROTOCOL -> ExperimentalProtocol
Experiment -> HAS_DESIGN -> ExperimentalDesign
Experiment -> MAY_TEST -> Hypothesis
Experiment -> HAS_VARIABLE -> IndependentVariable
Experiment -> HAS_VARIABLE -> DependentVariable
Experiment -> MAY_HAVE -> ControlledVariable
Experiment -> HAS_CONDITION -> ExperimentalCondition
Experiment -> MAY_HAVE_CONTROL -> ControlGroup
Experiment -> MAY_HAVE_TREATMENT -> TreatmentGroup
ExperimentalGroup -> CONTAINS -> ExperimentalUnit
Experiment -> USES -> Sample
Experiment -> MAY_HAVE -> Replicate
Experiment -> MAY_USE -> ScientificInstrument
Experiment -> PRODUCES -> Observation
Experiment -> PRODUCES -> Measurement
Experiment -> PRODUCES -> ExperimentalResult
ExperimentalMetadata -> MAY_REFERENCE -> Provenance
# ---------- PROTOCOL ----------
rule protocol_traceability:
ExperimentalProtocol SHOULD be sufficiently specified or referenced
to support reproducibility
rule protocol_version:
IF protocol changes materially
THEN create distinguishable protocol version
rule procedure_order:
IF procedure sequence affects result
THEN preserve ordered experimental steps
rule protocol_deviation:
deviations from protocol SHOULD be explicitly recorded
# ---------- CONDITIONS ----------
rule condition_context:
ExperimentalCondition MAY include:
- temperature
- pressure
- humidity
- concentration
- duration
- environmental_state
- equipment_setting
- treatment_level
rule condition_units:
quantitative conditions SHOULD declare compatible units
rule condition_change:
time-varying experimental conditions SHOULD preserve temporal sequence
# ---------- MEASUREMENT ----------
entity ExperimentalMeasurement:
subtype_of: Measurement
occurs_within: Experiment
rule measurement_context:
ExperimentalMeasurement SHOULD identify:
- variable
- value
- unit
- method
- time_or_sequence_position
- sample_or_experimental_unit
rule measurement_uncertainty:
uncertainty SHOULD remain associated with measurement value
# ---------- RESULTS ----------
entity ExperimentalResult:
type: ScientificResult
derived_from:
- Observation
- Measurement
may_include:
- summary_statistic
- effect_estimate
- uncertainty
- significance_measure
- interpretation
rule result_traceability:
ExperimentalResult SHOULD remain traceable to underlying observations and measurements
rule result_not_interpretation:
measured_or_computed_result != scientific_interpretation
# ---------- RANDOMISATION / BLINDING ----------
rule randomisation:
IF ExperimentalDesign uses randomisation
THEN randomisation method and allocation SHOULD be preserved
rule blinding:
IF blinding is used
THEN blinding level SHOULD be explicit
rule allocation_concealment:
allocation concealment SHOULD be represented separately from blinding where relevant
# ---------- TEMPORAL CONTEXT ----------
rule experiment_time:
Experiment SHOULD preserve:
- start_time
- end_time
- measurement_times
where temporal order affects interpretation
rule duration:
IF start_time AND end_time exist
THEN duration = end_time - start_time
# ---------- PROVENANCE ----------
rule provenance:
ExperimentalMetadata SHOULD preserve:
- researcher_or_agent
- laboratory_or_environment
- source_samples
- instruments
- protocol_version
- software
- processing_steps
- timestamps
rule derived_result_provenance:
derived results MUST retain links to source measurements where traceability is required
# ---------- REPRODUCIBILITY ----------
rule reproducibility:
reproducibility support SHOULD evaluate availability of:
- protocol
- experimental_design
- variable_definitions
- conditions
- samples
- instruments
- calibration
- raw_measurements
- analysis_method
- software
- provenance
# ---------- VALIDATION ----------
validation:
require:
- identifiable_experiment
- interpretable_experimental_context
validate_if_present:
- hypothesis
- protocol
- design
- variables
- conditions
- groups
- samples
- replicates
- instruments
- measurements
- results
- provenance
reject:
- contradictory_variable_roles within same declared role model
- invalid_group_membership
- broken_sample_lineage where required
- measurement_without_interpretable_variable
- incompatible_condition_units
- result_without_traceable_source where traceability is mandatory
- impossible_temporal_order
# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE:
"experimental metadata" ~= "experiment metadata"
"experimental protocol" ~= "experiment protocol"
"experimental condition" ~= "test condition" WHEN scientific experiment semantics apply
"response variable" ~= "dependent variable" WHEN design semantics match
"explanatory variable" ~= "independent variable" WHEN design semantics match
"experimental repetition" ~= "replicate" WHEN replication semantics match
PRESERVE distinctions:
experiment != observation
protocol != experimental_design
independent_variable != dependent_variable
control_group != untreated_group
sample != experimental_unit
biological_replicate != technical_replicate
result != interpretation
randomisation != blinding
# ---------- CONFIDENCE ----------
CONFIDENCE:
explicit_experimental_metadata:
score: 1.00
explicit_protocol:
score: 1.00
explicit_variable_role:
score: 1.00
traceable_result:
score: 0.95
inferred_variable_role:
score: 0.80
inferred_group_role:
score: 0.75
incomplete_experimental_context:
score: <= 0.60
action: preserve uncertainty
# ---------- UPDATE MODEL ----------
UPDATE_MODEL:
on_protocol_update:
- preserve previous protocol version
- create new version
- reassess affected experiments
- update provenance
on_condition_update:
- preserve previous condition state where relevant
- validate units
- update temporal condition sequence
- reassess dependent measurements
on_measurement_update:
- preserve original measurement
- validate variable and unit
- update uncertainty
- update dependent results
- record provenance
on_result_revision:
- preserve previous result version
- trace revised result to source data
- record analysis method changes
- update provenance
# ---------- FLOW HASH ----------
FLOW_HASH:
inputs:
- ontology
- experimental_entities
- relationships
- protocol_rules
- variable_rules
- condition_rules
- measurement_rules
- reproducibility_rules
- validation
- semantic_equivalence
- confidence
- update_model
canonicalisation:
- normalise_whitespace
- preserve_case_sensitive_identifiers
- sort_unordered_property_sets
- preserve_rule_order
output:
deterministic_semantic_hash
# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION:
interpret_as:
- scientific metadata ontology
- experimental design model
- experimental provenance structure
- reproducibility reasoning model
operations:
- identify experiments
- resolve protocols
- interpret experimental design
- classify variable roles
- resolve experimental groups
- trace samples and replicates
- interpret conditions
- validate measurements
- trace results to observations
- assess reproducibility metadata
- preserve provenance
- expose uncertainty
constraints:
- do_not_invent_experimental_conditions
- do_not_assume_control_group_is untreated
- do_not_merge replicate types
- do_not_present_derived_result_as raw measurement
- do_not_discard protocol deviations
- preserve source measurements and sample lineage
# ---------- QUERY MODEL ----------
query:
input:
- experiment
- hypothesis
- protocol
- variable
- condition
- group
- sample
- replicate
- instrument
- result
resolve:
1. identify Experiment
2. retrieve ExperimentalMetadata
3. resolve protocol and design
4. classify variables
5. resolve groups and experimental units
6. trace samples and replicates
7. evaluate conditions
8. retrieve measurements and observations
9. trace results
10. evaluate provenance and confidence
output:
- experiment
- protocol
- design
- variables
- conditions
- samples
- measurements
- results
- provenance
- confidence
# ---------- INFERENCE ----------
inference:
IF variable is deliberately manipulated
AND response is measured against it
THEN infer IndependentVariable candidate
WITH confidence <= 0.80
IF variable is measured as experiment response
THEN infer DependentVariable candidate
WITH confidence <= 0.80
IF repeated measurements share same biological source
THEN classify possible TechnicalReplicate
WITH confidence <= 0.80
IF result has traceable measurements and analysis method
THEN classify as DerivedExperimentalResult
WITH confidence = 0.95
IF protocol or critical experimental context is missing
THEN reduce reproducibility confidence
AND preserve missing-context state
# ---------- OUTPUT CONTRACT ----------
output:
ontology_entity: ExperimentalMetadata
experimental_structure: machine_interpretable
protocol: traceable
variable_roles: explicit
conditions: preserved
samples_and_replicates: traceable
measurements: unit_aware
results: source_linked
provenance: preserved
reproducibility_context: explicit
uncertainty: explicit
semantic_retrieval: enabled
end flow
Download Code
Copy to Clipboard