Skip to main content

Cookbook

Task-oriented recipes. Each one is a self-contained query — copy, change the variables, run.

RecipeUse it when…
Inspect an EntityYou have an ID and want to see everything attached
Find Entities by NameYou know roughly what it's called, but not its ID
List Entities of a Type in a Space"Show me all the Projects in the AI space"
Look Up a Property or Type EntityYou need a Property/Type ID by name and don't want a wrong-typed match
Paginate Large Result SetsThe result is bigger than one page
Filter Entities by Relation"Show me everything backed by Stability AI"
Traverse Relations (Outbound + Backlinks)You're walking the graph one hop at a time
Query a Space's MetadataBefore publishing, or to understand a space's governance
Deduplicate Before IngestionYou're bulk-publishing and don't want to create duplicates on every re-run
Bulk Lookup by Name ListYou have N names → want N IDs in one round-trip
Multi-Hop TraversalWalk the graph 2+ edges in a single query (e.g. "projects sharing this license")
Search Scoped to a Single SpaceSubstring search, but only within your target space
Get All Properties of a Type"What fields can I publish on a Project?"
DAO Governance: Members, Editors, ProposalsYou're publishing to a DAO space and need to know who can vote, what's open, what passed
Page + Blocks of a SpaceRender the space's homepage — text blocks, data blocks, images, ordered by position
All Value Types — GRC-20 ReferenceRead every typed scalar (text, integer, date, decimal, embedding, point, etc.) from a Value
Read an Entity's Edit HistoryWho changed this, when, what was the previous value? Time-travel via valueVersions

Conventions used in these recipes

  • All queries use named operations and variables (e.g. query Foo($id: UUID!)) — never raw string interpolation. Always parameterize.
  • All examples are tested against testnet at https://testnet-api.geobrowser.io/graphql — copy/paste should just work.
  • Type IDs in examples come from the SDK's SystemIds and ContentIds. Don't hardcode UUIDs in your own code; import them from @geoprotocol/geo-sdk.

Missing a recipe?

If there's a query pattern you keep needing and don't see here, open an issue or PR. The recipes that get added are the ones that prevent real bugs.