Skip to content
Made with Jev

GitHub · by Michael Hunger

neo4jev

Walking a Neo4j graph one hop at a time, each hop a typed choice.

GitHub card for neo4jev

Michael Hunger navigates a Neo4j graph with Jev instead of free-text generation. At each node the outgoing relationships are presented as the options of a Choice — relationship type, relationship properties, target label and properties — and Jev returns a full probability distribution over which one to follow next.

A second question rides in the same request: has the goal been reached? Because the goal check and the hop decision share one round trip, a hop costs exactly one call no matter how many questions are asked of it. Top-k selection over the returned probabilities turns the walk into a beam search, and chains are ranked by the sum of log-probabilities rather than the product, which avoids both float underflow and a bias towards short paths.

The application is schema-agnostic: labels, relationship types and property names are discovered live by introspection and never hardcoded, so it can be pointed at any Neo4j instance through a `.env` file. It ships as a reusable library, three notebooks and a Streamlit application, with results rendered in an interactive `neo4j-viz` graph alongside the surrounding neighbourhood. The default target is the public Neo4j Companies knowledge graph.

The README is unusually careful about provenance, and the care is the point: without an API key each call is still attempted, its failure is displayed verbatim, and the surrounding pipeline runs on explicitly labelled stand-in answers. Nothing is ever presented as model output that did not come from the model.

jexp/neo4jev on GitHub

Stars
173
Forks
26
Language
Jupyter Notebook
Last push
Sep 18, 2026

Repository created Sep 16, 2026. Counts read from the GitHub API on Oct 15, 2026, and they move daily — quote them with the date.

Open the source

More like this