neo4j / neo4j/neo4j-graphrag-python
Allow async driver in retrievers
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.3k
- Forks
- 246
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 11
Description
Hi :)
I noticed that the retrievers (e.g. Text2CypherRetriever, VectorCypherRetriever) only accept the synchronous version of the Neo4J driver.
We are refactoring our codebase and would like to move entirely to async execution instead of having to spawn threads in order to not block the whole application.
Because of the above mentioned limitation, we have to keep using both, the sync and async version of the Neo4J driver, which is not ideal.
Is an async version of these retrievers planned?
Thanks in advance for your answer :)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating Text2CypherRetriever and VectorCypherRetriever and tracing how they use the synchronous Neo4j driver. Compare those entry points with the async driver API and determine the intended async interface. Done means the retrievers can execute asynchronously without requiring both driver variants or spawning threads.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- neo4j, python
- Domain
- backend-api-design, databases
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100