UrNet
Author: Dr. Christian Knüpfer, Clemens Beck, M.A.
This proof-of-concept study investigated how networks can be generated semi-automatically from textual data (charters). The approach used provides a formal representation of knowledge extracted from the documents in a knowledge base. By specifying explicit criteria, networks are automatically generated from the knowledge base, which can then be analyzed and interpreted by the historian.
As a historical case study, the German aristocratic society during the reigns of the emperors Frederick Barbarossa (1152 - 1190) and Henry VI (1190 - 1197) was investigated through social network analysis.
The historical results of the project will be incorporated into Clemens Beck's doctoral thesis (see project description). The proof-of-concept study was presented at the International Medieval Congress 2018 in Leeds (see presentation by C. KnüpferExternal link and C. BeckExternal link).
Specifically, the workflow used in the project is as follows:
1. Data collection (manual curation)
The data collected from the charters were stored in an Excel list.
For this purpose, a total of 2068 charters from the period between 1160 and 1199 were evaluated. Of these, one third were issued at the imperial court and one sixth at the courts of the German archbishops. The remainder is distributed among the other imperial princes, as can be seen in the chart
Only these charters were included in which two or more high-ranking members of the high medieval noble society (secular princes from the rank of counts as well as abbots, bishops and archbishops) as well as participated in the political process of issuing the charter (by witnessing, intervening or petitioning) and were mentioned by name. This means that they had been personally present at the issuer's court and had stayed there for a longer period of time.
When evaluating the charters, four different groups of people are distinguished: The maker of a charter, the recipient, the intervener, and the witnesses of the charter. A total of 990 persons were included who were mentioned at least once in at least one charter. For further historical research, each person was assigned to a historical region such as Bavaria or Lower Lorraine and, in most cases, to one of a total of 170 families.
2. Transfer into knowledge base (script)
The entries from the Excel list were read out using a Python script and transferred into a Prolog knowledge base.
3. Generation of networks
To generate a network, criteria must be specified that define what the nodes of a network are and when an edge exists between two nodes. These criteria can then be translated into corresponding Prolog rules. Prolog's inference mechanism can then be used to generate networks according to these criteria. The networks are then written to a CSV file for further analysis. An example of such a rule is:
There is an edge between two people in the network exactly when they are listed as joint witnesses to a document.
For the generation of a network, the underlying charters can additionally be filtered by certain properties, such as the date of issue and the issuer of the charters.
In the project, rules for certain relationship types have already been predefined, e.g. co-certification (see example above) and loyalty (relationship between witness and issuer of a charter).
For example, for the relationship co-certification, almost 50,000 connections could be generated from the 2068 charters and 990 persons.
4. Analysis and visualization of the networks
From this network data, Gephi was used to generate the corresponding networks, which represent the various groupings in the high medieval nobility, as can be seen here, for example: