GraphQL doesn't create an n+1 problem, the problem was already there. The challenge is that it moves it to a place where it's less obvious how to solve it. This is because you need some way of triggering batch loads, and this is going to vary per language and implementation.