Next / Previous / Contents / Shipman's homepage

3.1. Design issues with taxonomies

The main conceptual structure is a systematic arrangement of taxa of birds. A taxonomy of birds is ideally a tree, with Class Aves the root, the orders its children, the families their children, and so on.

Strictly speaking, there may be part of a taxonomy that are not completely clear. Some taxa are said to be “incertae sedis”, meaning that their exact placement is unclear. A truly general taxonomic data structure would have provision for such cases. However, any given revision of the AOU Check-List places every taxon somewhere, so we don't really have that problem.

The building of this tree starts by examining the ranks file that specifies the taxonomic ranks of interest. The AOU uses many of the less common ranks such as infraorders and tribes, but in practice, only a few are used.

Once we have set up the desired hierarchy of ranks, the tree is built from the .std file.

When choosing data structures, it is quite clear that a tree data structure is ideal for this application. In taxonomy, the term taxon applies to any node of the tree at any level, so it makes sense to represent the taxonomy as a tree with each node representing one taxon.