Essentially this is exactly what we have with Redux and pure JS.  Gaearon has led the way here:<p>- Redux as your single state tree&#x2F;graph<p>- Normalizr to denormalize data and store it in a graph, including pulling nested resources out as records<p>- Reselect to query on your denormalized data<p>And the best thing is this is production ready, in JS, today.