~/talk

Efficient Semantic Comparison of GraphQL Queries

Talkat GraphQLConf 2025 · on Wednesday, 2025-09-10· at 14:40· IJzaal - 5th Floor· [graphql, testing]
name:Derek Kuc
github:dariuszkuc
slides:none on file

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

  1. 0:00Introduction to federation
  2. 0:21The query planning challenge
  3. 0:33The rewrite project
  4. 0:47Automating comparison
  5. 1:08Normalization and complexity
  6. 6:14Response shape analysis
  7. 6:53Verification and tool usage
  8. 10:02Q&A and conclusion
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.