ragleap-graph (Java) 0.1.0, early release
First release of the Java port of the Neo4j graph index. It is deliberately partial: see "Not ported" below.
Maven Central: io.github.antonyrag:ragleap-graph:0.1.0 (only runtime dependency: jackson-databind).
What is in it
- Entity-name normalization, regex entity extraction and composite keys (Python-compatible string handling)
GraphIndex.upsertDocumentwith the full write path (retries on transient errors, old-relation cleanup, optional audit hook)- Queries:
findDocumentsByEntities,documentEntities,searchRelatedEntities,findRelations,findLineage,findEntitiesByType - Talks to Neo4j over the HTTP Query API v2 through a small
CypherRunnerinterface (no Bolt driver).GraphConfigtakes an HTTP URL, not a Bolt URI. If the server cannot be reached, methods return empty results like the Python package.
How it was verified
- Compared with the real Python
ragleap-graph0.9.0 pinned at commit 226fa4d: 252 pure-logic cases, 14 upsert scenarios and 47 query scenarios. For the scenarios, the Cypher statements, parameters (int versus float), return values and audit events had to match. A mutation check confirmed the parity tests fail when behaviour differs. - 47 tests in the release build: 0 failures, 13 skipped (parity and live tests skip when their environment variables are unset, as in CI).
- Live tests passed against Neo4j 5.26.29 Community.
- After release, the published jar was resolved from Maven Central in a clean project and one document was upserted into a live Neo4j.
Limits
- Verified only on Neo4j 5.26.29 Community, single server (bookmarks are not passed along).
Not ported yet
- LLM entity extraction, entity deduplication and LLM relation extraction (regex extraction only)
GraphRetriever(hybrid vector and graph retrieval)- Backfills and the migration runner
- The Postgres audit writer (a no-op audit sink is the default)