How the query works when meets functions?

The order I would say is:

First query root (which could be understood as “query header”) and then the filters in query root. And so the other nested edges are solved in the same order.

I think only what differentiates this is root and filters. I can’t imagine another situation that could change the result. Maybe paging functions can have something.

Basically Dgraph is based on the principle of GraphQL. That is “the query structure must match the given result vice-versa”.