Using ThinkBase for historical reasoning - The Cursus Honorum

Historians spend a great deal of their time reasoning about past events. Such reasoning relies on spatial, temporal and logical processes. Having reasoned, a historian, at best, leaves a textual model of their thought processes in a monograph. When new evidence arises this must be re-evaluated, assuming it is noticed that the conclusion depended on now-changed data. What if this reasoning could be easily formalised as a dynamic computer model and re-evaluated just by introducing the new data?

We'll examine the application of ThinkBase to such problems. The example of the Cursus honorum of ancient Rome will be used to demonstrate temporal and logical reasoning and the evaluation of hypotheses of interest to historians.

cursus honorum graph

The Cursus Honorum was the path a candidate could take to power in Ancient Rome. Roman citizens were divided into classes, and which roles you could get very much depended on your class and time served in previous roles in a defined system. Like all such systems - for instance current military ranks - the system changed over time. Roles came and went. We've used ThinkBase to capture this complexity and the rules that determined how long you had to serve in one post before you could take another. Like promotion in the military now, qualifying for a role didn't mean you'd get it, but the Knowledge graph can capture the rules and structure.

Reasoning in time

Every object in ThinkBase can have a lifetime. When reasoning with historical times, the start and end of a lifetime can be very vague. ThinkBase permits the definition of fuzzy times. Using these you can capture date ranges or more complicated representations of uncertainty.

ThinkBase has it's own internal time representation to handle BCE as well as AD times for historical use.

Using these fuzzy lifetimes, ThinkBase can ensure, at a given past time, that only the nodes that existed at that time are used in an evaluation. Many problems in Historical research can be clarified in this way.

Reasoning with facts and intervals

ThinkBase makes it possible to isolate the rules applied to a particular node or type of node. You do this by creating rules on the node itself. This makes it easy to define the rules related to, say, becoming a Praetor in the example above.

These rules can handle a wide range of data types, in well-defined and fuzzy versions. These include categories and time periods, as used in this example.

Knowledge States and Knowledge Graphs

The knowledge graph represents the general case for all candidates for roles in government while the Roman culture existed.

A Knowledge State represents an individual candidate, which, given a time to make the evaluation, applies the candidate to the Knowledge Graph.

When making a query against the KG, the system creates a Knowledge State, and stores them for future re-use.

Using the KG for historical reasoning

This Knowledge Graph makes it possible to answer convergent questions like:

  • Could Julius Caeser have been a Proquaestor in 57 BC?
  • Could Pompeius Magnus have been a Consul in 70 BC?

It is also possible to answer divergent questions like:

  • What roles could Julius Caeser aspire to in 67 BC?
  • At what future dates would Pompeius Magnus expect to receive promotion in 80BC?


An error has occurred. This application may no longer respond until reloaded. Reload 🗙