Knowledge Graph
Design for a force-directed visualization of documents across ChromaDB collections, Obsidian vault links, and semantic similarity edges. Draft: backend prototype runs locally; the rendered D3 graph is not yet exported as an embeddable artifact on this page.
Documents from multiple ChromaDB collections and the Obsidian vault are loaded into a unified node graph. Each node represents a document; edges are drawn from two sources: explicit markdown links parsed from vault files, and semantic similarity scores from ChromaDB embeddings that exceed a configurable threshold.
The intended renderer is D3.js with a force-directed layout: charge, link, and collision forces tuned to avoid overlap at scale. Nodes color-coded by source collection. Filtering controls to isolate topic clusters, hide weak-similarity edges, or focus on a single vault folder.
A FastAPI backend prototype exposes an endpoint that accepts collection names and a similarity threshold, queries ChromaDB for all embeddings, computes pairwise cosine similarity in NumPy, and returns the edge list. The frontend renderer is not yet built. The design specification and backend exist, but the rendered graph is not yet shipping as an artifact on this page.
Highlights
- Dual edge sources: explicit Obsidian markdown links + ChromaDB cosine similarity above threshold
- D3.js force-directed layout planned (charge, link, collision forces)
- FastAPI backend prototype computes pairwise cosine similarity in NumPy
- Currently a design + backend prototype. The rendered graph is not yet exportable
Stack
- D3.js
- ChromaDB
- Python
- FastAPI
- NumPy