Ontology
Stable public identifiers use opensensation:<kind>:<slug>. Slugs are unique within an entity kind, not globally: pressure as a stimulus, sensor and sensation are different concepts. Internal projection keys reuse stable public IDs; relationship IDs are deterministic hashes. Machine identifiers contain no trademark symbol.
Entity kinds
Modality, Stimulus, Sensor, Receptor, Transduction, Signal, ProcessingStep (processing), Sensation, Threshold, Range, ContextModifier (context), CandidatePercept (percept), Capability, Limitation, FailureMode, Source, Evidence, Contributor and ExpertReview (review) are first-class canonical kinds. Collection URLs are plural except processing and evidence.
Each record has identity, definition, evidence claims, relationships and optional domain blocks. The strict contract rejects unknown fields. Pydantic expresses structural and within-record rules; generated Draft 2020-12 JSON Schema supports other clients; semantic validation adds cross-record and source-type rules. JSON Schema alone cannot validate the entire ontology.
Layer separation
- World/internal state provides a stimulus.
- A sensor or receptor responds through a transduction mechanism.
- A signal is encoded and may be processed.
- A sensation is a sensed/encoded state.
- Context may contribute to a candidate interpretation.
- Appraisal, emotion and action require additional models outside this release.
The same input can be linked to different candidate percepts under different context. Different inputs can contribute to similarly named encoded states. Neither pattern implies deterministic equivalence. Biological and artificial classifications remain explicit. Receptor and device terminology are intentionally distinct.
Relationships
DETECTED_BY: stimulus → sensor/receptor. BELONGS_TO: concept → modality. TRANSDUCED_BY: stimulus or sensing mechanism → transduction. PRODUCES: mechanism/processing → signal. PROCESSED_BY: sensor/receptor/signal → processing. CONTRIBUTES_TO: input/mechanism/processing → sensation. MAY_BE_PERCEIVED_AS: sensation → candidate percept. HAS_CAPABILITY, LIMITED_BY, MAY_FAIL_AS, HAS_THRESHOLD, HAS_RANGE, MODIFIED_BY and SUPPORTED_BY express scoped associations. Cross-sensing relationships include COMPLEMENTS, CONFLICTS_WITH, CORROBORATES, MODIFIES, and FUSES_WITH.
Every edge cites a local claim; edge conditions may narrow that claim. A numerical association strength requires source support. Source and target kinds are checked. Reverse relationships are queried, not duplicated as competing authoritative facts.
Scope caveats
The modalities collection intentionally contains overlapping biological and engineering categories, not a mutually exclusive scientific taxonomy. Electroreception, magnetoreception and echolocation seeds are species-scoped and editorial, awaiting specialist review. They are not human capability claims. Battery telemetry's functional analogy to interoception does not establish feelings or consciousness.
The convenience API filter modality=vision also discovers machine-vision; this is a documented search expansion, not an ontology assertion that the mechanisms are identical. Use modality=machine-vision for the narrower device category.