GraphQL is an application layer query language from Facebook. Despite the name and connotations it may imply, it has nothing to do with Graph databases; it is agnostic to how data is stored. For example, https://github.com/graphql/swapi-graphql/ is a GraphQL server that is backed by the swapi.co REST API. The examples in https://github.com/graphql/raphql-js repository on GitHub are backed by in-memory JSON objects. In real-world applications, it's not uncommon that GraphQL types are backed by data stored in a number of backends, including types backed by SQL tables.
What does it look like? Let's say you have a webpage that displays a rental item, alongside a list of related ads in the same area:
The data required to render that page may look something like this:
{ viewer: { name: 'Konstantin Tarkus' }, offer: { id: 123, title: 'Children's Bike', location: { city: 'New York', state: 'NY' }, picture: { url: '//cdn.com/123.png', width: 800, height...