.causal

The Knowledge Graph Format for AI

Binary format with embedded deterministic inference. Zero hallucination. Every fact is traceable.

30-40x
faster than SQLite
50-200%
fact amplification
0%
hallucination

The Problem

🗄️

SQLite

Stores facts but can't reason. Query "COVID → fatigue" returns nothing even when the connection exists.

🔍

Vector RAG

Finds similar text but no logic. Returns relevance scores, not causal chains.

🤖

LLMs

Reasons creatively but hallucinates. Invents plausible but false connections.

.causal = Storage + Reasoning

Pre-computed inference at write time. Zero-latency logic at query time.

Try It Live

Real Long COVID Knowledge Graph: Loading...

Type at least 2 characters to search the knowledge graph

Quick Start

from dotcausal import CausalWriter, CausalReader

# Create a knowledge graph
writer = CausalWriter()
writer.add_triplet("SARS-CoV-2", "damages", "mitochondria", confidence=0.9)
writer.add_triplet("mitochondrial dysfunction", "causes", "fatigue", confidence=0.85)
writer.save("knowledge.causal")  # Inference runs automatically

# Query - finds the inferred chain!
reader = CausalReader("knowledge.causal")
results = reader.search("fatigue")

for r in results:
    tag = "[INFERRED]" if r['is_inferred'] else "[EXPLICIT]"
    print(f"{tag} {r['trigger']} → {r['outcome']}")

# Output:
# [EXPLICIT] mitochondrial dysfunction → fatigue
# [INFERRED] SARS-CoV-2 → fatigue  ← This was computed, not stored!

Integrations