We’re overhauling Dgraph’s docs to make them clearer and more approachable. If you notice any issues during this transition or have suggestions, please let us know.

Dgraph schemas

Dgraph natively supports GraphQL, including GraphQL Schemas. GraphQL schemas “sit on top of” DQL schemas, in the sense that when a GraphQL schema is added to Dgraph, a corresponding DQL Schema is automatically created.

Dgraph queries, mutations and upserts

Similarly, GraphQL mutations are implemented on top of DQL in the sense that a GraphQL query is converted internally into a DQL query, which is then executed. This translation isn’t particularly complex, since DQL is based on GraphQL, with some syntax changes and some extensions.

This is generally transparent to all callers, however users should be aware that

  1. Anything done in GraphQL can also be done in DQL if needed. Some small exceptions include the enforcement of non-null constraints and other checks done before Dgraph transpiles GraphQL to DQL and executes it.
  2. Some logging including Request Logging and OpenTrace (Jaeger) tracing may show DQL converted from the GraphQL.