• Data Sanctorum: The Corpus Kalendarium Database of Devotional Calendars
Abstract

The Book of Hours was the popular personal religious manuscript of the medieval period, and the vast majority of the surviving examples begin with a devotional calendar of saints and feasts. The Corpus Kalendarium Database, or CoKL DB, is a database of these manuscripts and their calendars, recording the saints and feasts, and cross linking them to allow querying by metadata of the manuscript or calendar itself, or the presence and rank of a particular observance or group of observances. This paper presents an introduction to the underlying relational database, the user interface, and some of the ways that this data-driven system can present manuscripts which would be impossible with the physical objects.

Keywords

calendar, medieval, relational database, manuscript studies, book of hours

The Book of Hours, a compendium for personal Christian devotion and one of the most commonly produced books of the medieval period in Europe, contains a variable combination of religious texts.1 Commonly, books of hours contain Gospel Lessons, Hours of the Virgin Mary and perhaps of the Cross or of the Passion, the Seven Penitential Psalms, a Litany of the Saints, and the Office of the Dead, with numerous additions and modifications possible throughout.2 In the vast majority of cases, the book begins with a devotional calendar listing the feast days of saints and other events of the liturgical year, the data for calculating the date of Easter, and other annual occurrences.3

The Corpus Kalendarium Database, or CoKL DB for short, is a relational database of these devotional calendars that allows them to be browsed, [End Page 338] compared, and mined for connections. It is freely available at http://www.cokldb.org. The logo of the project is a small lead- alloy pilgrim’s badge of a cockle shell from Santiago de Compostela.4

Figure 1. The homepage of the system, with links to browse by saint name, date, or manuscript. The black menu bar at the top is consistent throughout the site. .
Click for larger view
View full resolution
Figure 1.

The homepage of the system, with links to browse by saint name, date, or manuscript. The black menu bar at the top is consistent throughout the site. http://www.cokldb.org.

Database

Although the end user is presented with an interactive website, the core of the project is the underlying data, all of which is stored in a MySQL database consisting of approximately 140,000 rows spread across nineteen principal tables. The first part of the database records books of hours as manuscripts, describing their current owners and shelfmarks, dating, origin, and the liturgical use of the Hours of the Virgin, if known. Each manuscript record [End Page 339] is then linked to a metadata record for the calendar, including its use, folios within the manuscript, language, and presence or absence of other calendrical data, including the Golden Numerals and Dominical Letters used for calculating the date of Easter, and the Roman dates. Finally, the entries in that particular calendar are recorded, along with color and ranking information, and linked to a table of saints. The data is rendered and displayed to the user via the public website using a combination of back- end page generation and jQuery dynamic loading.

Figure 2. The entity relationship diagram of the underlying MySQL database as of January 2021. The red links indicate tables and constraints for the manuscript and calendar metadata; green, the calendar entries; and blue, the master records of all known saints and feasts.
Click for larger view
View full resolution
Figure 2.

The entity relationship diagram of the underlying MySQL database as of January 2021. The red links indicate tables and constraints for the manuscript and calendar metadata; green, the calendar entries; and blue, the master records of all known saints and feasts.

Unlike previous work on saints and liturgical calendars, the focus has not been to establish the “correct” date of a feast or observance, or to map [End Page 340] them to cultic centers based on historical evidence, but rather to record the feast days precisely as they were written into the calendars.5 This recording of de facto observances preserves errors and variant dates critical to tracing the manuscripts, which would be lost by “correcting” the entries. It also, as a

Figure 3. The original page for 1–16 July from Free Library of Philadelphia Lewis E 91 and the calendar as rendered from CoKL DB. The pale blue days of the month on the far left of the image are a feature of the onscreen display, added for readability by the system. In this calendar, saints of normal import are in black, highly ranked saints are in red, and saints of medium, or slightly elevated, rank are black with a red underline, all of which has been reproduced onscreen. .
Click for larger view
View full resolution
Figure 3.

The original page for 1–16 July from Free Library of Philadelphia Lewis E 91 and the calendar as rendered from CoKL DB. The pale blue days of the month on the far left of the image are a feature of the onscreen display, added for readability by the system. In this calendar, saints of normal import are in black, highly ranked saints are in red, and saints of medium, or slightly elevated, rank are black with a red underline, all of which has been reproduced onscreen. http://www.cokldb.org/p/v100/ms/322.

[End Page 341]

Figure 4. The table of manuscripts filtered to show only the manuscripts in collections in Massachusetts, made in Italy, and containing calendars in Latin. From this view any manuscripts can be selected and compared. .
Click for larger view
View full resolution
Figure 4.

The table of manuscripts filtered to show only the manuscripts in collections in Massachusetts, made in Italy, and containing calendars in Latin. From this view any manuscripts can be selected and compared. http://www.cokldb.org/list_manuscripts.html?holding_state=Massachusetts&source_country=IT&calendar_language=Latin.

Figure 5. An excerpt of the calendars of these four manuscripts displayed in adjacent columns, aligned by date. This sample of the calendars contains the first ten days of the month of August, from the Feast of St. Peter in Chains through St. Lawrence. Note that the first calendar displayed on the left has only Dominical Letters and Golden Numbers, whereas the second one has the full Roman- style dates. .
Click for larger view
View full resolution
Figure 5.

An excerpt of the calendars of these four manuscripts displayed in adjacent columns, aligned by date. This sample of the calendars contains the first ten days of the month of August, from the Feast of St. Peter in Chains through St. Lawrence. Note that the first calendar displayed on the left has only Dominical Letters and Golden Numbers, whereas the second one has the full Roman- style dates. http://www.cokldb.org/compare_manuscripts.html?id=46&id=138&id=147&id=510.

side effect, creates an onomasticon of saints’ names by recording the same name in multiple languages and dialects over a period of centuries. Once stored in the database, the manuscript and calendar metadata can be displayed along with the calendar entries; these are rendered with an attempt to preserve original colors and dating columns. [End Page 342]

Manuscripts can be browsed and winnowed down to allow a user to select for the criteria important to their research. Multiple calendars can then be compared side by side. Any of the fields that appear in brown with an underline—location, source, use, or language—can be used as facets to filter the results.

For a user interested in starting from a saint or feast, records may be browsed by both name and date. All recorded entries for a particular date or name can be displayed, and the relevant manuscripts chosen to compare as above. While comparing manuscripts or images of manuscripts side by side is possible without a system such as CoKL, it would be nearly impossible to see dozens of entries for the same saint without such a database- driven system.

Figure 6. Details for the feast of St. Aldhelm of Sherbourne, celebrated on 25 May. The left side has all of the known entries, in original color and spelling, in a single column, and the right side has a graph of date and rank distributions. Apart from a single example with the feast on 24 May, probably a scribal error, all the witnesses have the same date, but a range of ranking. Due to the scarcity of medium or high ranking, one entry for each, a high correlation might exist between those two and with any other calendars ranking him above normal. .
Click for larger view
View full resolution
Figure 6.

Details for the feast of St. Aldhelm of Sherbourne, celebrated on 25 May. The left side has all of the known entries, in original color and spelling, in a single column, and the right side has a graph of date and rank distributions. Apart from a single example with the feast on 24 May, probably a scribal error, all the witnesses have the same date, but a range of ranking. Due to the scarcity of medium or high ranking, one entry for each, a high correlation might exist between those two and with any other calendars ranking him above normal. http://www.cokldb.org/p/v100/saint/2690.

[End Page 343]

Size of the System

Many features of the system, including dialectical evolution of names, geographic distribution of uncommon saints, and inherited errors, are only recognizable with a suitably large dataset. Although there is a constant influx of new manuscripts and calendars into the system, as of 1 February 2021 the database contained:

Manuscripts 566
Calendars fully transcribed 351
Individual entries1 81,155
Collections / libraries 102
Locations of manufacture 111
Liturgical uses 51
Distinct calendar localities 72

1. A calendar may have multiple entries on a single date if there are multiple feasts recorded on a that day, thus BnF Latin 1183, the Hours of Anne of Burgundy, a very well populated calendar, has 401 entries.

Due to uncertainty in the dating of many manuscripts, ascribing a particular date range to the manuscripts represented poses a challenge. The earliest entry is from the second half of the eleventh century, and the latest manuscript known is from the late nineteenth century, though its calendar has not yet been transcribed. The histogram in figure 7 represents the dates of the manuscripts as a probability distribution by decade. For example, the Bodleian’s Canonici Liturgical 277, dated to 1051–1100, is represented by a probability of 0.2 for the decades starting 1051, 1061, 1071, 1081, and 1091. Although this results in hypothetical “fractional manuscripts,” it removes the common problem with plotting uncertain dates—namely, a large number of items dated to the first year of a meaningful interval, century, quarter century, and so on. [End Page 344]

Figure 7. Histogram of the dates of all calendars in the system, grouped by decade.
Click for larger view
View full resolution
Figure 7.

Histogram of the dates of all calendars in the system, grouped by decade.

Strengths of the System: Examples

The nature of the tables, having each calendar entry linked to rank, to saint, and to date, permits many questions to be asked of the same data. A simple query could ask for calendars with an abbot- saint on the fourth of June, and find several examples of St. Walter of Fontenelle, providing assistance in reading a damaged calendar page.

The records of color and rank permit one to compare the minute details of calendars, finding where a particular saint is given pride of place as opposed to being part of the great communion of saints. An example of this fine- grained sieve approach uses the feast of William of Bourges on 10 January. His feast displaces that of the more popular Paul the Hermit on that date on calendars from across northern France, seventy- two in total, but is only given a high rank on three calendars known to be from Bourges (Free Library of Philadelphia, Lewis E 87; the Hours of Agnès le Dieu, in a private collection in Switzerland, catalogued as Armarium Codicum Bibliophilorum Cod. 102; and the Victorines- d’Auxy Hours, Philadelphia Museum of Art, [End Page 345] acq. 19456515) and one from Troyes (Paris, Bibliothèque nationale de France, MS Lat. 924).6

The preservation of the original spelling, as much as possible, makes it possible to compare spelling and dialect. Comparing the beginning of August for four calendars in French, from 1260–1300 (Baltimore, Walters Art Museum, MS W.86), 1355–1395 (Warsaw, Biblioteka Narodowa [National Library of Poland], Rps BOZ 29), 1425–1475 (Wellington, Alexander Turn-bull Library MSR- 02), and 1561 (Vatican City, Biblioteca Apostolica Vaticana, Vat. lat. 14936), shows the evolution of the name and title for Saints Stephen, 1 August, and Lawrence, 10 August. In this sample the columns are in chronological order from left to right.

Figure 8. The four named manuscripts as they appear in the system. The metadata for the calendar and the entries apart from 1–12 August have been edited out of this image for clarity, but the entire view can be obtained online. .
Click for larger view
View full resolution
Figure 8.

The four named manuscripts as they appear in the system. The metadata for the calendar and the entries apart from 1–12 August have been edited out of this image for clarity, but the entire view can be obtained online. http://www.cokldb.org/compare_manuscripts.html?id=256&id=688&id=22&id=338.

[End Page 346]

Figure 9. A match for a hypothetical calendar. The left column shows saints picked for the first five days of the year, starting with the Feast of the Circumcision on 1 January and continuing through St. Genevieve on 5 January. On the right are identifiers for the four calendars that match this unusual Parisian variant model, with the standard checkboxes and comparator buttons. “January 6” identifies the next date to be input by the user, and the dropdown provides all possible saints with at least one matching witness, or the option to skip if there is no match or the exemplar has a blank or missing entry. .
Click for larger view
View full resolution
Figure 9.

A match for a hypothetical calendar. The left column shows saints picked for the first five days of the year, starting with the Feast of the Circumcision on 1 January and continuing through St. Genevieve on 5 January. On the right are identifiers for the four calendars that match this unusual Parisian variant model, with the standard checkboxes and comparator buttons. “January 6” identifies the next date to be input by the user, and the dropdown provides all possible saints with at least one matching witness, or the option to skip if there is no match or the exemplar has a blank or missing entry. http://www.cokldb.org/match_manuscript.html?saintstr=1168-1315-1428-1471&dateid=6&saint=1426.

One of the obviously useful, but internally complex, features of the CoKL system is the tool for finding known calendars that match one in an external exemplar. Starting with the entry for 1 January, a dropdown menu of saints allows a user to pick entries matching the calendar in hand, and the system reports back all of the manuscripts that contain an identical entry. Currently, this does not take into account ranking information, but it does allow for partial matching using the skip operator. This disregards a day in the matching calculation, handling instances with a blank or missing entry, or an unmatchable saint.

Conclusion and Future Steps

The blessing, and the curse, of many Digital Humanities projects is that they have no clear end point, and in that respect CoKL is blessed. There is [End Page 347] ongoing work to add more manuscripts, both to increase the depth of exemplars for common uses, such as Paris, and to expand the breadth into more unusual sources, such as particularly early exemplars or manuscripts from the German sphere. Recent work has included incorporating manuscripts from the Polona website, containing manuscripts from libraries across Poland.7 One future goal is to use machine learning to map a mathematical distance between calendars, to allow better clustering of similar calendars and possibly automatic localization of new or unidentified calendars. This would also permit the calendar matching feature to use improved, or fuzzy, logic, as today the system simply creates a series of match/no- match filters to identify calendars similar to the exemplar. The matches would hopefully be more accurate and consider patterns not obvious to the human reader, bringing out heretofore hidden details regarding the original creation of books of hours, their evolution, and their geographic spread. [End Page 348]

Aaron Macks
Harvard Business Publishing, Harvard University

Footnotes

1. For an introduction to the genre, see Roger S. Wieck, Time Sanctified: The Book of Hours in Medieval Art and Life (Baltimore: Braziller, 1988), or Sandra Hindman and James H. Marrow, eds., Books of Hours Reconsidered (Turnhout: Brepols, 2013). For a more visual introduction, Fanny Faÿ- Sallois, Treasury of Hours: Selections from Illuminated Prayer Books (Los Angeles: The J. Paul Getty Museum, 2005) provides an iconographic analysis of the common motifs.

2. For a sample Book of Hours, see Glenn Gunhouse, Hypertext Book of Hours (2019), http://medievalist.net/hourstxt/home.htm.

3. Of the 567 Books of Hours entered into the database before 26 January 2021, 478, or 84 percent, retain their calendars.

5. Herman Grotefend’s monumental late nineteenth- century catalogue of saints and observances is the classic work in this regard: Zeitrechnung des deutschen Mittelalters und der Neuzeit (1891; repr., Aalen: Scientia Verlag, 1984). Calendoscope, a website of the IRHT in France (2013-), provides digital access to a number of calendars extracted from the Bollandist- produced Catalogus codicum hagiographicorum latinorum antiquiorum saeculo XVI qui asservantur in Bibliotheca nationali Parisiensi (Brussels: Société des Bollandistes, 1889–93) and Grotefend’s Zeitrechnung des deutschen Mittelalters, though without the ability to cross between the two bodies of source material: http://calendoscope.irht.cnrs.fr/ (accessed 16 February 2021).

6. Paul the Hermit is found on 10 January in 196 of 345 entries recorded for that date.

7. The Polona website is at https://polona.pl/.

Share