0xPlaygrounds / 0xPlaygrounds/kg-node

feat: Neo4j passthrough queries

Abierto
#8 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Rust
Estrellas
10
Forks
5
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

### 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)

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
neo4j, rust
Área
api, backend, databases
Tipo de issue
Nueva funcionalidad
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bien especificado
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.