jev-graphrag
Neo4j demos using Jev as a calibrated judge in GraphRAG pipelines, starting with entity resolution and a review queue.
Overview
TypeSafe (Jev) x Neo4j GraphRAG demos explores how Jev can improve the decision steps of knowledge-graph extraction and GraphRAG pipelines on Neo4j, such as classify, verify, dedupe and route, while open-ended generation stays with a full LLM. The rule of thumb is: deterministic rules for certain cases, Jev for judgement calls behind a confidence gate, and a full LLM only for what Jev is unsure about.
The first demo ports neo4j-field/dedup-demo, keeping the same three-phase pipeline, dirty dataset and APOC merges but replacing the judge layer. Every same-or-different decision carries a calibrated confidence, and anything below the auto-apply threshold goes to a review queue rather than being merged blindly. It includes a documented experiment on how question scoping and state design affect calibration, and a narrated notebook. The README also lists a backlog of unvalidated GraphRAG use cases.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Do these two records refer to the same entity? | — |
How it works
- Seed the sample dataset into Neo4j
- Generate candidate duplicate pairs
- Ask Jev same-or-different with confidence
- Auto-merge above the threshold; queue the rest for review
Strengths
- Avoids blind merges
- Documents effect of question and state design on calibration
- Drop-in replacement for an existing judge layer
Caveats
- Only one demo implemented; backlog unvalidated
- Requires Neo4j and a TypeSafe key
Getting started
`uv sync`, fill TYPESAFE_API_KEY and Neo4j credentials in .env, then `uv run python demos/dedup_jev/seed_data.py` and `uv run python demos/dedup_jev/run_demo.py`.At a glance
- Type
- App
- Status
- prototype
- Language
- Python
- Runtime
- Scripts and notebooks with Neo4j
- Has code
- yes
Use cases and integrations
How curated lists describe it
Small demos + use-case backlog: TypeSafe AI's Jev as a calibrated decision layer for GraphRAG pipelines on Neo4j.
logicrw/awesome-jev-projects
Frequently asked questions
What does Jev decide?
Whether two records are the same entity, with a confidence used for auto-merging.
What happens to uncertain pairs?
They go to a review queue instead of being merged.
Where should I start?
The narrated notebook in demos/dedup_jev.
Related projects
SQLite and Node library adding Jev judgments to SQL for matching, evidence picking, ranking, review queues and semantic CI checks.
ProjectbetaJavaScriptRecord linkage for researchers: write the match rule in plain English and Jev judges each candidate pair with a probability.
ProjectbetaPythonDecision-first CSV cleaning: code proposes repairs, Jev scores action, applicability and risk, a fixed policy applies or abstains.
ProjectprototypePythonSutro's active-learning CLI that finds rows Jev is least sure about, asks you to label them, and uses GEPA to improve the definition.
CLIbetaPythonLinter for Obsidian vaults and LLM wikis that flags contradictions, stale claims, unresolved markers and dangling links with Jev.
ProjectbetaPythondbt package whose macros run Jev Choice, Noul and Score over SQL values in DuckDB and ClickHouse models.
ProjectbetaSQL (Jinja)