Enhancing a digital library of Chinese with Large Language Models

[Extended abstract for a paper presented at DH2026]

Introduction

Large Language Models (LLMs) offer exciting opportunities for automating a range of tasks relevant to digital libraries which would not have been possible at a comparable scale prior to their development (Parandjuk and Ress, 2025). This paper presents results of concrete integration of Large Language Models into an existing widely-used digital library and scholarly database of premodern Chinese writing, the Chinese Text Project (Sturgeon, 2019). The main contributions of this paper are: 1) a practical workflow for leveraging generative AI for historical languages in crowdsourced contexts and scholarly digital libraries; 2) quantitative evaluation of using fine-tuning to resolve commonly observed types of LLM-induced error in the domain of translation of premodern primary sources; 3) workflows and evaluations of novel approaches using existing textual annotations to improve the accuracy of LLM outputs.

Background

The Chinese Text Project is an open access digital library that has been online since 2005, primarily containing early published and manuscript editions of Chinese written works. These are collected firstly as page images, currently totaling over 36 million pages, and transcribed content created through a combination of automated alignment (Sturgeon, 2017), Optical Character Recognition (Sturgeon, 2018), and crowdsourcing (Sturgeon, 2022), and currently amounting to over 7 billion characters. These include over 46,000 texts and editions, by authors spanning much of China’s recorded history from around 1000 BC through to the early 20th century. The vast majority of this collection is written in Classical or Literary Chinese, and only a very small proportion of it has previously been translated into any other language. Modern readers – even if skilled in the language itself – may frequently lack important context about entities mentioned in a text, such as a dynastic history, that would have been obvious to a reader at the time the work was composed, but would now be something only a specialist in that particular subject area or time period would be likely to have heard of. While a majority of users of the system are native Chinese speakers, a substantial minority are native speakers of English or other non-Chinese languages, for whom reading aids and translations are of particular benefit.

For this reason, reading aids and translations have been part of this library since its creation.[1] Nevertheless, of the very small fraction of the corpus that has ever been translated into any language, only an even smaller subset is in the public domain or available for reuse through publication under an open license.

Reading aids provided consist of linked dictionary data, as well as named entity annotations. The latter are also used to provide disambiguation for same-named entities (e.g. to distinguish two Qing dynasty officials both named “Yu Chenglong”); this disambiguation can be challenging to perform even for human annotators, as disambiguation decisions rely upon further data on each of the candidate entities (e.g. known facts about each of two same-named persons, together with the context in which the name to be annotated appears). Relevant historical data is extracted from annotated texts and stored in a knowledge graph to record known information about entities; in the case of well-known historical entities, Wikipedia articles are linked to the entity records to aid in disambiguation, and provide human-readable summaries and contextualization. At present, 30% of entities (out of a total of around 90,000) have a corresponding article in Chinese Wikipedia, and less than 6% in English Wikipedia.

Entity summarization

Although only a small part of the collection as a whole, the Chinese Text Project includes a large number of key historical sources, such as the official dynastic histories, private histories, diaries, and local gazetteers. Many of these sources include passages in Classical Chinese that provide detailed “definitional” information about an entity, as occurs in the “biographies” section of many Chinese histories, where the work describes what the author considered to be the important facts about an individual that should be recorded for posterity. Notably, for less well-known entities in particular, it is common for an encyclopedia article to cite and rely on precisely these passages – either because these are the only known source, or the most conveniently accessible one.[2] In this section, we automatically retrieve relevant passages, and create multilingual human-readable summaries of annotated entities for which no corresponding Wikipedia article exists.

While current LLMs perform remarkably well on many styles of Classical Chinese, in creating these summaries we identify and address two persistent types of error:

  1. Errors of transliteration. In creating English entity summaries, transliteration from Chinese characters into Latin characters is frequently required to complete the task. While Hanyu Pinyin is most commonly used today, unless specifically trained to generate this type of Romanization only, LLMs in fact produce a mixture of non-standard and/or incorrect Romanizations for proper names.
  2. Incorrect contextualization of dates. Mapping from dates expressed in the traditional Chinese calendar system to the Julian or Gregorian calendars is a complex task. LLMs will have processed during training many documents that include a specification of a Chinese date, followed by its corresponding date in another calendar – e.g. “6th year of Qianlong (1741)” or “The Bingshen day of the first month of the first year of Qianlong (12 February 1736)”. In practice, we observe that while LLMs typically generate somewhat plausible-looking contextualized dates, with the exception of dates at the granularity of a year, the generated dates are almost always incorrect.

We address the first of these by supervised fine-tuning based on pairs of Romanized Chinese proper names. To do this, we sample manually curated data from the China Biographical Database (Chen and Wang, 2022), which contains names in both Chinese and Pinyin Romanization for over 600,000 historically attested Chinese individuals, and use this to generate synthetic Chinese and English sentence pairs that include at least one proper name requiring Romanization (Figure 1). We apply supervised fine-tuning to Qwen3-32B (Yang et al., 2025), and demonstrate that this significantly improves transliteration accuracy, reducing the error rate by more than half from 25% to 12%.

Translate the following description of the person “孫長卿” into English. Passage: 孫長卿,字鳳池,臨猗人。
Sun Changqing, courtesy name Fengchi, was a native of Linyi.

Figure 1. Example generated prompt and target completion used for Romanization fine-tuning.

For contextualization of dates, we use a combination of prompt engineering and explicit contextualization. Where present, annotations are used to rewrite the source text to include the desired converted date before feeding this to the LLM (Figure 2).

Answering in English, based on the information in the following passage, write an encyclopedia article for the person “馬鳴蕭”. Passage: 馬鳴蕭,字和鑾,號子乾,青縣人。順治丁亥進士,歷官工部員外郎。有《惕齋詩草》。
Answering in English, based on the information in the following passage, write an English encyclopedia article for the person “馬鳴蕭”. Passage: 馬鳴蕭,字和鑾,號子乾,青縣人。順治丁亥(公元1647)進士,歷官工部員外郎。有《惕齋詩草》。

Figure 2. Example transformation of source text. The prompt has been abbreviated for clarity.

Aligned translations of primary sources

Contemporary LLMs typically have been trained with substantial volumes of data for multilingual translation tasks, and so can be expected to give strong performance on similar tasks. However, requirements for translation of historical primary source material in scholarly contexts often introduce additional constraints not present in the typical general-purpose translation task. In particular, for practically any scholarly use of AI generated translations of historical Chinese primary sources, a key requirement is likely to be verifiability – in particular, providing a reader of the translation with the ability to precisely identify the source of each part (e.g. sentence or phrase) of the translation, in order for the researcher to evaluate based on their own knowledge the adequacy of the translation. In this section, we evaluate two approaches to the creation of aligned translations – i.e. translations where units (e.g. sentences) of the translated output text are explicitly mapped to units of the source text – and use these to implement corresponding functionality in the digital library (Figure 3). We compare two approaches:

  1. Providing a complete text as a single prompt, inserting explicit markers between units we wish to align, and stating in the prompt that these markers should be maintained in the output. In this approach, the model has the full context when translating.
  2. Segmenting the input text into individual sentences, and treating the translation task as a turn-based sequence of inputs and generated outputs. In this approach, the model has access to its prior generated context (but not future context) when generating.

We observe that while initially promising, the first approach is prone to frequent errors, due to missed or corrupted markers. Modifications attempted included numbering the markers (in order to detect and recover from a missing marker in the output); this actually leads to worse results if the markers are sequentially numbered, but becomes viable if randomized identifiers are used for each marker. The second approach by contrast is incapable of producing misaligned translations, with the obvious disadvantage being the inability of the model to make use of future context – for example, producing less appropriate translations of a title due to being required to produce it without having seen the content of the text. This can be mitigated by providing some or all of the text as context prior to requesting translation of the first sentence.

Figure 3: A passage of text with a sentence-aligned LLM-generated translation, displayed as aligned passages (top), and aligned sentences (bottom). Two layers of the original text – a historical text (black) and a later interlinear commentary on that text (green) are visible, together with a search hit (red/blue), which is highlighted in translation in both views at sentence granularity.


[1] A concrete example is the Confucian Analects, with aligned English and Modern Chinese translations. https://ctext.org/analects

[2] For an example, see the Chinese Wikipedia page for 馬鳴蕭, which currently (15 December 2025) relies upon a single historical source text.

Bibliography

Chen, S., Wang, H., 2022. China Biographical Database (CBDB): A Relational Database for Prosopographical Research of Pre-Modern China. Journal of Open Humanities Data 8. https://doi.org/10.5334/johd.68

Parandjuk, J., Ress, S., 2025. The Use of AI Tools for Enhancing Digital Library Services With Information Architects as Responsible Partners, in: Digital Libraries Across Continents. Routledge.

Sturgeon, D., 2022. Crowdsourcing the Historical Record: Creating Linked Open Data for Chinese History at Scale. IJHAC 16, 50–63. https://doi.org/10.3366/ijhac.2022.0276

Sturgeon, D., 2019. Chinese Text Project: A Dynamic Digital Library of Premodern Chinese, Digital Scholarship in the Humanities.

Sturgeon, D., 2018. Large-scale Optical Character Recognition of pre-modern Chinese texts. International Journal of Buddhist Thought and Culture 28, 11–44.

Sturgeon, D., 2017. Unsupervised Extraction of Training Data for Pre-Modern Chinese OCR., in: FLAIRS. pp. 613–618.

Yang, A., Li, A., Yang, B., Zhang, B., Hui, B., Zheng, B., Yu, B., Gao, C., Huang, C., Lv, C., Zheng, C., Liu, D., Zhou, F., Huang, F., Hu, F., Ge, H., Wei, H., Lin, H., Tang, J., Yang, Jian, Tu, J., Zhang, J., Yang, Jianxin, Yang, Jiaxi, Zhou, Jing, Zhou, Jingren, Lin, J., Dang, K., Bao, K., Yang, K., Yu, L., Deng, L., Li, Mei, Xue, M., Li, Mingze, Zhang, P., Wang, P., Zhu, Q., Men, R., Gao, R., Liu, S., Luo, S., Li, T., Tang, T., Yin, W., Ren, Xingzhang, Wang, X., Zhang, X., Ren, Xuancheng, Fan, Y., Su, Y., Zhang, Yichang, Zhang, Yinger, Wan, Y., Liu, Y., Wang, Z., Cui, Z., Zhang, Z., Zhou, Z., Qiu, Z., 2025. Qwen3 Technical Report. https://doi.org/10.48550/arXiv.2505.09388

Posted in Uncategorized | Comments Off on Enhancing a digital library of Chinese with Large Language Models

HKADH 2026 workshop 1

[Download slides]

Setup:

Some parts of the material that will be covered in the session are available in step-by-step tutorials, which also include other details and examples and might be useful if you want to come back to the material later:

  • Recommended web browsers: Firefox or Chrome; Safari and Edge should also work for most tasks, but have not been fully tested.
  • Create a ctext account and log in
  • Check your e-mail (and spam folder) for an e-mail sent from the system, and click the link in the e-mail to validate your account.
  • Go to “Settings” at the bottom left, enter the API key specified in the live session in the box under “API key”, and click “Save”
  • Install the Text Tools plugin by opening this link, and then clicking “Install”
  • Install the Annotation plugin by opening this link, and then clicking “Install”
  • [Optional / for interest only] Install the experimental Graph plugin by opening this link, and then clicking “Install”

These parts of the ctext.org instructions should also be useful:

Related work:

Posted in Uncategorized | Comments Off on HKADH 2026 workshop 1

D-SEA Workshop

A workshop held as part of Charting the European D-SEA: Digital Scholarship in East Asian Studies.

[Download slides]

Setup:

  • Recommended web browsers: Firefox or Chrome; Safari and Edge should also work for most tasks, but have not been fully tested.
  • Create a ctext account and log in
  • Check your e-mail (and spam folder) for an e-mail sent from the system, and click the link in the e-mail to validate your account.
  • Go to “Settings” at the bottom left, enter the API key specified in the live session in the box under “API key”, and click “Save”
  • Install the Text Tools plugin by opening this link, and then clicking “Install”
  • Install the Annotation plugin by opening this link, and then clicking “Install”

Some parts of the material that will be covered in the session are available in step-by-step tutorials, which also include other details and examples and might be useful if you want to come back to the material later:

These parts of the ctext.org instructions should also be useful:

Some additional details and examples of the techniques used are available in the slides for “PKU Workshop 2023” (Chinese),

Lastly, some of these papers may be of interest – and please consider citing one or more of these if you use the system or its contents in your work (note that as the creator of ctext.org, I get no academic credit for any of the work that went into this project when it is cited solely by its URL):

Comments Off on D-SEA Workshop

CUHK workshop 2024

Useful links:

Demo materials to download:

Related tutorials:

Related publications:

Comments Off on CUHK workshop 2024

PKU workshop 2023

投影片下载

正则表达式
互文性和文体分析

Demo用的文本集

論語
墨子、荀子、莊子
投影上非常简单的向量例子
明代小說集
Alice in Wonderland
Merchant of Venice etc.

其它相关连接

https://text.tools/ctext/ 文本分析工具,直接在浏览器中使用。建议用Chrome或Firefox。

课后自习体验:
https://dsturgeon.net/texttools/
https://digitalsinology.org/text-tools/
https://digitalsinology.org/text-tools-regex/
https://digitalsinology.org/classical-chinese-dh-regular-expressions/

Comments Off on PKU workshop 2023

CUHK workshop

[Download slides]

Setup:

  • Recommended web browsers: Firefox or Chrome; Safari and Edge should also work for most tasks, but have not been fully tested.
  • Create a ctext account and log in
  • Check your e-mail (and spam folder) for an e-mail sent from the system, and click the link in the e-mail to validate your account.
  • Go to “Settings” at the bottom left, enter the API key specified in the live session in the box under “API key”, and click “Save”
  • Install the Text Tools plugin by opening this link, and then clicking “Install”
  • Install the Annotation plugin by opening this link, and then clicking “Install”

Some parts of the material that will be covered in the session are available in step-by-step tutorials, which also include other details and examples and might be useful if you want to come back to the material later:

These parts of the ctext.org instructions should also be useful:

Lastly, some of these papers may be of interest – and please consider citing one or more of these if you use the system or its contents in your work (note that as the creator of ctext.org, I get no academic credit for any of the work that went into this project when it is cited solely by its URL):

Comments Off on CUHK workshop

SPARQL querying for ctext.org data

The Chinese Text Project includes a Data Wiki, which creates and organizes machine-readable data about premodern entities such as people, written works, bureacratic offices, places, etc.

While this data can be searched from within the user interface itself, a more powerful and flexible method of searching is to query the data using the W3C standard query language SPARQL. This interface can be accessed at: https://sparql.ctext.org/; it is also possible to download the same data and run queries locally on your own computer using any graph database that supports RDF and SPARQL.

Referring to entities in RDF

There are two ways of querying data in the ctext RDF graph. The first, simpler approach uses only properties, entities, and literal values.

Prefix Equivalent Wikidata prefix Semantics
ctext: wd: Refers to an entity
claim: wdt: Refers to a property of a subject

For example, the RDF serialization of the data for 司馬光 (ctext:506404) contains the claim that the father of 司馬光 was 司馬池 (ctext:439713). This is expressed in the RDF data as:

ctext:506404 claim:father ctext:439713 .

Note that properties when used in this way (i.e. to connect a subject directly to an object) use the “claim:” prefix.
We can use this approach to query statements in SPARQL, by adding vairables for those pieces of data we want returned. For instance, we could ask for a list of all of the works that ctext knows about created by 司馬光 with the query:

SELECT * WHERE {
  ?work claim:creator ctext:506404 .
}

For convenience, the ctext RDF graph uses “rdfs:label” to assign exactly one label to each entity (i.e. the “default” name in the Data Wiki). So to show the names of the works in question, we can add an additional line to the SPARQL query:

SELECT * WHERE {
  ?work claim:creator ctext:506404 .
  ?work rdfs:label ?worktitle .
}

The same approach can be used for all other properties; for example, listing the titles that 司馬光 has held can be done in exactly the same way:

SELECT * WHERE {
  ctext:506404 claim:held-office ?office .
  ?office rdfs:label ?officetitle .
}

A limitation of this simple approach to querying is that it does not allow access to qualifiers (e.g. the “from-date” qualifier, used to state from what date a person held a particular title). The second, more flexible approach to querying allows this information to be included, by using an intermediary node between the subject and object, and connecting this intermediary node to any qualifiers present. Note that this representation of the data uses a different prefix for properties than the first approach.

Prefix Equivalent Wikidata prefix Semantics
cstat: p: Refers to a statement of a subject
cprop: ps: Refers to a property of a statement
cqual: pq: Refers to a qualifier of a statement

In this representation, the RDF serialization for 司馬光 (ctext:506404)‘s father being 司馬池 is now expressed using two edges and a blank node:

ctext:506404 cstat:father [
  cprop:father ctext:439713
] .

The advantage of this representation is that it is possible to record (and therefore query) qualifiers as well as properties. For instance, the claim that 司馬光 held the title of 資政殿學士 (ctext:179992) from the date 元豐七年十二月戊辰 (date:562206.7.12.5) is expressed as follows:

ctext:506404 cstat:held-office [
  cprop:held-office ctext:179992 ;
  cqual:from-date date:562206.7.12.5
] .

This means we can query this information also. To start with, we can reproduce the simple query to show titles held using this alternative representation:

SELECT * WHERE {
  ctext:506404 cstat:held-office ?statement .
  ?statement cprop:held-office ?office .
  ?office rdfs:label ?officetitle .
}

Now we can additionally ask for the from-date qualifier value:

SELECT * WHERE {
  ctext:506404 cstat:held-office ?statement .
  ?statement cprop:held-office ?office .
  ?office rdfs:label ?officetitle .
  ?statement cqual:from-date ?fromdate .
  ?fromdate rdfs:label ?fromdatedesc .
}

Dates in the ctext RDF graph are themselves nodes containing additional information (please refer to the RDF itself for detailed examples). We can additionally have our query output the Julian/Gregorian year/month/date of the dates in question, by requesting the “time:hasBeginning” (and, if we want to be precise, also the “time:hasDuration”) edges:

SELECT * WHERE {
  ctext:506404 cstat:held-office ?statement .
  ?statement cprop:held-office ?office .
  ?office rdfs:label ?officetitle .
  ?statement cqual:from-date ?fromdate .
  ?fromdate rdfs:label ?fromdatedesc .
  ?fromdate time:hasBeginning ?fromdateymd .
}
Comments Off on SPARQL querying for ctext.org data

AAS 2023

[Download slides]

Setup:

  • Recommended web browsers: Firefox or Chrome; Safari and Edge should also work for most tasks, but have not been fully tested.
  • Create a ctext account and log in
  • Check your e-mail (and spam folder) for an e-mail sent from the system, and click the link in the e-mail to validate your account.
  • Go to “Settings” at the bottom left, enter the API key specified in the live session in the box under “API key”, and click “Save”
  • Install the Text Tools plugin by opening this link, and then clicking “Install”
  • Install the Annotation plugin by opening this link, and then clicking “Install”

Some parts of the material that will be covered in the session are available in step-by-step tutorials, which also include other details and examples and might be useful if you want to come back to the material later:

These parts of the ctext.org instructions should also be useful:

Lastly, some of these papers may be of interest – and please consider citing one or more of these if you use the system or its contents in your work (note that as the creator of ctext.org, I get no academic credit for any of the work that went into this project when it is cited solely by its URL):

Comments Off on AAS 2023

Crowdsourcing the Historical Record: Creating Linked Open Data for Chinese History at Scale

International Journal of Humanities and Arts Computing

Abstract

An important part of the historical record of premodern China is recorded in historical works such as the standard dynastic histories. These works are a key source of knowledge about many aspects of premodern Chinese civilization, including persons, events, bureaucratic structures, literature, geography and astronomical observations. While many such sources have been digitized, typically these digitized texts encode only literal textual content and do not attempt to model the semantic content of the text. Similarly, while some of the historical data contained in some of these sources has been entered into specialist scholarly databases, an even greater proportion of the information does not yet exist in any machine-readable form. Producing such a machine-readable dataset of these materials requires the effort of many individuals working together due to the large scale of the task. This article introduces a crowdsourced approach in which annotation and knowledge base construction are carried out in parallel, with a knowledge base continually expanded through multi-user contributions to textual annotation immediately and automatically feeding back to provide improved assistance with subsequent annotation. The resulting knowledge base is dynamically exposed through Linked Open Data interfaces, creating a continually expanding machine-readable dataset covering around 3,000 years of recorded history.

Full paper: publisher site / preprint

Comments Off on Crowdsourcing the Historical Record: Creating Linked Open Data for Chinese History at Scale

ctext Data Wiki tutorial

Getting started

The Data Wiki is a crowdsourced graph database that contains information about entities (people, places, offices, written works, etc.) that are mentioned in premodern Chinese texts. Each “page” of the datawiki lists information about one entity – for example, 王安石 Wang Anshi, 樞密使 Shumishi, or the 明史 History of the Ming.

Every entity in the Data Wiki has its own unique identifier – this always consists of a string beginning with “ctext:”, followed by some sequence of numbers. This is important, because it allows the system to distinguish between things that can be referred to by the same name, and treat equivalently references to the same thing when different names are used for it. For example, the name “大順” could refer to either an era of the Tang dynasty, another possible name for the 天順 era of the Vietnam’s Lý dynasty, or the short-lived dynasty of 李自成.

Exercise:

The data wiki always displays the identifier for an entity at the top of the page, just below its title. You can search for entities by typing in the name an entity is referred to in the “Data Search” box at the left-hand side of the screen.

  • What is the identifier for office of 樞密使 Shumishi?
  • What is the identifier for the Ming dynasty person 楊俊 who died in 1457?

Properties and qualifiers

Apart from the identifier, all other data in the Data Wiki consists of “claims” about entities. Each claim connects:

  1. An entity (the subject of the claim)
  2. A property: an entity, which must first itself be defined (list of current properties)
  3. An object: either an entity, or a literal (usually a string, or a date)

Each row of an entity record (i.e. the table displayed when you look up an entity) represents one “claim” about that entity.

For example, the claim that the father of 諸葛亮 Zhuge Liang was 諸葛珪 Zhuge Gui is represented by the a claim using the “father” property, connecting:

  1. Subject: 諸葛亮 Zhuge Liang
  2. Property: father
  3. Object: 諸葛珪 Zhuge Gui

This corresponds to a machine-readable triple connecting three entities: ctext:82307 ctext:539391 ctext:167600 . This is closely related (though not identical) to the RDF representation of the same claim.

Each claim may also have one or more qualifiers (list of current qualifiers), each of which is again paired with a corresponding object. This allows additional contextual information to be added to a specific claim. For example, we might have a claim that 王珪 held the office of 參知政事:

  1. Subject: 王珪
  2. Property: held-office
  3. Object: 參知政事

If we also know from what date he held the office, we can qualify the claim with the qualifier “from-date” with the date from which he held the office as its object:

  1. Qualifier: from-date
  2. Object: 熙寧三年十二月丁卯

You can see how this claim – together with this qualifier to it – is displayed in the entity record for 王珪.

Within the user interface, we can query for entities that have a particular property value. This is done by entering a property name, followed by a colon, followed by the desired value. The value can be either a string, or an entity reference – e.g.:

held-office:協辦大學士

or alternatively:

held-office:ctext:319155

Note that “%” can be used as a wildcard to match any string – for instance to match any entity with “目錄” as part of its name, we can use this query:

name:%目錄%
Exercise:
  • Write a query to list all people who have held an office with a title “…總督”
Exercise:
  • Write a query to list all written works that are indexed in the 清史稿
  • Modify the query to list instead:
    1. all works that are indexed in both 清史稿 and 四庫全書總目提要
    2. all works that are indexed in the 清史稿 but not in 四庫全書總目提要
    3. all works that are indexed in the 清史稿 and mentioned in the text of the 四庫全書總目提要 – does this give the same result as query #1?

Working with dates

The Data Wiki (and other components of ctext.org) understand Chinese dates and can convert them to and from Gregorian/Julian calendar dates.

Exercise:
  • Try searching the Data Wiki for an historical date, such as “大順元年” or “天成四年五月四日”. Try clicking through the two alternative choices given in the “Resolved date”, “Era/ruler”, and “Associated rulers” columns
  • Experiment with other date references

Although dates in this system are not strictly entities, they have analogous identifiers that begin “date:…”. These distinguish explicitly between different eras that happen to share the same name, and record the content of dates in different historically used formats in ways that make them machine processable. For example, in the exercise above, “天成四年五月四日” is ambiguous – even if we exclude the possibility of one of the three candidate eras on the grounds that it had no fourth year. The two possiblities have different identifiers: date:794498/4/5/+4 (if we mean the Later Tang/Min 天成), and date:587624/4/5/+4 (if we mean the Lý dynasty 天成).

It’s important to note that “the same day” can be referenced in different ways, and these have different identifiers. For example, we could specify these same dates equivalently (but with different semantics) using 干支 for the year, day, or both:

All four representations have different identifiers that directly mirror their semantics, but will be treatedly as equivalent dates when searching texts because they resolve to the same day in history.

Exercise:

By looking up the data for 安祿山:

  1. According to the record in the 新唐書, in what month did 安祿山 rebel against the Tang dynasty?
  2. Using this information, locate the passages in the 新唐書 and 舊唐書 that explicitly reference a) this month, and b) this year.
Creative Commons License
Comments Off on ctext Data Wiki tutorial