07
The schema is a typed graph of your product
Every type, field and relationship this app's GraphQL server exposes, read through introspection. This is the contract the Relay compiler validated every fragment against, and what editors use for autocomplete. Click a type to see its fields; toggle the Relay plumbing (connections, edges, mutation payloads) on and off.
8 types
Post
objectimplements Node
A blog post. Liking it from anywhere updates it everywhere.
- id: ID!The ID of an object
- title: String!
- body: String!
- excerpt: String!
- createdAt: String!
- tags: [String!]!
- likeCount: Int!
- viewerHasLiked: Boolean!
- author:
- insights:Expensive analytics (~1.2s). A natural candidate for @defer.
- sponsor: StringBacked by a flaky service that always fails, to demo @catch.
- comments(after: String, first: Int, before: String, last: Int):
- why it mattersThe frontend doesn't guess what an endpoint returns. It asks for fields of types that exist, and tooling knows the answer before any request is made.
- why it mattersRelay's conventions show up as shape: the
Nodeinterface gives every entity a global id (that's what makes normalization and refetching generic), and connections standardize lists. - why it mattersOne graph serves every screen. New UI needs usually mean new fragments over existing types, not new endpoints.