I will be presenting at FEISGILLT 2014 in Dublin on the subject of VistaTEC’s work with RDF and Semantic Networks. In my presentation I want to have a series of images which illustrates the build up of relationships between entities.
As with my approach to development, I tend to start with an idea and iterate and re-factor towards the finished article. Given that I want a series of images that I can display as a crude stop-motion animation, I need a quick and consistent way of regenerating the sequence after making an alteration. From my early days in architecture and computer graphics I know that it is sometimes better to start from the end – with like a KeyFrame – and work backwards.
A graphing tool that I have come to like a lot is Graphviz. It has a very simple text based language for defining the graph. It has its own layout engine so as you add nodes to the graph it dynamically alters the positioning and layout of those nodes in the rendering. The effect in my animation that I want is not to have the position of the nodes change, rather I want new nodes to fade into the graph as if they were there all the time but just hidden.
I started with the end result – that is, the complete graph – with all of its final rendering and labeling. Next I generated the start slide. This was a copy of the definition of the complete graph but with all the nodes I want hidden simply drawn in white on white.
Generation of the intermediate slides is a case of taking the definition for the starting slide and gradually replacing the white on white node definitions with those from the final graph definition – their final visible rendered colour.
For this I used my favourite comparison tool, Beyond Compare. Beyond Compare shows differences at document and line level and has simple ways of moving changes between files. Having generated my series of image definitions, I simply created a batch file to execute Graphviz’s DOT program to generate the images previewed below.