Query Planning in GraphQL
summary
Implements a reusable query planner for GraphQL Java that statically builds merged-field vertices, expands abstract types into concrete variants, and topologically sorts dependencies into execution buckets. It enforces mutation ordering via added edges, evaluates include/skip conditionals at runtime, and runs cost analysis on the same plan. Example: prefetching a friends vertex drops a computed cost from 16 to 10 points (described as 1600ms → 1000ms). Intended to be open sourced around March and used to drive prefetching, orchestration and subscriptions.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 1:23Agenda
- 1:55Example schema
- 3:07Example query
- 14:31Query plan
- 15:35Merged fields
- 18:53Abstract fields
- 19:52Conditional fields
- 21:08Mutation fields
- 24:13Cost analysis
- 31:26Query execution optimization
- 36:07Other possibilities
related talks
25mGrafast: A Declarative Solution To GraphQL's Execution Woes
23mAn Introduction to GraphQL
21mGraphql. Accelerated
25mOptimizing GraphQL Applications
13mEfficient Semantic Comparison of GraphQL Queries
26mWhen GraphQL Gets Expensive: Performance & Cost Patterns in Production Serverless Architectures
29mTranspiling GraphQL instead of writing customized....
51mGraphQL: advantages, challenges, and how to overcome them
