A set of programs for automatically generating academic genealogy graphs
Version: 1.0Genealogy Graph Generator (GGG) is a set of programs for automatically generating academic genealogy graphs. The software tells you who your advisor and your advisor's advisor and her advisor and so on are.
Operating System: Linux
· perl >= 5.8.6 (need version 5.8.6 for perfect Unicode support)
· libxml-xpath-perl (optional - for SVG postprocessing)
· imagemagick (optional - for magick+png format)
- Locate an appropriate Mathematics Genealogy Project (MGP) page. If you are not famous or graduated enough to be there, find the closest ancestor. We will add extra information later. For this example we will build the genealogy for Felix Klein you see above.
Another online genealogy database is TCS, but GGG does not support that yet.
- Run download-mgp to create an AGML file:
download-mgp performs a directed breadth-first search on advisor relationships in MGP, recording full name, institution, year, and MGP URL.
- (Optional) Add missing entries and make other corrections by editing the AGML file.
- (Optional) Run annotate-wikipedia to automatically add Wikipedia URLs:
This searches Google for Wikipedia articles with the person's name in the title. Results are annotated into the AGML file with < url label="Wikipedia" > entries. When the automated Googling fails, you can add aliases to the AGML file, or just add entries manually.
Run ggg < format > < input.agml > [output] to generate images and optionally image maps:
ggg magick+png klein.agml klein.png
ggg cmapx klein.agml klein.html
GGG uses GraphViz which supports many formats including regular image formats (JPEG, GIF, PNG) and vector formats (PS, SVG).
magick+png uses SVG as an intermediate format and annotates the SVG, then uses ImageMagick to convert to PNG. Annotation allows more flexibility in fonts. The result is also anti-aliased. (The latest GraphViz with a cairo plugin allows anti-aliased PNG output as well.) Use png for regular GraphViz PNG output.
cmapx is a client-side HTML area map. It allows you to have tooltips and hyperlinks on the image.