How can I recover a graph from a graphical output in a notebook after resetting the kernel?

I have an old Mathematica notebook with an output for a graph structure $G$ I would like to recover. However, the routine for building up the graph is stochastic, so I can't simply rerun the code.

Can I recover the vertices and edges of a graph from its output in an old notebook after the kernel has been restarted?

More specifically, say I run the command:

G = RandomGraph[{50, 600}]


Which produces and graphical output that clearly can't be reconstructed by eye. I then quit the kernel. Can I recover the vertex and edges of $G$ using the output graphic?

-
The output of RandomGraph is not graphics, but an actual live graph object. You can pass it to other functions such as EdgeList. However, the output of GraphPlot is just graphics, not a Graph object. If you have a true Graph object, just use it. –  Szabolcs Apr 15 at 17:15
@PlatoManiac I used Show[G] to display the graph. And it appears that EdgeRules fails? –  PinoAir Apr 15 at 17:16
@Szabolcs Prior to quitting the kernel, I can click on the graph and get things like edge and vertex lists. Afterwards, it seems to become a graphics object? Is the data lost? –  PinoAir Apr 15 at 17:17
No, the data should not be lost just because you quit. But if you use Show, then yes, it is lost. You can extract the Line objects from the graphs and try to reconstruct based on those. Theoretically it's possible, though it takes some work and manual tweaking. Use functions like Cases with level specifications to extract the data. –  Szabolcs Apr 15 at 17:21
How old is "old"? –  Ｊ. Ｍ. Apr 15 at 17:23