Graph Editor – Boxes and Arrows
Recently I have started using yEd, a free (not Open Source) graph editor, to produce IT Architecture diagrams.
It is written in Java and runs on many platforms: Linux, Mac OS, Windows… It supports a the graphml file format describing graphs. It provides the most essential visualisation features including
- Boxes
- Arrows between boxes
- Boxes in boxes
The real highlight of the product is the sophisticated layout algorithms it offers. The other key feature is the export of graphs in a variety of formats including: SVG, PDF, JPG, etc
What is it good for?
I am planning to automate the production of diagrams for IT Architectures. This application will not replace sophisticated drawing tools due to the limited graphics capabilities, but the plan is to use it for generated diagrams anyway. Where the tool excels is the variety of layout strategies and algorithms it offers to arrange the diagram elements on the canvas, and it can deal with a large number of elements and produces impressive results.
Why not use Visio?
Although it does not offer the same level of sophistication and representation as Visio, it has the advantage of automating the production of diagrams. I am looking at a variety of input sources and driving those through “good old” XSLT to get the result – graphml file. In fairness Visio also supports XML, however the graphml format (including the yWorks extensions) is far less complicated to process. A big advantage over Visio is the support for ‘box in a box’ structures, in other words containment. Visio can only support ‘box over a box’ which is just an imitation of the structure.










September 23rd, 2010 at 10:27 pm
Hi,
I was trying to see if some ontologies (Protege-generated OWL or OWL) can be converetd to GraphML using yED’s XSLT tranform, so that they could be visualized in yED. It seems that the XSLT is very limited in its ability since it only recognizes 3 relationships (subclass, objectproperty and disjointwith). So no real world ontologies really get converted to GraphML or otherwise directly imported into yED.
Did you have a need to do something similar? What was your experience importing ontologies into yED?
Thanks
September 27th, 2010 at 9:03 pm
Hello Vish,
I have not done anything like this specifically. I have not tried the built-in XSLT capability with yEd.
I used command line XSLT (Apache Xalan) to transform various XML files into GraphML and those worked well for me. I have to admit it was tedious to work out the transformation, mainly turning one type of structure into GraphML’s structure. The easy part is to define the templates for the typical elements in GraphML (node, group-node, edge).
As for ontologies, my approach was to export XML from Protege, write the transformation and drive both through the Xalan engine to generate the GraphML.
I hope this helps.