There was an inspiring related thread a little while ago: https://groups.google.com/forum/#!searchin/julia-users/graph$20glvisualize/julia-users/ybGrFVKGyDA/KEf6mY0mCwAJ
My impression is that this subject is full of heuristics, and for graphs like e.g. the complete Julia package system I believe interactivity is the most effective heuristics there is. Compose can't offer that so I have simply used a text file with a blacklist of nodes to remove, and a function to remove disconnected nodes. One of the other heuristics to graph layouts is going 3d, projecting your nodes on a sphere, a torus etcetera. That's fascinating in itself. You can start out with a 2d layout and the spring stiffness model or your own variant of it. But if it never settles into a clarifying layout for the purpose, you may take that incomplete layout and project it on a spherical surface and voila you get clarity. Or a torus. This is quite fun. It's neither lightweight nor easy nor fully compatible with Mac OSX, but a more complex graph layout application with interactivity could be built using the current state of GLVisualize. That state, of course, is changing rapidly.
