In this page we'll walk through commonly used terminology in the world of GraphQL

As GraphQL manipulates different concepts to a REST API, let's take a moment to define commonly used GraphQL terminology. The official GraphQL documentation is pretty complete, but you'll find here a very short summary of essential terms.


The schema is where we define all the API's types. We'll find objects and their fields, their relations, the definitions of queries as well as mutation. This schema is publicly available and can be used both as a reference to know what can be done, but also to generate code that will access our API.

A GraphQL query or mutation will be validated against that schema. To learn more about this topic, head over to the official GraphQL documentation.


Fields are named properties of an object. They go from being simple (such as being typed as a number or a boolean) to being more complicated (such as being a complete description of a user). Fields are named, have a type, a description and can require arguments.

Queries and mutations are two special cases of fields, the former allowing to retrieve data, and the later allowing to modify, create or delete data.


Arguments are named values that will be passed to fields in order to query or mutate the API. A good example of an argument would be a search criteria to a query data, or an object description passed to a mutation.

Edge & Node

A node is an object, that could be represented by a point, and an edge is the relation between these objects, that could be represented by a line between these points. Together they could draw a graph, hence the name GraphQL. When making use of pagination, you'll experience these terms.

Last updated