Community · E2 · artifact verified

Navigate a Neo4j graph one hop at a time

At each node of a Neo4j graph the outgoing relationships become Choice options; Jev returns a full probability distribution over which one to follow, with a goal-reached Noul riding in the same call.

01 · Role in the system

What Jev does here

The navigator wraps the TypeSafe system_one API: at every visited node, outgoing relationships - type, properties, target label and properties - become the options of a Choice, and a Noul asking whether the goal is reached rides in the same request, so each hop costs one round trip however many questions are asked. Code then runs a beam search over the returned distributions: top-k branches per step, chains ranked by summed log-probabilities to avoid float underflow and length bias. Three goal modes are supported - free text, an explicit target node, and a path-intent pattern that returns the top-N distinct paths. Labels and relationship types are discovered by live introspection, never hardcoded, so the same code runs against any Neo4j instance.

One call per hop, beam search over distributions

Graph navigation fits the choice primitive almost suspiciously well: at every node, the outgoing relationships become the options of one Choice, and a goal-reached Noul rides in the same request — so each hop is a single round trip that returns a full probability distribution, not just a pick. Code then runs the search: top-k branches per step, chains ranked by summed log-probabilities to dodge float underflow and length bias.

Nothing is hardcoded — labels and relationship types are discovered by live introspection, so the same code runs against any Neo4j instance. Three goal modes cover free-text goals, explicit target nodes, and path-intent patterns returning the top-N distinct paths.

Failure mode as documentation

The record's best detail is what happens without an API key: the run is attempted, fails verbatim, and the pipeline continues on explicitly labelled stand-in answers rather than fabricated model output. Even the failure path refuses to fake a judgment.

As the search cluster's graph record, it demonstrates the per-hop judgment loop that longer-horizon planners need: cheap, distribution-returning decisions composed by deterministic search. The honest bounds are a reachable database and a single documented default target — the public companies2 demo graph.

02 · Control boundary

Where Jev sits

One system_one call per hop carries the next-relationship Choice and the goal-reached Noul; beam selection over the returned probabilities is deterministic code.

Code owns the loop, permissions, thresholds, validation, and side effects. Jev owns only the bounded judgments described above.

03 · Known limits

What this evidence does not prove

  • Needs a reachable Neo4j instance; the public companies2 demo database is the documented default target.
  • Without a TYPESAFE_API_KEY a run is attempted, fails verbatim, and the pipeline continues on explicitly labelled stand-in answers rather than fabricated model output.

04 · Attribution

Public sources

This is a Community record: the project was published by a third-party community author.

  • jexp ↗Community · github · public · checked 2026-09-20