None Mode¶
The none mode uses Graphiti's default schema with no customization. This is the fastest way to get started but provides no type consistency.
Overview¶
| Aspect | Value |
|---|---|
| Ontology Required | No |
| LLM Calls for Schema | None |
| Type Consistency | Poor |
| Setup Time | Zero |
| Best For | Quick prototyping, exploring data |
How It Works¶
When you use --schema-mode none, Aletheia skips schema inference entirely and uses Graphiti's built-in defaults:
# Default schema (what Graphiti uses internally)
ENTITY_TYPES = {
"Entity": Entity, # Generic entity type
}
EDGE_TYPES = {
"RELATED_TO": RelatedTo, # Generic relationship
}
The LLM has full discretion to: - Create any entity types it wants - Use any relationship names it wants - Assign any properties it wants
Usage¶
aletheia build-knowledge-graph \
--use-case my_case \
--knowledge-graph my_graph \
--schema-mode none
What Happens During Ingestion¶
Episode: "Hamas is a terrorist organization designated by the US State Department"
LLM extracts (no guidance):
Node: "Hamas"
- labels: ["TerroristOrganization"] ← LLM's choice
- properties: {type: "militant group", founded: "1987"}
Node: "US State Department"
- labels: ["GovernmentAgency"] ← LLM's choice
- properties: {country: "United States"}
Edge: Hamas -[DESIGNATED_BY]-> US State Department ← LLM's choice
The exact types and relationships depend entirely on the LLM's interpretation.
Output¶
No schema files are generated. The schemas/ directory is not used.
Pros and Cons¶
Advantages¶
- Zero setup: No ontology, no configuration
- Fast iteration: Start ingesting immediately
- Flexible: LLM adapts to any data structure
- Good for exploration: See what the LLM naturally extracts
Disadvantages¶
- No consistency: Same concepts may get different types across documents
- Relationship sprawl: Many semantically equivalent relationship names
- Poor retrieval: Queries miss results due to type fragmentation
- No schema documentation: No record of what types exist
When to Use¶
Use none mode when:
- Quick prototyping: You want to see results fast without configuration
- Data exploration: You're exploring unknown data to understand its structure
- Testing Graphiti: You're testing the basic extraction pipeline
- Throwaway graphs: You'll rebuild with a proper schema later
When NOT to Use¶
Avoid none mode when:
- Production systems: Type consistency matters for queries
- Multi-document ingestion: Same entities appear across many documents
- Evaluation: Measuring retrieval quality requires consistent types
- Long-term storage: You need a documented, stable schema
Example: The Problem¶
Consider ingesting 1000 news articles about organizations:
Article 1: "Apple announced new products..."
→ LLM creates: Company, Corporation, TechCompany (varies by article)
Article 500: "Apple's stock price..."
→ LLM creates: Company (maybe), Organization (maybe)
Result: "Apple" exists as 5 different entity types
→ Query for "Company" misses 60% of Apple mentions
Migrating from None Mode¶
If you started with none and want to add a schema:
-
Analyze current graph: See what types the LLM created
-
Choose a schema mode: Based on your findings, select
llm,ontology, orgraph-hybrid -
Rebuild: You'll need to rebuild the graph with the new schema