.... not saying its the best solution, but if i was presented with the problem, with my background, i would just use a Storable database ( memory is getting cheap...alot of systems have 4 GiG standard now).... and just load it into a well designed hash.... then use Tk, Gtk2, or Zinc to display the nodes as different colored little icons, that are interactive with the mouse.... which is a cool feature.... a graph that responds in realtime to the mouse..... but 1 million data points may overload the widget..... but there are ways around the problem, by breaking the data points into smaller sets for display..... a multi-planar layering probably could be possible too. See