Efficient Semantic Comparison of GraphQL Queries
summary
A static analyzer that compares queries by building a lightweight expected response shape and checking subset test relationships both ways to prove equivalence. It inlines fragments, records concrete runtime types, arguments and directives, and captures type conditions and directives so structural differences like fragment vs concrete-type selections still match. Used to validate a Rust query planner against a legacy JS planner; normalization can blow a 100KB query into multi‑megabytes, so the tool emphasizes response-shape normalization that stays efficient and is open source.
AI-written summary · about
chapters (8)
- 0:00Introduction to federation
- 0:21The query planning challenge
- 0:33The rewrite project
- 0:47Automating comparison
- 1:08Normalization and complexity
- 6:14Response shape analysis
- 6:53Verification and tool usage
- 10:02Q&A and conclusion
related talks
04mLT: GraphQL Queries, No Drama: Compile - Time Validation and Formatting
40mQuery Planning in GraphQL
06mGraphQL tooling in Rust
24mBrute Force Correctness
27mGraphQL: Towards a universal query language
21mGraphql. Accelerated
23mGraphQL - Accelerated
29mTranspiling GraphQL instead of writing customized....
