I think applying "out-of-band" annotations to "current" JSON is not what I
mean by a graph representation. Each node has to have an ID. Otherwise
you've got a tree. Trees are good and useful, but they're not graphs, and
the task here, I believe, is to make a JSON representation *of graphs*. I
have a simple, but admittedly hardline, definition of graphs: every piece of
logical data is an addressable node, and all logical relationship assertions
are made with arcs between these nodes.
Similarly, a templating system for generating a JSON tree out of an RDF
graph is interesting, but not the same problem.