Hi Mike,
Thanks for the comments. I appreciate your concerns with breaking changes. In fact, one of GraphQL’s strengths is being able to deal with API changes in ways that don’t break existing users.
It’s certainly something I’ve been taking into account in designing how the GraphQL layer works, so we can extend that without breaking existing queries (that said GraphQL is alpha at the moment so there might well be tweaks before we launch it as stable).
The blog post didn’t mean that we are phasing out GraphQL±, but more that we see the two as growing together and that a Dgraph instance will probably be able to expose both in a more integrated way than we have at the moment. We’ll also be considering features carefully to see how they work for both.
There’s some stuff however that just doesn’t fit easily into GraphQL - you mentioned variables, and that’s definitely one of them. At the moment we are working on features where you can access a full GraphQL± query (with many blocks, variables, etc.) from a single GraphQL query. But how to get Dgraphs powerful variables across GraphQL queries is an open problem.
RDF isn’t going anywhere for Dgraph.
Deletes already work - it’s not in the docs yet and has some features to add, but you can see it if you use GraphQL introspection on A Dgraph GraphQL endpoint.