Skip to main content

Today's entry is fortunately quite short and so leaves me some scope to describe my initial approach to doing this topic map and to be a bit more verbose about the mapping.

I propose that the main model for this topic map will be to describe each day as a series of events and at the same time to add descriptive information for participants, places and objects described in relation to each event. For this reason, I have decided to reify each event as a topic.

I will put the topics that represent people and places into separate, parallel topic maps. Fortunately Phil Gyford has already extracted some of the named entities in diary entries and created separate pages for them, so I intend to use those pages as subject indicators where possible.

Topic Mapping This Entry

For each entry I topic map, I will go through the text of the entry primarily in the order in which the text appears. I will use block-quotes to pick out the text being modelled in each section.

This morning I went up and down into the city, to buy several things, as I have lately done, for my house.

This is modelled as a topic of type "visting-event":

[event-16610701-01 : visiting-event

= "Samuel visits the city to purchase items for the house. (1st July 1661)";


I will number the events occurring on a given date in the order of their mention in the diary. For the most part, I expect that this should follow the chronological order of occurrence of the events too. The sort name "16610701-01" is used as a device to get events to sort chronologically in topic map browser applications.

The date of occurrence of events I propose to model as an association, which therefore requires one topic for each day recorded in the diary. So:

[today : date = "Monday 1st July 1661";"16610701"


occurs(event-16610701-01 : event, today : on)

Don't expect that subject indicator URI to resolve to anything (yet) its just a place-holder for now. The gDateTime parameter indicates that the parameter value is a Gregorian calendar date and optional time value.

Finally for this event, I'll model participation in the event as a 3-ary association between the event, the participant (Samuel Pepys) and the place visited. Samuel is none to specific about where he visited, so I'm going to create and use a topic for "London". In general, when I reference topics describing people and places from a diary entry topic map I'll include only the subject indicator for the topic in the diary entry topic map itself and use a separate topic map to keep track of other information related to that subject. For Samuel Pepys, I'm going to use his entry on as a subject indicator. A subject indicator for "London" is a little more troubling because a reference to, for example London on Wikipedia is more focussed on modern London - quite a different place from London in the time of Pepys. Any suggestions for a suitable subject indicator would be gratefully received. For now, I shall create the topic with no subject indicator.

[samuel-pepys @""]

[london = "London, England"]

participation(event-16610701-01 : event,

samuel-pepys : visitor,

london : place)

Among other things, a fair chest of drawers for my own chamber, and an Indian gown for myself. The first cost me 33s., the other 34s.

Well, there is no telling what the "other things" are, but Samuel was proud enough of his furniture and fashion to mention them! Rather than combine this information into our "visiting" event, I'll create a separate "purchasing" event to record this. As it is unlikely that these two items were bought in the same transaction, I'm going to model two separate "purchasing" events. As these purchases are part of Samuel's visit to the city, I shall make a suitable association between each purchasing event and the visiting event.

[event-16610701-02 : purchasing-event = "Samuel buys a chest of drawers (1st July 1661)"; "16610701-02"]

occurs(event-16610701-02 : event, event-16610701-01 : during)

participation(samuel-pepys : purchaser, chest-of-drawers : purchased)

[chest-of-drawers : item = "A 'fair chest of drawers'"]

{chest-of-drawers, purchase-price, [[ 33s. ]]}

[event-16610701-03 : purchasing-event = "Samuel buys an indian gown (1st July 1661)"; "16610701-03"]

occurs(event-16610701-03 : event, event-16610701-01 : during)

participation(samuel-pepys : purchaser, indian-gown : purchased)

[indian-gown : item = "An Indian gown"]

{indian-gown, purchase-price, [[ 32s. ]]}

Home and dined there, and Theodore Goodgroome, my singing master, with me, and then to our singing.

Dining is a huge part of the diary - and quite often done in company which makes meals an interesting thing to track. Again, I'll use a different event type to distinguish "dining" events. Simlarly the lesson I shall model as an event, with an additional association describing the "subject" of the event (I'm assuming that I could use the same pattern later to describe events such as sermons or lectures).

The site provides useful URI identifiers for Samuel's home in Seething Lane and for his singing master, Theodore Goodgroome.

[event-16610701-04 : dining-event = "Samuel dines with Theodore Goodgroome (1st July 1661)"; "16610701-04"]

occurs( event-16610701-04 : event, today : on)

participation( event-16610701-04 : event,

samuel-pepys : host,

theodore-goodgroome : guest,


[seething-lane-house : place = "Samuel Pepy's Home in Seething Lane"


[theodore-goodgroome = "Theodore Goodgroome"


[event-16610701-05 : lesson = "Samuel takes a singing lesson. (1st July 1661)"; "16610701-05"]

occurs( event-16610701-05 : event, today : on)

participation( event-16610701-05 : event,

samuel-pepys : pupil,

theodore-goodgroome : master,

seething-lane-house : place)

event-subject(event-16610701-05 : event, singing : subject)

Read this diary entry on

Download base ontology topic map (LTM)

Download "people" topic map (LTM)

Download the topic map for this entry.

Here's an idea that just struck me on the train on the way home.

Phil Gyford runs an excellent blog of the diary of Samuel Pepys. He blogs entries from the diaries one at a time 343 years to the day from the date of the diary entry (so at the time of writing we are in July 1661).

My idea is to attempt to topic map the entries in parallel with Phil's blogging.

The diary has a lot of interesting features:

  • References to places, some of which still exist, some which have since been redeveloped.
  • A large cast of characters with family and social relationships.
  • Reference to events of both major and minor significance.

Topic maps excel at enabling references between these features to be made and connections not at first apparent by a serial reading of the entries might be revealed. As far as I know there have not been many attempts to topic map a series of events like this so it would be an interesting experiment. I wrote some thoughts on topic mapping events a few weeks ago, so it might also be an interesting way to put that to the test.

So here's the plan:

I'm going to start blogging topic-mapped entries from Pepy's diary. In each blog entry I'll reference the entry, write some explanation about why I'm modelling it in my topic map in the way that I am and then include the topic map for that entry. Initially I plan to use LTM notation as it is more compact and readable than XTM.

It would be nice to make this an interactive process, so I welcome comments and proposals of alternate representations! Also, as I am no Pepys scholar, all I can do is attempt to represent what I read in the entry - I would welcome pointers in the right direction from anyone with more knowledge of this subject.

Seeing as at present there is a hiatus in the diary (there are no entries from 8th to 13th July), I'm going to attempt a bit of catch up from 1st July 1661. Watch this space...

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.