June 10, 2004

Representing Events In Topic Maps

Some thoughts on representation of historical events using topic maps.

In a large part, the thoughts here are inspired by Historial Event Markup Language.

An event representation pattern must address at least the questions:

  • What ?
  • Who ?
  • Where ?
  • When ?

The pattern should be extensible to enable Why ? and How ? to be represented using additional topic map constructs.

What ? Event type

The basis of the pattern is that events are represented as topics - this enables an event to be treated as a thing in its own right, to be named and to be related to other resources and topics. Creating a topic for an event essentially answers the "What ?" question by providing a topic proxy for the "What".

Who ? Event Participation

Event participation is best represented using an association. There are two possible choices here:

  1. An association meta-type could be used to identify participation associations. In this case the types of the associations would be unrestricted as long as those types are themselves typed with the "event participation association" meta-type. However, this could be quite heavyweight and may not be necessary.
  2. An association type for event participation with a single defined role for the event participated in. The role played by each participant could then be unrestricted. If multiple roles are played in an event by the same participant, there should be one association role for each role played.

Where ? Event Location

Again there are two possible solutions to this.

  1. Use a defined occurrence type to allow a geolocation code to be specified for an event.
  2. Use a defined association type to allow a relationship between a geographic region and an event to be made.

In practice, (1) would be most suitable when there is point data. Some point data may require multiple separate axes in which case it might be best to simply define a meta-type for "location component" occurrences. This would enable not only normal GPS-style geolocation coordinate systems but also more complex location systems such as those used in astronomy. (2) would be more suitable when an identifiable place such as a city, country or region is involved, and ideally where there is a controlled list of such places.

There is nothing, of course to prevent these two solutions being combined and if "location component" occurrences are also used to provide location information for "location" topics, this enables inferencing to be used to extract relevant location information.

When ? Event Times

This is complex as HEML shows.

Factors to consider include:

  • There are multiple calender systems to consider. Most are dirunal which means that there should be a one-to-one mapping between a date in one calendar system and a date in another system.
  • Some calendar systems involve multiple epochs (e.g. the Chinese and Japanese systems of measuring years in the reign of the Emporer).
  • Some events are macro with respect to our standard calendar systems (e.g. evolutionary events such as the era(s) of a particular dinosaur's existence).
  • Some events are micro with respsec to our standard calendar systems (e.g. the events occuring inside a high-energy physics experiment.
  • Some events have a range (start date/time and end date/time).
  • Some events have an unknown or only roughly known start/end time.
  • Some events are known only to have preceded or followed other events, but may have no fixed time themselves.
  • It appears that HEML provides a way forwards for handling most if not all of these issues so the next step must be to attempt to create a set of topic map PSIs that can reflect the HEML model.

    Posted by Kal at June 10, 2004 08:19 AM | TrackBack
Comments

Ah, thanks for bringing this up; it's an old favourite of mine. I've created (in the lab, for ages) a site dedicated to Monteverdi (1600 composer) and his life, and this implies a lot of timelines, events along it and focus points (scoping) within. I've hacked a small ontology for it which works ok, but was missing some vital stuff.

This blog is sure a step in that direction, and I'll look up the HEML closer and blog about what I think, because events I've fond are far more important than I at first had thought; the stuff we're trying to model is a moving target, but we only get to target it when it stands perfectly still for some time, and the world never does this. Events (be it along a timeline or as motion through a given space) is really what we want to catch, and have "occurrences" attached to them to represent our data. Um, imho.

Anywys, thanks for sharing.

Posted by: Alex at June 10, 2004 12:54 PM

The HEML stuff is pretty neat - Masahide Kanzaki has done some cool transformations between RDF ical and HEML to use the HEML visualization tools:

http://rdfig.xmlhack.com/2004/03/24/2004-03-24.html#1080144405.967505

RDF ical is an RDF version of icalendar (RFC 2445) we've been working on - it's not suitable for all types of events, but handy for certain types like meetings etc (and icalendar is used in many PIM apps). They've also spent a long time getting timezone representation right (which is pretty tricky if you want meeting-level accuacy). Gregorian only though....


Posted by: libby at June 12, 2004 02:39 PM

Thanks for the pointer Libby! I've been lurking on the rdf ical list for a while and there is some really good work going on there. My feeling is, though (and correct me if I have this all wrong) that the emphasis is more on data integration than on an ontology for describing events. Having said that, whatever ontology is created for events should definitely be able to interoperate with rdf ical as well as with HEML.

Posted by: kal at June 12, 2004 03:34 PM