More changes

This week I’ve finished a big overhaul of the wiki. Changes include:

  • there’s now an external identifier for the The Scotland, Scandinavia and Northern European Biographical Database (SSNE). This free to view database created by Steve Murdoch and Alexia Grosjean is a very important source for the earlier careers of many civil war officers.
  • there’s a simple entity to represent blank pages in a manuscript. This is easier to use and less cumbersome than using the full data structures designed for manuscript texts or sections.
  • behind the scenes, some of the properties have been simplified. This won’t make any noticeable difference at the front end but it does affect the RDF output and writing custom queries.
  • documentation on property pages should all be up to date now.
  • battles and sieges have been overhauled yet again, and I think I’m finally satisfied. More details of this below.

In a previous post, I described how I’d merged battles and sieges into one type called ‘combat event’. I’ve now gone further and generalised them into a new type called ‘event’, which can be used to represent other kinds of events as well as combat. Currently the only extra type is ‘meeting’, which represents a formal meeting of things like courts, committees and houses of parliament, but more types can easily be added in future. The form for searching for events by date has been temporarily removed, partly because it needs an option for type of event, and partly because I realised that I’d got the query completely wrong, so it never actually worked properly. It should be coming back when I’ve thought more carefully about how to do it.

Linking people, animals and units to events they took part in has completely changed. Relationships between events and their participants are now represented by subobjects instead of a single property that points from one page to another. I had tried to avoid this because it can make queries more complicated but after trial and error I decided it’s worth doing because it represents relationships in more detail without needing extra properties. The way I’ve done it is the same as locations: there’s a separate namespace in which each Agent or Unit can have a page with the same name as its main page but prefixed with ‘Events:’. These pages can have subpages if the number of relationships gets too big for one page. This was absolutely necessary once I decided to include meetings, because MPs in the Long Parliament could sit in the Commons on very many days, whereas the number of combat events that a person or unit could be involved in was likely to be smaller. The subobjects have a property for an entity’s role in an event, so it’s now possible to record who was killed, wounded or captured in a battle. The pages for combat events have queries for casualties and prisoners, as well as for all participants. For example, see the query results for casualties at Edgehill (nowhere near complete yet, but it demonstrates the potential).

I decided to abandon entering sides on a combat event page and recording which side was which. It was just too complicated and confusing. The main armies that took part in combat have the role ‘combatant force’ to distinguish them from lower level units that took part. This is used in a query on each combat event’s page which displays all combatant forces. In future, ‘combatant force’ could be split into separate roles for each side, but I’m not yet sure whether this is worth doing.

Coming next: more imports and testing. Highest priorities are testing units, manuscript texts and text sections on a bigger scale.