When GraphFrames are constructed, we do not check that the vertices DataFrame contains all vertices from the edges DataFrame. We should do that somehow (ideally lazily).
This will likely be a problem for subgraph selection.
I'll create a separate issue for better subgraph selection methods.