A graph is probably the most generic data structure we can possibly think of, and as such, the GraphML file format could be used to store data for the most complex problems.
I currently work on such a problem where the data structure is really a graph and not just a tree. Since yEd is already capable of displaying the content of a GraphML file, it could be a "off the shelf" tool to visualize what the data looks like in the problem at a given state. The use-case scenario would be :
use a GraphML file to store the data, adding your own data to nodes or edges, using your own namespace;
at any time, load the GraphML file with yEd to visualize what your data look like : necessarily you would need to redo the layout using yEd's layout algorithms;
save the file and keep your attributes : I believe the "layout..." algorithms only change the positions of the nodes and edges, so there is no structural changes (e.g. no creation of nodes or edges).
So basically this is what I tried : created a simple file with yEd, then added an attribute belonging to my own namespace in the node, wondering if yEd would keep this attribute or would remove it when saving the file (I just moved the node a little with yEd, so that the "save" option would be clickable, but didn't do any structural change).
Unfortunately, it seems that yEd removes all "alien" namespaces.
Could it be possible, in a future version, to preserve data belonging to unknown namespaces in the GraphML file? That would allow to use yEd as a visualization tool for any kind of graph problem.