Skip to content

SEOCHO | The OS for Agentic Knowledge Graphs

SEOCHO is open source

The Operating System for
Agentic Knowledge Graphs

1. Extract real-world data into a semantic graph governed by explicit SHACL rules.

2. Orchestrate dedicated agents to debate precisely over isolated data subgraphs.

3. Guarantee 100% routing transparency and execution provenance via Opik.

Neuro-symbolic Knowledge Graph Visualization
seocho-core-engine
from seocho import CoreEngine, GraphNode

# 1. Initialize the engine with graph backend
engine = CoreEngine(
    graph_uri="bolt://neo4j:7687",
    ontology_path="./ontology.ttl"
)

# 2. Define semantic routing rule
engine.add_route(
    name="compliance_check",
    condition=lambda q: "regulation" in q.intent,
    target_graph="fss_regulatory_graph"
)

# 3. Create persistent agent over the graph
agent = engine.create_agent(
    name="ComplianceOfficer",
    system_prompt="You enforce internal philosophy using semantic trace DAGs.",
    memory_type="infinite_graph"
)

# Execute
response = agent.run("Does the new onboarding flow violate FSS rule 42?");
print(response.decision) # -> CONDITIONAL_GO

Everything you need to build
agentic knowledge graphs.

Not just RAG. A complete framework for semantic orchestration, continuous evaluation, and deterministic routing.

Infinite Memory

Agents store episodic and semantic memory directly in Neo4j. Context window limits are obsolete.

Semantic Debate Engine

Multiple LLM agents (Generator, Verifier) debate complex queries against the topology contract before returning answers. Guaranteed hallucination reduction.

Semantic Debate Engine
Deterministic Routing

Deterministic Routing

Query surfaces are policy-gated. A semantic router maps queries to the exact graph workspace instantly. No heuristic lineage reconstruction.

Enterprise Governance

Ontology deployment paths are offline-heavy and rollback-safe via SHACL rules.

Quickstart

Get up and running locally in under 5 minutes.

1 Clone & Configure

git clone https://github.com/tteon/seocho.git
cd seocho && cp .env.example .env

2 Spin Up Services

make up

3 Execute Debate Query

curl -X POST http://localhost:8001/run_debate \ -H "Content-Type: application/json" \ -d '{"query": "What relationships are in the database?"}'

System Architecture

From document ingestion to asynchronous agent debate routing.

graph TD
    classDef external fill:transparent,stroke:#52525B,stroke-width:1px,stroke-dasharray:5 5,color:#A1A1AA
    classDef pipeline fill:#ffffff10,stroke:#d4d4d8,stroke-width:1px,color:#e4e4e7
    classDef db fill:#ffffff05,stroke:#a1a1aa,stroke-width:1px,color:#d4d4d8
    classDef agent fill:#ffffff15,stroke:#f4f4f5,stroke-width:1px,color:#ffffff
    classDef user fill:transparent,stroke:none,color:#E4E4E7,font-weight:bold

    User(("User Query")):::user
    subgraph DataPlane["Data Extraction Pipeline"]
        DS["Raw Sources"]:::external-->Extractor["LLM Extractor"]:::pipeline
        Extractor-->Linker["Entity Linker & Semantic Deduplication"]:::pipeline
        Linker-->DBManager["Dynamic DB Provisioner"]:::pipeline
    end
    subgraph ControlPlane["Parallel Debate Orchestrator"]
        Router["Debate Router"]:::agent
        Agent1["Agent (Domain A)"]:::agent
        Agent2["Agent (Domain B)"]:::agent
        Supervisor["Synthesis Supervisor"]:::agent
    end
    Neo4j[("Neo4j / DozerDB Partitions")]:::db

    DBManager --> Neo4j
    User --> Router
    Router -->|Fan-Out Async| Agent1
    Router -->|Fan-Out Async| Agent2
    Agent1 -.-> Neo4j
    Agent2 -.-> Neo4j
    Agent1 -->|Collect State| Supervisor
    Agent2 -->|Collect State| Supervisor
    Supervisor -->|Resolved Answer| User
        

The SEOCHO Blog

Concepts, reasoning, and major release announcements.

All Posts

Latest Updates

Continuously integrated signals from GitHub Releases.

View Commits
  • 2026-02-21 feat: implement P1 readiness routing, health split, and elementId migration #033c6c5
  • 2026-02-21 fix: add agent sdk adapter and debate readiness contract #44fb77a
  • 2026-02-21 docs: clarify quickstart for custom-port environments #cbf3e8f
  • 2026-02-21 docs: add user-first quickstart and architecture priority docs #7f968fd
  • 2026-02-21 Fix debate runtime compatibility and skip missing databases #a3b7b7f

FAQ

What exactly is Parallel Debate?

It's an orchestration framework where multiple isolated LLM agents execute reasoning paths concurrently against the graph database. A Supervisor agent then evaluates conflicting conclusions from these agents to provide the single most grounded answer.

Why do I need dynamic databases?

Unlike monolithic deployment strategies, SEOCHO provisions entirely isolated Neo4j/DozerDB instances for distinctly separate datasets on the fly. This enforces hardened physical boundaries and protects schema integrity per ingestion cluster.

Does it integrate with my existing Neo4j?

Yes. While we default to containerized DozerDB endpoints, SEOCHO's Data Pipeline can map semantic entities and perform insertions into any standard Neo4j or Aura graph engine via the Bolt protocol specifications.

What observability tools are used?

We implement native integration hooks with Opik. This provides millisecond tracing of prompt payloads, LLM token expenditures, latency waterfalls, and a full structural view into the reasoning tree of the parallel agents.