Graphql API internals

Does graphql api calls get converted to graphql± calls internally and are then processed or dgraph prepares the query plan directly?
To what extent are query plans cached? Would be awesome if you could direct me to a documentation on the deep dive of all of it, including how the graphql AST is processed to prepare the query plan.