Bruce Robertson

Improving Ancient History Online with Heml


Article Contents
Visualizing Ancient Historical Information with Heml
Producing Marked-up Events
Combining Marked-up Events
Future Directions


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.

Introduction   [top]

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

2. This describes version 0.5.9 and later of the Heml webapp, available at [back]





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           





xml:lang="en" xlink:href="">


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   












xml:lang="en" xlink:href="">

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, 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.

Bibliography   [top]

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.