0xPlaygrounds / 0xPlaygrounds/kg-node
feat: Neo4j passthrough queries
- 主要语言
- Rust
- 星标
- 10
- 派生
- 5
- PR 合并指标
- 30 天内没有已合并 PR
描述
### Description
Add an additional endpoint to the API to forward queries to the Neo4j database.
### Motivation
Although the GRC20 indexer stack now uses a GraphQL API to serve KG data, there are still uses cases that would benefit from direct access to the underlying Neo4j database (e.g.: GraphRag).
### Implementation
Add an additional route `POST /neo4j` which expects the request bodies of the following form:
```json
{
"query": "MATCH (n) WHERE n.foo = $foo RETURN n",
"params": {
"foo": "bar"
}
}
```
where `"query"` is the cypher query to execute and `"params"` are optional query parameters.
The response body would contain the data returned by Neo4j serialized to JSON without any transformations.
### Alternatives
An alternative would be to add this "passthrough" route to the GraphQL API, however it's unclear what the return type would be (i.e.: how the Neo4j data could be converted to GraphQL entities)
贡献指南
这个仓库没有索引到贡献指南
调研方向
Look for the existing API routes in the codebase, likely in a module like src/api or src/routes. Understand how the current GraphQL endpoint is set up. The new POST /neo4j route needs to be added, which will involve parsing the JSON request, executing the Cypher query against a Neo4j driver (check for existing database connection setup), and returning the raw Neo4j response as JSON. Testing will require a running Neo4j instance or a mock.
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- neo4j, rust
- 领域
- api, backend, databases
- Issue 类型
- 功能
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 描述清楚
- 新手友好度
- 45/100