graphprotocol / graphprotocol/hypergraph
Async functions for querying public graph
Personne n'a encore pris cette issue.
- Langage dominant
- TypeScript
- Étoiles
- 22
- Forks
- 12
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
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
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par l’implémentation interne liée dans l’annexe, packages/hypergraph-react/src/internal/use-query-public.tsx à la ligne 384, et retracez la façon dont useQuery construit les requêtes de schéma, les mappings, les spaces et les filtres. Comparez les deux conceptions d’options proposées pour fournir mapping et spaceId, puis définissez le point d’entrée de requête asynchrone pour le rendu côté serveur et les requêtes avec effets de bord. La tâche est terminée lorsque les données publiques du graphe peuvent être interrogées sans le hook useQuery de React.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- typescript
- Domaine
- api
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 25/100