The neutral schema: node and edge types, the source-as-observation model, Cromwell-rule probabilities, bridge-quality taxonomy, and the anti-overfit rules that stop symbolic similarity from masquerading as causation.
title: "Universal Epistemic Ontology for Latent-Structure Discovery" created: "2026-06-20" artifact_type: "ontology_specification" graph_target: "Neo4j + Qdrant hybrid" status: "draft v0.1" purpose: "Define a neutral schema for ingesting strange, contested, historical, religious, cultural, and conspiracy-adjacent claims without prejudice, while preserving evidence quality and preventing overfit."
Universal Epistemic Ontology
0. Purpose
This ontology is designed for one experiment:
Can a graph ingest strange historical assertions, religious motifs, cultural adversary figures, official records, occult texts, legal records, witness claims, and mainstream accounts, then discover latent structure without assigning automatic authority or automatic stigma to any source class?
The system is not a "conspiracy graph." It is an epistemic emergence engine.
Its core principle:
No prejudice at intake.
No authority at face value.
No whole-narrative promotion.
No anomaly deletion.
Every claim decomposed.
Every bridge typed.
Every source treated as an observation.
Every structure allowed to emerge only through recurrence, independence, mechanism, prediction, and posterior update.
1. Core Epistemic Rule
1.1 Cromwell rule
No empirical hypothesis receives probability exactly 0 or 1 unless logically impossible.
P(H) ∈ (0, 1) for all empirical H
This permits a hypothesis classically dismissed as false to become dominant if enough independent observations support it.
1.2 Source-as-observation
A source does not emit truth. A source emits an observation.
world -> event -> trace -> observer/source -> observation -> claim -> graph -> posterior structure
1.3 Confidence and salience are separate
A node can be:
low confidence / high salience
high confidence / low salience
high confidence / high salience
low confidence / low salience
Low-confidence/high-salience nodes are not accepted as fact, but they are watched.
2. Primary Node Types
2.1 Source
A thing from which observations come.
Source:
source_id: string
title: string
source_type:
- court_record
- official_record
- FOIA
- legal_filing
- academic
- journalism
- memoir
- witness
- oral_tradition
- religious_text
- occult_text
- forum_post
- social_media
- database
- image
- unknown
provenance: string
author_or_origin: string | null
date_created: date | null
date_observed: date | null
access_type:
- primary
- secondary
- tertiary
- copied
- unknown
source_family_id: string
source_quality_prior: float
incentive_risk: float
adversarial_pressure: float
notes: string
2.2 Observation
A source-specific emitted statement, trace, denial, accusation, or symbolic assertion.
Observation:
observation_id: string
source_id: string
claim_id: string
observation_text: string
observation_role:
- asserts
- denies
- documents
- alleges
- interprets
- confesses
- repeats
- quotes
- symbolizes
- omits
- contradicts
proximity:
- direct
- near
- secondary
- tertiary
- unknown
specificity: float
falsifiability: float
independence: float
contamination_risk: float
observation_weight: float
notes: string
2.3 Claim
A smallest practical proposition.
Claim:
claim_id: string
claim_text: string
claim_type:
- fact
- legal_status
- allegation
- self_claim
- interpretation
- causal_claim
- symbolic_claim
- metaphysical_claim
- statistical_claim
- bridge_claim
- prediction
- remedy_claim
ontology_layer:
- historical
- legal
- institutional
- intelligence
- mechanism
- symbolic
- metaphysical
- physics
- psychological
- remediation
- rejected
status:
- documented
- self_claim
- alleged
- contested
- inferred
- symbolic
- speculative
- rejected
- unresolved
evidence_rating:
- E5_DOCUMENTED
- E4_STRONG
- E3_MIXED
- E2_WEAK
- E1_SPECULATIVE
- E0_REJECT_OR_AVOID
prior_probability: float
posterior_probability: float
confidence_weight: float
salience_weight: float
convergence_weight: float
hazard_weight: float
fact_export_score: float
structure_watch_score: float
notes: string
2.4 Bridge
A typed relation that connects claims, actors, mechanisms, symbols, or events.
The graph must score bridges separately from endpoint facts.
Bridge:
bridge_id: string
source_node_id: string
target_node_id: string
relation_type: string
bridge_quality:
- B5_DOCUMENTED
- B4_STRONG_INFERENTIAL
- B3_PLAUSIBLE
- B2_WEAK
- B1_NARRATIVE
- B0_FORBIDDEN
bridge_confidence: float
bridge_salience: float
temporal_coherence: float
mechanism_fit: float
independence_support: float
overfit_risk: float
export_to_fact_layer: bool
notes: string
Bridge taxonomy:
B5 documented bridge:
contract, memo, direct admission, financial transfer, legal finding, explicit text.
B4 strong inferential bridge:
independent observations + time-order + mechanism + partial documentation.
B3 plausible bridge:
real adjacency + mechanism fit but no direct evidence.
B2 weak bridge:
symbolic similarity, rumor, milieu adjacency, circumstantial timing.
B1 narrative bridge:
emotionally or thematically coherent but evidentiary-poor.
B0 forbidden bridge:
collective blame, pure guilt-by-association, time-order violation, category error.
2.5 Actor
Actor:
actor_id: string
actor_type:
- person
- institution
- state
- agency
- religious_order
- occult_group
- cult
- movement
- financial_entity
- media_entity
- technology_platform
- unknown
name: string
dates_active: string | null
ontology_layer: string
confidence_weight: float
salience_weight: float
harm_risk: string
2.6 Event
Event:
event_id: string
name: string
date_start: date | null
date_end: date | null
location: string | null
event_type:
- treaty
- founding
- publication
- investigation
- scandal
- ritual
- war
- assassination
- court_case
- reform
- suppression
- disclosure
- unknown
confidence_weight: float
salience_weight: float
2.7 Mechanism
A process that can recur across domains.
Mechanism:
mechanism_id: string
name: string
mechanism_family:
- controlled_opposition
- ritual_inversion
- manufactured_criminality
- legitimacy_laundering
- identity_break_rebuild
- blackmail_lock
- narrative_control
- algorithmic_amplification
- off_books_funding
- source_suppression
- adversary_whisper
- attention_drain
- purification_remediation
- other
description: string
expected_graphlet: string
confidence_weight: float
salience_weight: float
2.8 LocalConcept
A culture-specific concept, figure, practice, warning, or symbol.
LocalConcept:
local_concept_id: string
name: string
tradition_id: string
language: string
concept_type:
- deity
- spirit
- demon
- angel
- adversary
- practice
- ritual
- moral_warning
- cosmological_principle
- psychological_state
- social_disease
- mythic_event
- remedy
summary: string
source_basis: string
confidence_weight: float
salience_weight: float
2.9 CanonicalRole
A neutral cross-cultural role used to compare local concepts.
CanonicalRole:
role_id: string
name: string
role_family:
- adversarial_intelligence
- deceptive_authority
- whispering_influence
- possession_influence
- moral_inversion
- controlled_revolt
- hidden_hierarchy
- elite_corruption
- sacrificial_violence
- human_drain
- false_light
- purification
- awareness
- generative_redirection
definition: string
Mapping:
LocalConceptToCanonicalRole:
local_concept_id: string
role_id: string
mapping_weight: float
mapping_reason: string
same_as: bool
similar_role_as: bool
analogous_to: bool
Use:
SAME_AS: same concept/entity/translation in direct lineage.
SIMILAR_ROLE_AS: same functional role in different systems.
ANALOGOUS_TO: useful comparison, not identity.
2.10 GraphletTemplate
A recurring structural motif.
GraphletTemplate:
graphlet_id: string
name: string
description: string
node_roles: list
edge_roles: list
required_edges: list
optional_edges: list
negative_controls: list
predicted_missing_edges: list
expected_observables: list
2.11 LatentStructure
Predicted hidden node, edge, document, actor, source, mechanism, or translation equivalence.
LatentStructure:
latent_id: string
latent_type:
- LatentNode
- LatentEdge
- LatentMechanism
- LatentActor
- LatentSource
- LatentDocument
- LatentFundingPath
- LatentRitualPattern
- LatentSuppressionEvent
- LatentTranslationEquivalence
predicted_relation: string | null
source_node_id: string | null
target_node_id_or_class: string | null
predicted_by_graphlets: list
latent_confidence: float
latent_salience: float
anomaly_pressure: float
prediction_specificity: float
status:
- unresolved
- partially_confirmed
- confirmed
- contradicted
- dissolved
next_best_questions: list
2.12 AlternativeExplanation
AlternativeExplanation:
alt_id: string
claim_id_or_structure_id: string
explanation_text: string
explanation_type:
- coincidence
- source_copying
- symbolic_convergence
- human_psychological_universal
- institutional_incentive
- deliberate_coverup
- panic_contamination
- planted_disinformation
- operational_truth
- unknown
explanatory_score: float
discriminating_questions: list
2.13 Prediction
Prediction:
prediction_id: string
hypothesis_id: string
predicted_observable: string
prediction_type:
- document
- actor
- funding_path
- terminology
- legal_pattern
- victim_profile
- ritual_sequence
- source_suppression
- cross_cultural_equivalence
- graph_topology
specificity: float
due_context: string | null
observed_status:
- not_tested
- found
- not_found
- ambiguous
- contradicted
information_gain_if_resolved: float
2.14 NextBestQuestion
NextBestQuestion:
question_id: string
question_text: string
target_uncertainty: string
hypotheses_discriminated: list
expected_information_gain: float
feasibility: float
source_availability: float
safety_hazard: float
priority_score: float
Formula:
priority_score =
expected_information_gain
* feasibility
* source_availability
* (1 - safety_hazard)
3. Core Edge Types
OBSERVES
ASSERTS
DENIES
DOCUMENTS
ALLEGES
SUPPORTS
CONTESTS
CONTRADICTS
OMITS
QUOTES
COPIES_FROM
SAME_SOURCE_FAMILY_AS
AUTHORED
FOUNDED
FUNDED
PUBLISHED
INVESTIGATED
NAMED_IN_INVESTIGATION
NOT_CHARGED_IN
SUED_TO_AMEND_RECORD
CONTAINS_FINDING
USES_MECHANISM
CONTAINS_MECHANISM
BRIDGES_TO
REQUIRES
PREDICTS
FILLS_LATENT_STRUCTURE
ALTERNATIVE_TO
DISCRIMINATES_BETWEEN
HAS_LOCAL_CONCEPT
MAPS_TO_CANONICAL_ROLE
SAME_AS
SIMILAR_ROLE_AS
ANALOGOUS_TO
SYMBOLIZES
INTERPRETS
MYTHICALLY_INTERPRETS
CAN_BE_INTERRUPTED_BY
ROUTES_ENERGY_TO
REMEDIATES
4. Weights
4.1 Claim weights
confidence_weight =
evidence_weight
* source_quality_adjustment
* independence_adjustment
* specificity_adjustment
* falsifiability_adjustment
* contradiction_penalty
* hazard_penalty
structure_watch_score =
salience_weight
* convergence_weight
* mechanism_fit
* anomaly_pressure
* prediction_specificity
* anti_overfit_penalty
fact_export_score =
confidence_weight
* source_quality_adjustment
* falsifiability_adjustment
* independence_adjustment
* hazard_penalty
4.2 Latent structure score
latent_score =
structural_fit
* recurrence_across_subgraphs
* independence_weight
* mechanism_fit
* temporal_coherence
* prediction_specificity
* anomaly_pressure
* anti_overfit_penalty
4.3 Hypothesis openness condition
For any empirical hypothesis H:
P(H) > 0
and if the likelihood ratio accumulates without artificial cap:
Posterior odds(H1/H0) = Prior odds(H1/H0) × ∏ LR_i
then a classically dismissed hypothesis can defeat a consensus hypothesis.
5. Graphlet Templates
5.1 Whispering adversary
graphlet_id: graphlet_whispering_adversary
node_roles:
- human_subject
- adversarial_influence
- whispered_command_or_intrusion
- distorted_perception
- destructive_action
- remedy_practice
edge_roles:
- INFLUENCES
- WHISPERS_OR_IMPLANTS
- DISTORTS
- LEADS_TO
- CAN_BE_INTERRUPTED_BY
negative_controls:
- ordinary temptation without externalized agency
- psychiatric intrusive thought without cultural adversary framing
- metaphor-only uses
5.2 Controlled inversion
graphlet_id: graphlet_controlled_inversion
node_roles:
- existing_order
- temporary_revolt
- licensed_transgression
- pressure_release
- restoration_of_order
edge_roles:
- PERMITS
- VENTS
- CONTAINS
- RESTORES
5.3 Manufactured criminality
graphlet_id: graphlet_manufactured_criminality
node_roles:
- vulnerable_subject
- recruiter_or_handler
- isolating_group
- confession_or_compromise
- transgressive_act
- blackmail_or_shame_lock
- new_identity
- deployment
edge_roles:
- RECRUITS
- ISOLATES
- EXTRACTS_CONFESSION
- INDUCES_TRANSGRESSION
- LOCKS_WITH_COMPROMISE
- REBUILDS_IDENTITY
- DEPLOYS
5.4 Legitimacy laundering
graphlet_id: graphlet_legitimacy_laundering
node_roles:
- sacred_or_moral_tradition
- institution
- political_project
- public_legitimacy
- hidden_operation
edge_roles:
- BORROWS_AUTHORITY_FROM
- CONFERS_LEGITIMACY_ON
- MASKS
- REDIRECTS_MORAL_ENERGY
5.5 Source suppression / sealed archive
graphlet_id: graphlet_source_suppression
node_roles:
- scandal_or_anomaly
- institution
- archive_or_record
- classification_or_sealing
- public_narrative
- unresolved_latent_structure
edge_roles:
- GENERATES_RECORD
- SEALS_OR_WITHHOLDS
- SIMPLIFIES_PUBLIC_STORY
- CREATES_LATENT_STRUCTURE
5.6 Purification / remediation
graphlet_id: graphlet_purification_remediation
node_roles:
- hostile_activation
- awareness
- naming
- downshift
- generative_practice
- restored_agency
edge_roles:
- NOTICES
- NAMES
- INTERRUPTS
- REDIRECTS
- RESTORES
6. Anti-Overfit Rules
1. Symbolic similarity is not causation.
2. Motif recurrence is not entity identity.
3. Adjacency is not control.
4. Endpoint facts do not prove bridge claims.
5. Official denial is evidence, not final truth.
6. Conspiracy source is noisy, not null.
7. A source family copied ten times counts as one dependent source.
8. Every strong hypothesis must expose required missing links.
9. Every major hypothesis must have alternative explanations.
10. Every graphlet must be tested on out-of-sample traditions/cases.
7. Minimal JSON Schema Sketch
{
"claim": {
"claim_id": "string",
"claim_text": "string",
"claim_type": "fact|allegation|self_claim|symbolic_claim|bridge_claim|prediction",
"ontology_layer": "historical|legal|institutional|mechanism|symbolic|metaphysical",
"status": "documented|alleged|contested|inferred|symbolic|speculative|rejected",
"prior_probability": 0.5,
"posterior_probability": 0.5,
"confidence_weight": 0.0,
"salience_weight": 0.0,
"structure_watch_score": 0.0,
"fact_export_score": 0.0
}
}
8. Design Philosophy
The graph is allowed to say:
This is real.
This is alleged.
This is symbolic.
This is missing.
This is dangerous to assert carelessly.
This weak claim is still structurally important.
This strong fact does not prove the large theory.
This graph cavity predicts where to look next.
That is the epistemic posture needed for strange-history inference.