Daejeon, July 27–31
The proclamation of ever-new world literary canons remains a popular genre in the cultural sphere. Books and newspapers world-wide proclaim: The best literature of the 21st century! The best books of the last hundred years! Digital research on the reception of literary canons frequently draws on Wikipedia and Wikidata, including work by our own group (e.g., Hube et al. 2017; Fischer et al. 2023; Brottrager et al. 2025). The number of Wikipedia sitelinks per author or literary work has been established as a metric of canonicity, with QRank, the aggregated pageviews across all Wikimedia projects, as a more recent addition (Rohe et al. 2025). Previous work has also combined these metrics with other sources of reception data, such as the Google Knowledge Graph (Deijl et al. 2019) and Goodreads statistics like ratings and edition counts (Veleski 2020; Lippolis 2023), and explored their use as a “metric of spread or popularity” (Jacobsen et al. 2024: 725).
Because reception metrics drawn from Wikidata and Goodreads reflect well-documented geographic and gender biases (Melis et al. 2025; Jensen 2025; Shaik et al. 2021), they require careful contextualisation, for instance through geographic and gender metadata about the works and authors they describe. However, this metadata is often similarly biased and incomplete. This challenge highlights the need for an infrastructure for canon studies that centers context and interpretability and that contextualises not only the data but also the tools through which it is gathered.
Unlike previous studies, our focus is not on conducting a single case study. Rather, we present an infrastructural proposal for the systematic collection and enrichment of canon lists with diverse metadata, including provenance information to ensure interpretability and reproducibility as the underlying data evolves. To this end, we introduce Canon Shelf, a repository for collecting and annotating canon lists, alongside Canon Curator, a modular pipeline for enriching these lists with popularity metrics, geographic and gender data. Our goal is to enable the contextualisation of any canon list within the reception landscape of digital communities, from Goodreads to the Wikiverse and beyond.
The design of Canon Shelf and Canon Curator follows several key requirements: accessibility, enabling non-technical users to view, query, and contribute canon lists in a familiar format; extensibility and expressiveness, allowing those with technical expertise to extend the tools or query detailed provenance; and compatibility with a static-first web architecture. Because many existing data enrichment tools target relational data, are heavyweight, lack reproducibility or capture only workflow-level provenance, impeding interpretability, we built our own enrichment pipeline using Prefect, a Python-based workflow orchestration framework for general workflow management.
In the Canon Shelf repository, we publish digitised canon lists as simple tab-separated values (TSV) files with one row per work, including author name(s), title, publication year, and, where available, more specific information. We use OpenRefine to add identifiers for Wikidata, Goodreads and the German National Library’s Integrated Authority File (GND), followed by manual validation. Other identifiers can also be added. Each list is accompanied by a schema.org dataset description in JSON-LD format. This workflow represents our proposal for standardising the digitisation of canon lists for research purposes, preparing them for ingestion into our enrichment pipeline, Canon Curator.
Canon Curator follows an Extract-Transform-Load (ETL) structure: TSV files from Canon Shelf are parsed into data classes, enriched, and exported as JSON Lines, Turtle, or JSON-LD. The pipeline is controlled via a YAML file that selects enrichment sources and strategies. Current sources include Goodreads (reader statistics), Wikidata sitelinks and QRank (popularity metrics), and GND or Wikidata (geodata and author data). Available strategies are Keep all (return all results) and First success (return the first non-empty result).
The central entrypoint to run the workflow locally, on GitHub Actions or in the Prefect cloud is a Prefect workflow definition, which relies on a thread pool to execute tasks concurrently. Each task corresponds to a step in the pipeline: The models module defines a set of Python data classes that are used to represent objects used throughout a workflow run. The extract module reads in TSV files from Canon Shelf and parses the data into Python data classes. The enrich module defines the enrichment logic on several levels of abstraction: clients interact with enrichment sources and make HTTP requests; strategies interact with clients and parse returned data into data classes, strategy chains control the order in which strategies are executed, and enrichers run the strategy chain over the input records. The strategies submodule is intended to be easily extensible by researchers with varying levels of coding expertise. The load module currently supports export to JSON Lines, readily importable into a Pandas dataframe, Turtle, and JSON-LD, which offer a lightweight semantic layer amenable to SPARQL queries and exposure as static assets. The validate module validates the graph upon export via SHACL shapes. The enrichment pipeline collects provenance information on the workflow level for reproducibility and the statement level to facilitate interpretation.
The design of our data model was guided by a set of competency questions provided by domain experts. Its primary goal is to facilitate the interpretation of enrichment data by making provenance explicit. To ensure semantic coherence and to keep the design lightweight, we deliberately restricted the model to a small set of established ontologies and excluded an additional CIDOC CRM or FRBRoo/LRMoo layer. Only a few domain-specific classes are introduced: CanonList, defined as a subclass of dct:Collection, represents the canon list itself. Work is defined as a subclass of dct:BibliographicResource and represents a literary work as it appears in a given canon list. EnrichmentRecord represents the provenance of data retrieved from an enrichment source and is defined as a subclass of prov:Entity. Activities that produce EnrichmentRecords are described by EnrichmentActivity, a subclass of prov:Activity, and its subclasses EntityReconciliation and MetadataEnrichment. Author, representing an author of a work, is defined as a subclass of dct:Agent. Location captures geolocations represented either by latitude and longitude or by a reference to an authority record, and follows an ontology design pattern for place entities (Gangemi n.d.).
A corresponding set of properties captures the various relations: hasEnrichment links statements about works and authors to the corresponding enrichment records; hasMetadata links the dataset description to the canon list. Geographical information is handled through geolocation, whose range is restricted to Location. Its subproperties authorBirthPlace, workOrigin and assumedGeolocation differentiate author- and work-related geodata as well as provenance-uncertain attributions. Gender information is modeled via the property gender and the subproperties recordedGender, assumedGender, and selfIdentifiedGender. The subproperties of gender and geolocation serve as indicators of differing provenance even for queries where provenance information is not explicitly retrieved. Lastly, the properties ratingValue, ratingCount, qRank, sitelinkCount, and popularityMetric are used to represent reader statistics and popularity metrics.
The model builds on established design patterns, such as the aforementioned place pattern, the subactivities pattern (Moreau and Groth 2013: 46f.), and the Distributed Provenance Model proposed by Wittner et al. (2022).
To demonstrate Canon Curator’s capacity for exploratory analysis, we examine a list published by German weekly “Der Spiegel” in March 2025 containing the 100 “best books” published between 1925 and 2025. Enriching these records took about five minutes.
Building on the enrichments, users can look for potential recency effects. For example, users may explore whether older works tend to have higher sitelink or Goodreads rating counts than more recent ones.
Users may also explore how indicators of encyclopaedic notability, such as Wikipedia sitelink counts interact with user ratings as found on Goodreads.
Users may further wish to move to a more qualitative analytical mode to investigate outliers, for instance works that are included in the list despite low sitelink counts, low Goodreads rating counts and low average rating scores, and investigate potential criteria for inclusion of works in a canon as well as dynamics of reception.
The statistical indicators can also be contextualised with geodata, gender data, and associated provenance information, providing a starting point for investigating bias and questions of inclusion in canon formation. This enables questions such as: How diverse is a given canon? Are works from outside Europe and the US included despite low canonicity indicators, or must they “outperform” European works to be included? Provenance information is essential here, making explicit what “diversity” means in the context of enrichment data, for instance, how “European” is defined (e.g., by the country of origin associated with a literary work, or the place of birth of the author) and which genders are represented (e.g., genders other than male and female are inconsistently categorised as “unknown” in the GND).
With Canon Shelf and Canon Curator, we provide an infrastructure that situates any canon list within the broader landscape of digital encyclopaedic and reading communities. For literary studies, this offers a systematic way to examine how works circulate, gain visibility, and accrue authority across different digital platforms while also enabling the critical deconstruction of ever-recurring canon declarations.
Our example demonstrates that combining multiple indicators, such as QRank, sitelinks, and Goodreads rating counts, enables a more nuanced characterisation and comparison of canon lists, revealing patterns of popularity, reception, and representation. These metrics represent only an initial subset; further indicators and enrichment sources can easily be integrated. To enhance accessibility for researchers and broaden the pipeline’s applicability, we also plan to develop a web interface, an API, and a SPARQL endpoint.
The code for Canon Curator can be found at https://github.com/temporal-communities/canon-curator, and the data model is available at https://github.com/temporal-communities/canon-curator/blob/main/src/canon_curator/resources/ontology.ttl. The wiki of the repository contains the competency questions that guided the development as well as diagrams of the data model and project architecture https://github.com/temporal-communities/canon-curator/wiki. Decisions regarding the project architecture are documented in the form of architectural decision records: https://github.com/temporal-communities/canon-curator/tree/main/docs/adr. The Canon Shelf, our repository of literary canons in machine-readable format, is available at https://github.com/temporal-communities/canon-shelf.
Lisa Poggel: Conceptualization, Methodology, Software, Writing Laura Untner: Conceptualization, Methodology, Writing Viktor J. Illmer: Conceptualization, Visualization, Writing Jonas Rohe: Conceptualization, Data curation, Writing Frank Fischer: Conceptualization, Data curation, Writing