junhewk511 downloadsBuild a knowledge graph from your notes using LLM-powered entity extraction. Supports Claude, OpenAI, Gemini, and Ollama.
This plugin builds a lightweight knowledge graph from users' Obsidian notes using LLM-powered entity extraction with a simple yet expressive ontology model to provide knowledge extraction, exploration, and RAG search. Since Obsidian provides wonderful links between notes, implementing ontology model would meet users' (especially researchers') needs.

Traditional knowledge graphs often require complex schemas with dozens of entity and relationship types, making them difficult to maintain and query. Simple Graph Builder takes a different approach:
detail field for nuanced descriptions without schema explosionThis design provides structured entity classification with expressive relationships, making it easy to build, query, and maintain your personal knowledge graph.
[[wikilinks]] to build note-to-note connectionsA key insight from recent knowledge graph research is that entity resolution is critical for quality knowledge graphs [3]. Without proper deduplication, "AI", "artificial intelligence", and "Artificial Intelligence" appear as separate nodes, fragmenting your knowledge.
Simple Graph Builder uses a hybrid resolution pipeline (opt-in feature):
| Stage | Method | Speed |
|---|---|---|
| 1. Persistent cache | Previously resolved tokens | O(1) |
| 2. Session cache | Same name resolved this session | O(1) |
| 3. Exact name | Hash lookup on canonical name | O(1) |
| 4. Alias match | Hash lookup on stored aliases | O(1) |
| 5. Embedding similarity | Cosine similarity > 0.90 = auto-merge | O(n) |
| 6. LLM verification | Ambiguous matches (0.80-0.90) verified by LLM | API call |
| 7. Create new | No match found | - |
This approach resolves most entities via fast hash lookups, reserving expensive embedding searches and LLM calls for genuinely ambiguous cases.
| Command | Description |
|---|---|
Analyze current note |
Extract entities from the active note |
Search related notes |
Find notes by entity name (exact/fuzzy match) |
Smart Search (AI) |
Natural language search using LLM to explore the graph |
Open graph view |
Show the knowledge graph visualization |
Open note neighborhood panel |
Show current note's connections in sidebar |
Remove current note from graph |
Remove active note from the graph |
Clear all graph data |
Reset the entire graph |
The LLM must classify each entity into one of these types:
| Type | Description | Examples |
|---|---|---|
PERSON |
People, individuals | Authors, researchers, team members |
ORGANIZATION |
Companies, institutions | Google, MIT, research labs |
CONCEPT |
Ideas, theories, principles | Machine learning, API design |
PROJECT |
Projects, products, initiatives | Obsidian, GraphRAG |
TOOL |
Software, hardware, instruments | Python, VS Code, Docker |
EVENT |
Meetings, conferences, milestones | NeurIPS 2024, sprint review |
PLACE |
Locations, venues, geography | San Francisco, AWS us-east-1 |
DOCUMENT |
Papers, books, articles, notes | "Attention Is All You Need" |
METHOD |
Techniques, approaches, workflows | Agile, TDD, fine-tuning |
TOPIC |
Subjects, themes, fields, domains | NLP, distributed systems |
Relationships are expressed as active verbs describing how entities relate:
| Verb Examples | Meaning |
|---|---|
develops, creates, builds |
Creation, authorship |
uses, applies, implements |
Usage, application |
causes, leads to, enables |
Causality, dependency |
contains, includes, has |
Composition, membership |
cites, references, based on |
Citation, source |
relates to, similar to |
General association |
Each relationship also includes an optional detail field for additional context.
Click the graph icon in the left ribbon to access:
Shows real-time graph statistics with node counts by label.
A sidebar panel showing:
Right-click a node to:
You can configure a separate model for Smart Search queries, allowing you to use faster/cheaper models for extraction while using more capable models for search:
This is useful for optimizing cost vs. quality - e.g., use GPT-4o-mini for extraction and GPT-4o for search.
Enable embedding-based entity resolution for intelligent deduplication:
text-embedding-3-small (1536 dims), text-embedding-3-large (3072 dims)text-embedding-004 (768 dims)nomic-embed-text (768 dims), mxbai-embed-large (1024 dims)junhewk/simple-graph-buildermain.js, styles.css, and manifest.json from the latest releaseVaultFolder/.obsidian/plugins/simple-graph-builder/Analyze current noteOpen graph viewNode colors are determined by entity type (10 predefined colors). Edges use unified gray styling with relationship verbs shown on hover.
Two search modes are available:
Search related notesSmart Search (AI)Note: Smart Search requires models with tool calling support. Some Ollama models (deepseek-r1:*, gemma3:*) have limited support. Recommended: qwen3:*, gpt-oss:* for Ollama.
This plugin makes API calls to extract entities from your notes.
text-embedding-3-smalltext-embedding-004nomic-embed-text)Consider using Ollama for cost-free operation, or batch analyze during off-peak hours to manage costs.
embeddings.bin)This plugin's entity resolution approach is inspired by recent advances in knowledge graph construction:
Simple Graph Builder combines the simplicity of LightRAG with KGGen's hybrid resolution approach, adapted for Obsidian's local-first architecture.
[1] Guo, Z., et al. (2024). "LightRAG: Simple and Fast Retrieval-Augmented Generation." https://github.com/HKUDS/LightRAG
[2] Edge, D., et al. (2024). "From Local to Global: A Graph RAG Approach to Query-Focused Summarization." arXiv:2404.16130. https://github.com/microsoft/graphrag
[3] Shu, Y., et al. (2025). "KGGen: Extracting Knowledge Graphs from Plain Text with Language Models." NeurIPS 2025. arXiv:2502.09956. https://github.com/stair-lab/kggen
[4] Neo4j, Inc. (2024). "Neo4j GraphRAG Package for Python." https://neo4j.com/docs/neo4j-graphrag-python/current/
[5] Veen, A. (2024). "pgvector: Open-source vector similarity search for Postgres." https://github.com/pgvector/pgvector
MIT License - see LICENSE for details.