This document is to serve as an insight into the existing state of the GraphQL API part of Dgraph as it exists today. This is not to say that the GraphQL API is not usable for some use cases today, as it certainly is usable. What we intend to recognize with this document is that the GraphQL API is not as mature as it should be. Some of these things are oversights, some are design decisions that should be readdressed, and some are already accepted enhancements and fixes but have yet to be addressed or implemented.

Feature Requests, Bugs, and Limitations as of Feb. 2022

This document is complemented by the Dgraph Lambdas review link following. So lambda specific workarounds and limitations are intentionally not mentioned in this document. This document is for the GraphQL API as it’s own entity serving as a Public Facing API.

Dgraph Lambdas

Most Important Needed Features

NOTE: EVERYTHING in this document should be important. But if anyone wants our (Jonathan and Anthony)’s opinion, here is order of importance.

  1. Security
  2. Bugs - All bugs should be fixed.
  3. Nested Filters - queries and mutations
  4. Data Integrity - @reference directive (or other way to add data constraints)

Security Concerns

Having a GraphQL with auth rules built in is an incredible feat. It would seem that this GraphQL API is then ready for public internet facing release. But there are some very important things that one should know to keep their data as protected as possible and realize that even with well thought out auth rules with the current implementation of auth logic some needed security logic is simply not available.

Many of these have been discussed extensively in other locations, so linking instead or rewriting novels here.