GraphQL has as one of its characteristics to be completely independent of the language and the database, it does not have much relevance if it is a rational or non-rational database, it can even be a REST API, that is, it can be written with GraphQL above of the GraphQL APIs.
In GraphQL, the client has a query language, then it can connect to the Endpoint and define what it is going to ask for. This is the main difference between GraphQL and REST: who handles the request. Among other differences, one that also stands out is that, in GraphQL, the developer can connect to a single Endpoint and find all the information there and can filter it according to need, while in REST, the developer must connect to different Endpoints: one dedicated to the users, another to the products, another to the prices and according to what you get, build the information you need.