Is there a method to change the contents of a vertex while keeping all its edges. I couldn't find one but it seems like something that would be provided.
What do you mean by changing contents of a vertex? Vertices are made with generics, which means you can put just any object there, which means it's up to you to provide a method to replace the contents of this object, if it is not immutable. Or do you want to put completely a new object there (completely new vertex) and save all relations of the old one? Then you would probably have to find edges with this vertex (