Top 10 GraphQL Developer Questions on Stack OverFlow

This post is my first following my promotion at Postman to Tech Lead for GraphQL. This is a role if you read my previous post, that aligns my professional and my open source goals which is a rare, welcomed outcome. One of my initial ponderings was, "What questions do developers have when they are getting started with GraphQL?". I turned to the resource we all look to for developer's questions: Stack OverFlow.

Fortunately, the site provides what they refer to as their "live" API called StackExchange Data Explorer which accepts SQL and returns the response in a table. I was able to construct SQL queries to take advantage of certain attributes from Stack Overflow questions to build an overview of the top questions that developers have about GraphQL.

Developers on the site have a few ways to signal their interest in a question and it's response. The attributes I chose worked to create an overview for questions on GraphQL. I built my own "Top 10" lists by considering these attributes: most viewed, most upvoted, most favorited and most duplicated questions.

Below is both the SQL that I used to build the queries and the responses that Stack Overflow provided.

SQL Query for Top 10 Views Query

select top 10
Id AS [Post Link], ViewCount AS Views
from posts
where PostTypeId = 1 and 
ViewCount > 1000 and
tags like '%<graphql>%'
order by Views desc

Top 10 Most Viewed GraphQL Questions on StackOverflow

Order Post Link
01 How to query all the GraphQL type fields without writing a long query?
02 Nodemon Error: System limit for number of file watcher reached
03 How to properly make mock throw an error in Jest?
04 GraphQL gql Syntax Error: Expected name, found
05 GraphQL whole schema query
06 How to send graphql query by postman?
07 Why am I getting a "Cannot return null for non-nullable field" error when doing a mutation.
08 GraphQL Expected Iterable: but did not find one for field xxx-yyy
09 How to query list of objects with array as argument in GraphQL?
10 Can graphql return aggregate counts?

SQL Query for Top 10 Upvotes Query

select top 10
v.postid AS [Post Link], count(v.postid) as 'Upvotes' 
from votes v 
inner join posts p on p.id=v.postid
where PostTypeId=1 and VoteTypeId=2 and tags like '%<graphql>%'
group by v.postid
order by 'Upvotes' desc

Top 10 Most Upvoted GraphQL Questions on StackOverflow

Order Post Link
01 How to query all the GraphQL type fields without writing a long query?
02 When and how to use GraphQL with microservice architecture?
03 Nodemon Error: System limit for number of file watcher reached
04 What is the difference between Falcor and GraphQL
05 In GraphQL what's the meaning of "edges" and "node"?
06 What's the point of the input type in GraphQL?
07 How to properly make mock throw an error in Jest?
08 Are there any disavantages to GraphQL?
09 What is an exclamation point in GraphQL?
10 Get GraphQL whole schema query

SQL Query for Top 10 Favorites Query

select top 10 
Id as [Post Link], FavoriteCount as Favorites
from Posts
where tags like '%<graphql>%'
order by Favorites desc

Top 10 Most Favorited GraphQL Questions on StackOverflow

Order Post Link
01 When and how to use GraphQL with microservice architecture?
02 What is the difference between Falcor and GraphQL?
03 Nodemon Error: System limit for number of file watcher reached
04 How to send graphql query by postman?
05 How to query all the GraphQL type fields without writing a long query?
06 Are there any disavantages to GraphQL?
07 Handling errors with react-apollo useMutation hook
08 Firebase and GraphQL
09 Get GraphQL whole schema query
10 How do you prevent nested attack on GraphQL/Apollo server?

SQL Query for Top 10 Duplicates Query

select top 10
  original.Id AS [Post Link],
  COUNT(*) AS Duplicates
from PostsWithDeleted original
join PostLinks ON RelatedPostId=original.Id
where LinkTypeId=3 and original.tags like '%<graphql>%'
group by original.Id
order by Duplicates desc

Top 10 Most Duplicated GraphQL Questions on StackOverflow

Order Post Link
01 Why does GraphQL query return null
02 GraphQL Blackbox/ "Any" type
03 GraphQL Error field type must be input Type but got:
04 Handling errors with react-apollo useMutation hook
05 Apollo GraphQL keeps receiving requests with no queries or mutations being made
06 Fields "me" of type "User" must have a selection of subfields
07 Apollo/GraphQL field type for object with dynamic keys
08 How to chain two GraphQL queries in sequence using Apollo Client
09 GraphQL Expected Iterable: but did not find one for field xxx-yyy
10 Auto-update of apollo client cache after mutation not effecting existing queries

Takeaways

There are several questions that are shared across the attributes of views, upvotes and favorites. Looking at the details of those questions reveals two important findings. First, they are likely to have been asked long ago which allows the accumulation of popularity across many years. Most of these popular questions have rich and detailed answers.

Apollo and Postman are the only two GraphQL tools mentioned by name across question types. The possibilities to consider for this include:

  1. Apollo OSS and Postman represent the top developer choice when learning GraphQL.
  2. Apollo and Postman have been available longer than other tools.
  3. Apollo and Postman provide the ease of use that drives developer adoption.

The specific reasoning by developers for these choices isn't possible without more information, but it is a notable result.

Of all the attributes, Top 10 Most Duplicated GraphQL Questions appear to give a peek into what developers commonly struggled with when learning or using GraphQL.

What do you think? I would love to hear your thoughts and takeaways on what these questions reveal. We can continue a conversation on Twitter. Tweet at me.

Finally, here they are. The Top 10 Questions on GraphQL from Stack OverFlow.

Top 10 Questions GraphQL from Developers on Stack OverFlow

Order Question Type Type Order Question
01 Viewed 01 How to query all the GraphQL type fields without writing a long query?
Upvoted 01
Favorited 05
02 Viewed 02 Nodemon Error: System limit for number of file watcher reached
Upvoted 03
Favorited 03
03 Viewed 03 How to properly make mock throw an error in Jest?
Upvoted 07
04 Viewed 05 GraphQL whole schema query
Upvoted 10
Favorited 09
05 Viewed 06 How to send graphql query by postman?
Favorited 04
06 Viewed 08 GraphQL Expected Iterable: but did not find one for field xxx-yyy
Duplicated 09
07 Upvoted 02 When and how to use GraphQL with microservice architecture?
Favorited 01
08 Upvoted 04 What is the difference between Falcor and GraphQL
Favorited 02
09 Upvoted 08 Are there any disavantages to GraphQL?
Favorited 06
10 Favorited 07 Handling errors with react-apollo userMutation hook
Duplicated 04