cd /news/ai-tools/testing-python-to-java-parity-in-a-g… · home › topics › ai-tools › article
[ARTICLE · art-151106] src=dev.to ↗ pub= topic=ai-tools verified=true sentiment=↑ positive

Testing Python-to-Java Parity in a Graph Retrieval Library

The RagLeap project released RagLeap Graph Java v0.2.0, a Java port of its Python ragleap-graph v0.9.0 retrieval library, validated through behavior-based parity tests against recorded calls and scripted model responses rather than API similarity. The team ran 27 deliberate mutations across the new functionality and reported that every injected break was caught by the parity tests, then resolved the published Maven artifact (io.github.antonyrag:ragleap-graph:0.2.0) in a clean project and exercised health checks, upserts, backfills, and graph-only retrieval against a live Neo4j 5.26.29 Community instance. The release notes flag untested areas including LLM extraction against a real model provider, other Neo4j deployments, the optional vector-search adapter, and the not-yet-ported PostgreSQL audit writer.

by read2 min views3 publishedOct 16, 2026

What does it take to port a graph-retrieval library from Python to Java without relying on API similarity alone?

For **RagLeap Graph Java v0.2.0**, the answer was a combination of parity tests, deliberate mutations, database integration tests, and validation of the actual published artifact.

Release: [RagLeap Graph Java v0.2.0](https://github.com/antonyrag/ragleap-core/releases/tag/ragleap-graph-java-v0.2.0)

The Java library now includes:

Regex-based extraction remains the default. LLM integration is optional.

We compared the Java implementation against the Python ragleap-graph v0.9.0 implementation.

Rather than comparing method names, we exercised behavior using recorded calls, parameters, outputs, and scripted model responses.

The test scenarios covered:

We also ran 27 deliberate mutations across the new functionality. Every injected break was caught by the parity tests.

This is evidence for the tested cases, not a mathematical guarantee of complete equivalence.

A passing test suite can still miss bugs if its assertions are too weak.

Mutation testing deliberately changes behavior to check whether the tests notice. For this release, the 27 deliberate breaks were caught by the parity tests.

That gave us additional confidence that the tests were checking behavior rather than merely executing code paths.

The full local run used generated parity fixtures and a live Neo4j 5.26.29 Community instance:

After publishing, we resolved the Maven artifact in a clean project and exercised health checks, upserts, backfills, and graph-only retrieval against live Neo4j.

Maven coordinates:

io.github.antonyrag:ragleap-graph:0.2.0\ LLM extraction hasn't been verified against a real model provider. Compatibility with other Neo4j deployments also needs more testing, and the optional vector-search adapter hasn't been tested against a live RagLeap facade.

The PostgreSQL audit writer hasn't been ported yet.

Documenting these limitations is part of making a library easier to evaluate responsibly.

Source and release notes:

https://github.com/antonyrag/ragleap-core/releases/tag/ragleap-graph-java-v0.2.0 RagLeap is fully open-source and self-hosted, with a wider ecosystem of retrieval, graph, and AI tooling libraries.

If you work with Java or Neo4j, I'd appreciate feedback on the API, compatibility, test coverage, and integration experience. What integration test would you add before using this library in production?

── more in #ai-tools 4 stories · sorted by recency
── more on @ragleap 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/testing-python-to-ja…] indexed:0 read:2min 2026-10-16 · —