r/Neo4j
Is Neo4j suitable for my project?
I have this project. It's in the early stages, I'm designing it theoretically. The design works best when it's highly graph-like, with associations as the core. That's the ideal. But the total number of nodes won't exceed 20,000, at 10 KB in avg per node (roughly 200 MB total). That's really tiny, honestly.
Now I'm stuck on whether to use SQLite and design the associations myself, or go with Neo4j.
The project will probably be used only by me, it won't be available to anyone else. It's a web app hosted locally on my laptop.
Big data graph multi level visualization tool
Hi, I have a dataset of 20M nodes and about 500M edges in neo4j and I need to visualize them in an interactive way
The thing in my mind was to have some kind of "level of detail" strategy by ignoring the nodes with lower importance when the user is zoomed out and only show those users when the user zooms in
Also I was thinking of some kind of tile based rendering so the app only renders the viewport of the user
But when I used sigma.js and tried to implement these features by myself it didn't work and the small part that worked was not at all a smooth experience..
Do you know any lib that could help me? Or do you have any idea how to implement it?
Thank you all
I open-sourced a 3-layer ER middleware to stop LangChain from polluting Neo4j with duplicate nodes.
Been working on a Neo4j knowledge graph using LangChain and kept running into the classic issue: the LLM extracts "Apple", "Apple Inc.", and "Apple Incorporated" as three completely separate nodes.
The standard fix is using an LLM-as-a-judge to deduplicate every single entity before insertion, but the token cost scales horribly. I was burning cash just to keep the graph clean.
I ended up writing a small Python middleware that intercepts the entities before they actually hit Neo4j. It tries to short-circuit the resolution locally using RapidFuzz (for exact/alias matches) and numpy for vector similarity. It only falls back to an LLM via litellm if the match is actually ambiguous.
I ran some tests on about 200 enterprise docs. The middleware caught all 742 duplicate entities locally in layers 1 and 2, dropping the resolution API cost to exactly zero.
You just wrap your Neo4jGraph or LlamaIndex store with it and it handles the deduplication silently.
I open-sourced it here if anyone else is struggling with graph pollution: https://github.com/jules-gd-dev/autograft-lib
Would appreciate any thoughts on the architecture, especially if someone knows a better way to do the deterministic matching without pulling too much of the graph schema into memory at scale.
N.B.: The project is on a really early stage, i've been working on it for a week and published it on github just yesterday. You can find some "benchmarks" on GitHub too.