The Historical Event Markup and Linking Project (Heml) provides a markup language used to coordinate historical resources across the web, and computer programs that link such resources into historical timelines, maps and animations. Using sample events from the life of Alexander the Great, this paper demonstrates how such a system might aid the study of antiquity on the web.
It is no news to readers of this journal that the online publication of ancient historical documents, essays and even monographs is proliferating and that, consequently, searching these materials is increasingly difficult. Traditional cataloging systems usually organize historical materials by region and date, and print volumes can be relied upon to provide indices of historical persons and events, as well as the occasional map or timelines; in contrast, Google and other text-based search engines operate primarily through the words appearing in a web-page. Consequently, such engines will not provide someone studying, for example, Alexander the Great with all the pertinent evidence, discussions and debates. (A web page with Appian’s account in Greek will not necessarily comprise the English words “death”, “Alexander”, or “Great”, and neither do discussions of it published in Japanese.) This is a surprising failure: computers are supposed to be good at organizing things.
Of course, computers can only organize the data they are given, and they do best if the data is highly structured. Up until now, the data on the web has been pretty poorly structured, and there has been no standard way of associating parts of web pages with the sort of “who, what, when, where” information that can easily be used to index the past. However, recent advances in web technologies have simplified the use of structured and meaningful data. Applying this technology to the ancient past would result in a dynamic outline of the past, linked to the appropriate evidence and ever-growing as new materials come online. It’s a wissenschaftlich dream!
For the past three years, the Historical Event Markup and Linking Project has been pursuing this dream. Known by the abbreviation “Heml”, this work is based in the same standard XML technologies discussed elsewhere in this edition of Classics@, and like the other projects mentioned here, its work is published openly and free of cost. 1 Heml has three sub-projects: it defines how historical events, persons and places can be encoded in XML; it provides means of joining together disparate documents; and, most interestingly, it explores how encoded material can be visualized through computer graphics.
Notes to this section
1. Robertson, 2002 is a more technical discussion of an earlier incarnation of the project. [back]
This paper will illustrate Heml’s work through sample documents outlining some events in the career of Alexander the Great. It should be made clear at this point that the Heml project does not aim to produce a “database of history” or digital library. Its goal is to provide a common markup language that could facilitate and even inter-link any number of such databases or libraries. Consequently, the samples given here, like many of our sample documents at the Heml website, are not an exhaustive treatment of their topic: that is left for the expert in each field.
Visualizing Ancient Historical Information with Heml [top]
The last of Heml’s goals, the graphical visualization of the past, makes the biggest impression on many who explore it for the first time. The project’s server application program, or “webapp”, produces a variety of summaries representing marked-up data. 2 The more obvious of these are chronological lists of events, or alphabetical lists of places and persons, as might appear in any full-fledged index. In addition, the Heml webapp can generate graphical timelines, such as the one in figure 1. Like all Heml visualizations, these timelines are produced without the webapp being given any hints as to the scale or layout of the topic; the webapp works from the marked-up events alone, allowing the process to be fully automatic.
Notes to this section
Figure 1: Timeline of Some Events in Alexander’s Career
A graphical timeline generated by the Heml webapp listing some events in Alexander the Great’s career
The image in Figure 1 is, in fact, not exactly what the Heml webapp produces as its graphical timelines. It serves these in Scalable Vector Graphics (SVG), a format akin to the more familiar, proprietary, Flash graphics. Like Flash, SVG combines text, graphics, hyperlinks and animation; unlike Flash, SVG is an open standard developed under the aegis of the World Wide Web Consortium. Plugins for all common browsers and computer operating systems are available from Adobe. In its original SVG form, the timeline from Figure 1 includes links to lists of the source documents pertaining to each event. This can be appreciated at the Heml website.
Heml markup permits one to include information about where an event took place. Using this, the webapp can also represent historical events as maps. Figure 2 is an example of what we call a “dynamic map”, wherein the events associated with a location are laid out in a floating palate. Mousing over each location reveals its name and fills the palate with a scrollable list of its events. Each event title links to a list of source documents and other information pert intent to the event. The working SVG version of this map is available at the Heml website.
Figure 2: Dynamic Map of Some Events in Alexander’s Career
Image of the SVG dynamic map generated by the Heml webapp listing some events in Alexander the Great’s career
Figure 2 also illustrates that Heml markup and visualizations can represent events, locations, personal names, etc. in any language. In fact, Heml markup permits one to use more than one language at the same time. For example, in the marked-up data underlying the map in Figure 2, it is recorded that the location should be labeled as “Alexandria” to those who prefer English text and “?λεξ?νδρεια” if a reader chooses ancient Greek. The approach simplifies translation or collaboration across linguistic boarders. It also allows an editor to label events and locations with the phrases and words of her author.
Figure 3: Animated Map of Some Events in Alexander’s Career
An image of the SVG animation generated by the Heml webapp depicting some events in Alexander the Great’s career
Computer technology allows us to visualize events in the past as animated maps. These short animations compress time so that thirty seconds represents, for example, a century; during the “movie” text appears labeling events as they take place at representative points in the compressed time scale. The Heml webapp automatically generates animations from markup. For example the events from Figure 1 above are presented in this SVG animation, and Figure 3 is a snapshot of Heml’s animated map in action. It includes a control panel using symbols familiar from audio-visual equipment. With these, the reader can play, pause and reverse the animation. It is also possible to set the duration of the animation to a more leisurely pace. To keep the reader aware of the progress of time, a triangular “slider” progresses along a scale and indicates the represented Gregorian date.
Of course, not every visualization aids in the understanding of every collection of events: a sequence taking place at one location will not be made much clearer by an animated map. Similarly, different users will glean more or less from each visualization depending on their existing knowledge of the topic. Nevertheless, graphical views will have their place in navigating the historical web, and only by exploring the possibilities will we discover which visualizations are effective and appropriate.
Producing Marked-up Events [top]
A web browser can render the layout of web documents because it is sure that it is encoded with a standard markup language, HTML. Similarly, a standard markup language expressing historical events is necessary for the Heml webapp to reliably lay out the timelines and maps described above. A large part of this project’s efforts have gone into defining and critiquing successively more refined and useful markup languages and then building visualizations that fully exploit the resulting data.
Though a complete description of the Heml Project’s markup is unnecessary and too lengthy for an introduction such as this, a few examples of the core features might assist those who are willing to experiment with it. As defined in our markup schema, an event must minimally comprise the following:
- A text Label briefly describing the event
- A definition of the time at or during which the event took place, called a Chronology
- One or more References which provide evidence for the event
These minimal components are illustrated in the following example, which catalogs the death of Alexander the Great:
Alexander the Great Dies
Arrian, Anabasis 7.24.4-27.2
This bare-bones approach will not permit the event to appear on a map, nor does it associate the event with an historical person. We could include some of those aspects in the definition of Alexander’s death above in the following way:
Alexander the Great Dies
Arrian, Anabasis 7.24.4-27.2
In fact, this example illustrates all of the remaining features of Heml markup, including:
- A Location for the event, including its coordinates and a text Label
- A Keyword, such as literature, used for later classification of the events
- The people who are Participants in the event
- The Role that a Participant plays in the event
The Heml Project stipulates the rules of its markup language using XML Schemas, a markup definition system which is understood by many text editors, such as the open source Jedit. A person writing Heml markup can use such an editor to be sure that their document conforms to the standard; where it does not conform, Jedit and others explain what is wrong. When Jedit agrees that the document conforms, the author has fufilled his side of the bargin, and the webapp should handle the data gracefully. There are many requirements that a conforming document must fufill, but making new Heml documents is not difficult if one begins by altering an existing one, such as alexander.xml, the one illustrated above.
In some cases, the historical data is already stored at a website in locally developed text files or databases. These projects need not scrap their local materials in order to be part of a larger historical web. Just as a web page can be produced from a word-processing document, from time to time, Heml markup an be produced from these local materials using one of several free tools developed for industry and commerce.
In other cases, an extensive corpus of HTML documents has been formed, for which an over-arching historical index would be helpful. It is possible to “upgrade” such a corpus by embedding Heml event markup within the HTML itself. The Heml project has produced a sample document, Outline of Greek Prehistory, to illustrate the process.
Combining Marked-up Events [top]
The introduction to this paper argued that a common markup language for indexing historical events would help us navigate the growing web of materials pertaining to ancient history. While the illustrations above have shown the features of historical indexing through marked-up text, they have only drawn on a single document, not a network of resources. The third and final undertaking of the Heml project is to provide a means by which conforming data across the web can be “glued” together to create this network.
Imagine, for instance, that our Alexander data derives from course notes originating at Furman University. Imagine also that at Reed College a website on Persian history is under way. It exports its materials as a set of Heml events, including the accession of Darius III to the throne and his death, as illustrated in an example document dariusIII.xml. Both the Furman and the Reed documents can be expected to include a Heml Person element for Darius III, but there is no way to ensure that they will do this in exactly the same way, since such coordination is unlikely, even among the willing. With some tools provided by the Heml project, these two documents can be aggregated to form a larger document. 3 In this, the Darius III who died near Bactra is the same as he who was defeated at Issus. A timeline generated from the aggregate document is presented in Figure 4. Using these or similar tools, ancient history sites could indeed form an index that spans the net.
Notes to this section
3. This process was presented at at the Joint International Conference of the Association for Literary and Linguistic Computing and the Association for Computers and the Humanities in 2002 under the title “XML Content Integration: An Example from the Heml Project”. [back]
Figure 4: Timeline of Events, Including Those from Darius III’s Career
A graphical timeline generated by the Heml webapp from an aggregated document
Future Directions [top]
The Heml Project began in 2001 as a concept funded by the Social Sciences and Humanities Research Council of Canada. Three years and thousands of lines of computer code later, its website, http://heml.mta.ca is a working model of a historical indexing and visualization. Today, Heml progresses through close work with the Geography of Slavery in Virginia, a website from the Virginia Center for Digital History. To map the experiences of colonial Virginia’s runaway slaves, the Heml webapp is replacing its document-based design with an xml database. This change, predicted for completion in Summer 2004, makes a thousand times more events available at once, and it permits one to search on events by all possible criteria.
Robertson, B.G., “An Overview of the Historical Event Markup and Linking Project”. Niccolucci, F., ed., Dalla Fonte all Rete: Il linguaggio XML e la codifica dei documenti storici, archeologici e archivisticipages 37-50 ( Pisa , 2002 )
To refer to this please cite it in this way:
Bruce Robertson, “Improving Ancient History Online with Heml,” C. Blackwell, R. Scaife, edd., Classics@ volume 2: C. Dué & M. Ebbott, executive editors, The Center for Hellenic Studies of Harvard University, edition of April 3, 2004.