This approach matches well with GraphQL (without Relay -- but with Relay I imagine it would fit even better).