Genealogy Graph Generator 1.0 review

by on

Genealogy Graph Generator (GGG) is a set of programs for automatically generating academic genealogy graphs

License: GPL (GNU General Public License)
File size: 0K
Developer: Karl Chen
0 stars award from

Genealogy Graph Generator (GGG) is a set of programs for automatically generating academic genealogy graphs. It tells you who your advisor and your advisor's advisor and her advisor and so on are.

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 genealogy.agml

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:
annotate-wikipedia klein.agml

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.

Genealogy Graph Generator 1.0 search tags