graphprotocol / graphprotocol/hypergraph

Async functions for querying public graph

Abierto
#438 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
TypeScript
Estrellas
22
Forks
12
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Currently the only way to query the public graph using a specific schema is to go through Hypergraph's client-side useQuery hook. This works well when you need to modify the data, as we can keep the source of truth for queried data in the same place as modified data.

There are some use-cases where you just need to query for public data but not modify it. For this use case useQuery still works, but it won't work for server-side rendering or ad-hoc queries that run as a result of side-effects.

We should expose the query internals in a separate query(Schema) function.

Query options

Queries require things like the mapping or the space in order to generate the query + filters for a specific schema. We'll need a way to provide these options to the query at query time.

Option 1
We can pass the options to the query directly.

await query(Address, { mapping, spaceId })

Option 2
We can create a QueryClient which accepts options. Not entirely sure but this probably looks similar to hypergraph/react's internal context for spaces.

const client = new HypergraphClient({ mapping, spaceId });
await client.query(Address)
Appendix

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza con la implementación interna enlazada en el apéndice, packages/hypergraph-react/src/internal/use-query-public.tsx en la línea 384, y sigue cómo useQuery construye consultas de esquema, mappings, spaces y filtros. Compara los dos diseños de opciones propuestos para proporcionar mapping y spaceId, y después define el punto de entrada de consulta asíncrona para el renderizado del lado del servidor y las consultas con efectos secundarios. Se considera completado cuando se pueden consultar datos públicos del grafo sin el hook useQuery de React.

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

Evaluación

Stack tecnológico
typescript
Área
api
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.