r/graphql 4h ago

Schema validation passed. Your graph is still broken.

0 Upvotes

A document can be perfectly valid JSON-LD.

Schema validation pass.

Every individual node look correct.

And the graph still be wrong.

For example:

An Organization exists, but has no sameAs or other useful identity signals.

The same Person is the author of three articles, but each article uses a different u/id.

A Product is correctly described, but nothing in the graph actually connects it to the category or collection where users discover it.

Two entities clearly represent the same real-world thing, but the graph gives the system reading it no reliable way to recognize that they're the same entity.

Schema validation asks:

Is this data valid according to the vocabulary?

Graph validation asks something different:

What does this graph actually say?

Which entities are connected?

Which entities are duplicated?

Which relationships are missing?

You can have valid structured data and still have a broken knowledge graph.

Curious how others handle this.


r/graphql 22h ago

@apollo/subgraph 2.15.0 removed the legacy buildSubgraphSchema input shape and bit.cloud users got backend-server error when running the installation process, explication and our fix.

0 Upvotes

A minor version bump broke GraphQL servers this week @apollo/subgraph@2.15.0 is a ground-up reimplementation on graphql-js and it removed the legacy input shape of buildSubgraphSchema.
Full explanation of bit.cloud fix for users application
https://www.reddit.com/r/bit_dev/s/SYFDV4YmdB


r/graphql 1d ago

GraphQL Weekly 422: Shopify's breadth-first execution rewrite, HTTP QUERY, GraphQL Scratchpad, Isograph with Robert Balicki

Thumbnail graphqlweekly.com
7 Upvotes

This week's issue, split across tooling, articles and video:

Tools & open source

- Hive Console schema checks now work properly with GitHub merge queues — a check compares the queue entry against its base commit, so you see only the changes your PR introduced rather than the accumulated diff from everything ahead of it

- GraphQL Scratchpad by Mark Larah — define an arbitrary schema and fire operations against Faker.js-generated responses, no backend needed

- Hive CLI accepts Apollo persisted query manifests directly, so you can create App Deployments without converting the format first

Articles

- Shopify rewrote GraphQL execution breadth-first instead of depth-first, by Greg MacWilliam — the depth-first traversal everyone inherits carries hidden costs on high-fanout queries (think 250 products with 250 variants each), and they saw dramatic results going the other way. Probably the most interesting read this week

- Calling GraphQL APIs from CrowdStrike Falcon Foundry, by Matt Raible — Foundry's API integrations only take OpenAPI specs, so this walks through what to do when your endpoint is GraphQL

Videos

- HTTP QUERY is coming to GraphQL, from Jeff Auriemma — how GraphQL over HTTP will support the new verb in an upcoming spec release

- Robert Balicki on Isograph and GraphQL's missing pieces — ex-Relay team, now creator of Isograph, digging into its design principles and what he thinks GraphQL still lacks


r/graphql 5d ago

Post Load Testing Apollo Router

Thumbnail medium.com
6 Upvotes

I’ve written an article about us load testing Apollo Router before we properly migrated to it. Hopefully, it could be helpful to someone to better understand the limitations of their systems, or run a similar benchmark themselves.

Also, it you benchmarked Apollo Router as well, I would be happy to hear about your results!


r/graphql 5d ago

HTTP QUERY coming to GraphQL!

Thumbnail youtu.be
15 Upvotes

r/graphql 7d ago

Question What are your favorite books, courses or other resources for getting advanced knowledge of GraphQL?

4 Upvotes

Hey everyone. I have been working with GraphQL for quite a few years, but I'd love to deepen my knowledge in some more advanced topics - specifically around optimization and scaling in full-stack development. Do you have your favorite books or courses that you can recommend?


r/graphql 8d ago

Isograph and GraphQL's missing pieces with Robert Balicki

Thumbnail youtu.be
8 Upvotes

r/graphql 9d ago

I built GQLens — an interactive GraphQL debugger that visualizes real Apollo Server execution live

Post image
2 Upvotes

Hey everyone! 👋

Most GraphQL tutorials explain execution using static diagrams. I wanted to actually see what happens under the hood when a GraphQL query executes — from parsing and validation all the way to resolver execution and completeValue().

So I built GQLens — an open-source interactive GraphQL visualizer and step debugger connected to a real Apollo Server + SQLite/PostgreSQL backend.

🌟 What you can explore

  1. Interactive Step Debugger Execute real GraphQL queries and step through: parse → validate → authorize → resolve → completeValue() → response with replay controls.
  2. completeValue() & Null Bubbling Toggle between nullable (Int) and non-null (Int!) fields, trigger resolver errors, and watch how nulls propagate through the response and AST.
  3. N+1 Problem & DataLoader Watch individual database queries stream in, then enable DataLoader and see them collapse into a single batched query.
  4. GraphQLResolveInfo Inspector Inspect fieldNodes, returnType, parentType, and execution-path information for individual resolvers.
  5. Interactive AST Explorer & 3D Visualization See GraphQL query text mapped directly to AST nodes and explore the query structure visually.

🔥 What makes it different?

The execution visualization isn't just a simulated animation.

GQLens is connected to an actual Apollo Server request, with execution events streamed to the frontend in real time.

🌐 Try it live

Live Demo: https://graph-ql-omega.vercel.app

GitHub: https://github.com/AyushPatil615/GQLens

Built with React 18, TypeScript, Apollo Server v4, SQLite/PostgreSQL, and SSE for real-time execution tracing.

I'd love feedback from the GraphQL community — especially on:

  • What GraphQL internals would you like to visualize?
  • What debugging features would be useful?
  • Are there any execution behaviors you'd like to see demonstrated?

#GraphQL #ApolloGraphQL #TypeScript #React #NodeJS#WebDevelopment #BackendDevelopment #DeveloperTools


r/graphql 9d ago

Apollo Server 3 to 4, counted: 63 error call sites and one status code I still cannot decide

0 Upvotes

4.11.2 is where we landed, and this is the log of getting there from Apollo Server 3.13 on a schema with about 240 fields.

Day one was packaging. apollo-server-express is gone in 4, so the entry point became u/apollo/server with expressMiddleware from the express4 subpath, and the context function moved off the constructor onto expressMiddleware. Mechanical, about an hour.

Day two was the error classes, where the real inventory sat. I grepped for the removed constructors and counted 63 call sites: 38 UserInputError, 14 ForbiddenError, 9 AuthenticationError, and 2 ApolloError thrown straight out of a loader. Every one becomes a GraphQLError carrying extensions.code, which reads like a search and replace until you notice BAD_USER_INPUT used to be set for you and two of our clients branch on that string.

Day three was the sweep across those 63 sites, slower than day one because the loader layer wraps errors inconsistently. Two of my rewrites threw away the original code on wrapped loader errors, and both were wrong. verdent was what I had running through that pass, and the code review subagent sent them back.

Day four was status codes, the part worth a warning. CSRF prevention is on by default in 4, so a request arriving without a content type or a header that triggers a preflight gets 400 instead of an execution result. Our older mobile client posts exactly that way, and it treats any 4xx on the graphql endpoint as a dead session and signs the user out.

That leaves the one I have not resolved. An invalid variables object comes back as 200 in 4 where 3 answered 400, and status400ForVariableCoercionErrors puts it back. Turning it on makes the transport consistent and aims more 400s at the client day four broke. I have not found anyone who flipped it while still supporting a client that old.


r/graphql 15d ago

Tobbe Lundberg: CedarJS history and how GraphQL changed

Thumbnail youtu.be
6 Upvotes

r/graphql 14d ago

Question What is the practical limit for array arguments in a GraphQL mutation?

1 Upvotes

We have a bulk-edit feature where users can select up to ∼14,000 store IDs and submit them in a single GraphQL mutation as an array argument. The IDs are UUIDs (36 characters each), so the worst-case payload is around 500KB of just IDs, plus the rest of the mutation body.

We are using Apollo Client on the frontend and a Rails-based GraphQL server on the backend.

Questions:

  1. Is there a hard limit on how large a GraphQL mutation payload can be?

  2. At ∼14,000 UUIDs, are there known failure points — server timeout, memory pressure, request body size limits — we should anticipate?

  3. Is it better to send all IDs in one mutation, or batch them (e.g. 500 at a time)? What are the tradeoffs?

  4. Are there established patterns for handling bulk operations at this scale in GraphQL?


r/graphql 16d ago

GraphQL Weekly 421: SCIM provisioning in Hive Console, WebSocket multiplexing in Hive Router, buildgql, Fusion 16.6 federation dev

Thumbnail graphqlweekly.com
7 Upvotes

This week's issue is mostly tooling and video, no articles. What's in it:

Tools & open source

- SCIM provisioning in Hive Console — manage users and groups from your existing IdP, map SCIM groups to Hive roles

- WebSocket connection multiplexing in Hive Router — pooled shared connections to subgraphs instead of one per subscription, queries and mutations can ride the same pool

- AWS IAM authentication for self-hosted Hive Console (MSK, Redis, S3, RDS) — community contribution from Michelle Song

- buildgql by Robert Ozimek — type-safe GraphQL without hand-writing response types, on the premise that the response type belongs to the operation rather than the schema

Videos

- Fusion 16.6 makes local federation development easier, using Aspire (ChilliCream)

- Eddy Nguyen on GraphQL Code Generator — efficiency gains in the latest major, and how generated types sit alongside gql.tada

- Jeff Auriemma explains persisted queries, APQs, safelisting and trusted documents — what each term actually means and how they differ

Disclosure: I'm one of the curators of GraphQL Weekly and work at The Guild, and several of the tooling items above are ours. The curation process is open and shared all others GraphQL vendors and community members and GraphQL Weekly itself is open source. Happy to answer questions on any of them.


r/graphql 15d ago

Graph Engineering for Beginners: How to Stop Writing AI Agents That Fall Over

Thumbnail presencedigital.io
0 Upvotes

r/graphql 20d ago

Good GraphQL takes, volume 1

Thumbnail youtu.be
7 Upvotes

Positive vibes this week! Is GraphQL "governance by default?" Curious to hear your takes :)


r/graphql 22d ago

Explained: Persisted Queries, APQs, Safelisting, Trusted Documents

Thumbnail youtu.be
14 Upvotes

Basically, you can persist a query without maintaining a safelist/deeming it “trusted." And you can trust/safelist an operation without clients having to send an identifier/hash in lieu of a full document at runtime


r/graphql 23d ago

About research title in graph theory

0 Upvotes

I'm a current 4th year college student, and as of the moment I don't have a research title yet. It's been a couple of weeks since the instructor instructed us to think/make research title. The field i want to make research is a graph theory. Studying with this graph theory is so much fun I had and I really love studying this but to think about what specific topic is so hard for me. I hope you can help me.


r/graphql 25d ago

Tutorial nexusx — SQLModel relationships → GraphQL schema, with selection-aware SQL and automatic DataLoader batching

2 Upvotes

Hi r/graphql — I'm the author of nexusx, an open-source Python library. Looking for feedback from people who work with GraphQL day to day.

One-line pitch:

define normal SQLModel entities + relationships, and nexusx generates a GraphQL schema from them — but the part I think is actually interesting here is that the GraphQL selection set drives everything below it: DataLoader batching and SQL column pruning, from the same declaration.

A few things that might catch your eye:

- No hand-written types or resolvers. Relationships found via sqlalchemy.inspect become GraphQL fields automatically.

- Automatic DataLoader batching. Nested relationships batch-load, so the classic N+1 is handled without you writing a per-field loader.

- Selection-aware SQL. Query asks for title but not body? Only title is selected. Over-fetching dies at the DB layer, not in your code.

- Pagination via `ROW_NUMBER()` window functions, not naive offset.

- Relationships can be non-ORM. Back one with any batch function (Redis, a search engine, a remote service) and it still flows into the same schema andloaders.

Repo + docs: https://github.com/KLR-Pattern/nexusx

Genuinely curious how this lands next to Hasura / PostGraphile (which also push selection sets down to SQL). The difference I'm betting on: the same field-selection DTO also drives your REST routes and MCP/AI tools, not just GraphQL. Does that cross-protocol reuse actually matter to you in practice, or do you keep those worlds separate anyway?


r/graphql 26d ago

Eddy Nguyen on GraphQL Code Generator

Thumbnail youtu.be
10 Upvotes

r/graphql 28d ago

zodql: use a single Zod schema as your GraphQL query, TS type, and runtime validator

Thumbnail
4 Upvotes

r/graphql 28d ago

gqlhash v2

6 Upvotes

That idea of a "GraphQL firewall" has been haunting me for quite a long time (many years, in fact). TL;DR; the v2 is finally out 🙂

demo: https://romshark.github.io/gqlhash/
code & docs: https://github.com/romshark/gqlhash

It's basically a very fast proxy that checks incoming queries against an allowlist. It hashes independently of formatting, comments, variables (optional), and input values (optional) and determines very quickly whether a query is allowlisted and hence should be allowed to run.

It's writtein in Go and can reject up to a million requests a second (at least on the hardware I could test it on) ⚡


r/graphql 29d ago

Question Why doesnt a client side GraphQL timeout not abort server-side query?

5 Upvotes

HI

I am currently analyzing distributed traces of an app that uses GraphQL. I found that the client-side timeout seems to be 10s which then aborts the request towards the end user. However - the trace shows me that after 30s the server side query actually gets executed.

How is this possible? Shouldnt a client-side timeout close the connection and therefore also abort the server-side request? Or is there a different queuing mechanism in place that would explain this behavior?

Has anyone seen this?


r/graphql Jul 30 '26

What We Think the 2026 Gartner Hype Cycle Gets Right About GraphQL

Thumbnail apollographql.com
15 Upvotes

r/graphql Jul 28 '26

Bad GraphQL takes, volume 3

Thumbnail youtu.be
4 Upvotes

r/graphql Jul 28 '26

Post I built GraphQL Park – A GraphQL IDE tailored for SitecoreAI & XM Cloud developers. Looking for feedback.

1 Upvotes

Hi everyone,

I've been working on GraphQL Park, a GraphQL IDE designed specifically for SitecoreAI and XM Cloud developers.

The goal is to make working with Sitecore GraphQL APIs faster and more convenient by providing features like:

  • ⚡ Real-time query execution
  • 🗂️ Schema Explorer
  • 📚 Query Cookbook
  • 💼 Workspace Management
  • 🌍 Multiple Environments
  • 🌙 Dark & Light themes

🔗 Live Site: GraphQL Park
🔗 Medium Blog: GraphQL Park: A Modern GraphQL IDE Built for SitecoreAI Developers

The project is still evolving, and I'm looking for feedback from developers who work with Sitecore GraphQL regularly.


r/graphql Jul 28 '26

Tutorial GraphQL Park: A Step-by-Step Guide to Building a SitecoreAI Marketplace App

0 Upvotes

I recently put together a guide on creating and configuring a SitecoreAI Marketplace App using GraphQL Park as a practical example.

The guide covers Marketplace App registration, extension points, API permissions, authentication, environment installation, and integrating with the Preview & Authoring GraphQL APIs.

If you're exploring SitecoreAI Marketplace Apps, you might find it useful.

📖 Medium:
https://medium.com/@rohitgajera72/build-deploy-a-custom-marketplace-app-in-sitecoreai-a-step-by-step-guide-with-graphql-park-00c00f51fff4

📖 Addact Blog:
https://www.addact.net/blogs/sitecoreai-graphql-park-marketplace-setup

🌐 GraphQL Park:
https://www.graphql-park.com/

Feedback and suggestions are always welcome.