Overview
neo4jev (github.com/jexp/neo4jev) is Michael Hunger's (jexp) graph navigation demo using TypeSafe system_one. Each hop lists outgoing relationships as Choice options (type, properties, target labels) and asks a Noul whether the navigation goal is reached in the same call. Beam search keeps top branches ranked by sum of log probabilities to avoid float underflow. Streamlit app, notebooks, and neo4j-viz rendering target the public companies2 graph by default but introspect schema live for other instances.
Problem: Graph walks with chat models waste tokens narrating edges instead of returning a calibrated distribution over next hops.
Built for: Neo4j developers and ML engineers who want a reproducible demo of beam search navigation with one structured call per hop.
First indexed on Jev Directory: 2026-09-17
Creator and team
- Name
- Michael Hunger
- Handle
- @jexp
How Jev is used
- Role in the product flow
- Single-hop navigator: Choice over edges plus goal Noul in one system_one round trip
- Primitives
- ChoiceNoul
- State in
- Current node context, capped outgoing relationship candidates from Neo4j, and GoalSpec text from the UI or notebook.
- Decision out
- Probability mass over next relationships plus goal-reached signal; beam search aggregates log-probs along paths.
- Introspect labels and indexes; search a start node
- Fetch outgoing relationship candidates for the active node
- system_one with Choice over NavCandidate edges and Noul for goal reached
- Beam search expands top branches; viz highlights chosen paths vs neighborhood
neo4jev is a teaching stack for structured graph policies. Instead of prompting an LLM to ramble about Cypher, navigator.py sends typed state to system_one and reads a full distribution over legal next edges. Noul goal detection riding in the same call keeps hop cost predictable for beam search. Notebooks and Streamlit wire the same library; without TYPESAFE_API_KEY the UI shows failures verbatim and uses labeled stand-ins so pipelines still demo. That honesty matters for evals: never present synthetic probabilities as live Jev output. Point .env at your own Neo4j URI when you outgrow the Labs companies2 sandbox.
Sourced performance claims
- Each hop costs exactly one system_one round trip for both Choice and Noul (README architecture).Source: github.com/jexp/neo4jev README
- Public GitHub repo jexp/neo4jev had about eighty nine stars when this listing was drafted.Source: GitHub star count September 2026
Features and stack
Features
- Schema-agnostic Neo4j introspection
- Choice plus Noul per hop in one system_one call
- Beam search ranked by log probability sums
- Streamlit app and Jupyter notebooks share neo4jev core
Stack
- Python
- Neo4j
- Streamlit
- typesafe-sdk
- neo4j-viz
Pricing: Open source demo; live hops bill TypeSafe per system_one call. Public Neo4j Labs endpoint is free to try with documented credentials.
Links
FAQ
- Does it work without TypeSafe credentials?
- Code runs, but README states live system_one calls need TYPESAFE_API_KEY. Without it you see explicit stand-in answers, not fake model output.
- Which graph does the default demo use?
- Public Neo4j Labs companies2 database per README, with schema-agnostic code for other URIs via .env.
- Why log probabilities for beam search?
- README cites sum of log-probs to reduce float underflow and length bias when comparing multi-hop paths.
Related learn guides
Original Jev guidance that pairs with this product pattern.
- Jev use cases
The patterns builders actually search for: moderation, routing, triage, RAG verify, and agent gates.
- System One model
The model family behind Jev: parallel typed questions, one forward pass, probabilities you can threshold.
Related products
Hand-picked neighbors with rich profiles or overlapping tags.