Overview

This is a summary of the investigation into the relationship between DTS (Distributed Text Services) and CTS (Canonical Text Services protocol).

The details were found at the following page.

https://distributed-text-services.github.io/specifications/FAQ.html#what-is-the-relationship-between-dts-and-cts-are-they-redundant

(Machine Translation) Japanese Translation

What is the relationship between DTS and CTS? Are they redundant?

DTS (Distributed Text Services) was developed with inspiration from and influenced by the Canonical Text Services (CTS) protocol. CTS made it possible to provide many classical and canonical texts encoded in TEI format as machine-processable Linked Open Data. However, the CTS API is closely tied to the CTS URN identifier system and does not accommodate citation systems used in modern content or other forms of writing such as papyri and inscriptions. Additionally, this API does not conform to the latest community standards for Web APIs.

DTS was created to address these limitations and enable standardized, machine-processable operations across various texts. DTS is a community-driven effort that defines a hypermedia-driven Web Application Programming Interface (API) for treating text collections as machine-processable linked data. The DTS specification does not prescribe how collections are organized, what types of persistent identifiers are used for references, what ontologies are used for metadata, the structure of the texts themselves, or how the API is implemented. It aims to be as generic as possible, providing simple operations for collection navigation, text navigation, and text content retrieval. DTS defines standard, easy-to-adopt specifications aimed at providing a standard way to share and reuse text collections as machine-processable data.

Additional Information

For reference, below are machine translations of other sections from the FAQ.

DTS Frequently Asked Questions

What is DTS?

DTS is an API for collections of TEI documents.

Why does TEI need an API for collections?

DTS allows clients to interact with collections of TEI documents in a standard way. With a standard API, users can access many text collections using the same client software. It also enables editors to publish text collections in a form that existing clients can use.

How do I download DTS and start using it?

You cannot download it. DTS defines how programs communicate with each other. End users ultimately use this software. There are libraries supporting DTS for software developers, which are listed here.

What can clients do with these documents?

Anything that can be done with text data. For example, this data can be displayed in a human-readable form, analyzed for linguistic, literary, and discourse features, or presented in tools that allow users to annotate text and create useful data.

Does DTS help make my texts FAIR?

Yes! Publishers of digital text collections can use the DTS API to make their text data Findable, Accessible, Interoperable, and Reusable (FAIR).

DTS supports FAIR data practices for text data in the following ways:

  • Encourages publishers to use stable, persistent identifiers for texts and collections
  • Supports the use of standard vocabularies for metadata description
  • Enables metadata to be expressed separately from the text content itself
  • Provides documented (but unconstrained) access to information about the structure of text resources, down to citable units
  • Enables detailed specification of relationships between text resources

What kind of API is DTS?

DTS is a REST API that functions like a web browser. When client software sends a request, the server returns a document. The client can use information in this document to send further requests. This API is completely defined by documents and headers contained in HTTP requests and responses. This means DTS is language-independent, easy to debug, and can scale to many users. For those familiar with APIs, DTS is a pure hypermedia-centric REST API defined based on HTTP conventions.

DTS is built in the same way as creating a website. Everything is discoverable and organized so that users (clients) can easily find what they want. On top of that, it uses linked and shared vocabularies, leveraging what is available across the web of data.

What is Hydra? Why use Hydra?

Hydra provides a good framework for building REST APIs. We wanted to use standards rather than starting from scratch. We wanted JSON and pure hypermedia-based API support, so we chose Hydra. Hydra provides core functionality and extensibility that can be customized to fit our model. (We tried three or four other approaches, but Hydra worked best for our use cases. We are aware of the religious debates around APIs, but this worked for us.)

What does implementing a DTS API for my text collection enable?

By implementing a DTS API, data consumers can easily retrieve:

  • Lists of collection members
  • Metadata about individual collection items
  • Lists of citable passages within a text
  • Lists of citable passages in client-defined sizes (e.g., groups of 10 lines)
  • Metadata about the citation structure of a document
  • A single text passage at any level of the citation hierarchy
  • A range of text passages with clearly defined start and end passages
  • The entire text

What identifier schemes does DTS require and support?

DTS supports any collection and document identifier scheme that can be safely expressed as URL parameters.

Does DTS support nested collections (e.g., collections of collections)?

Yes, it does.

Does DTS support multiple levels of text citation hierarchy?

Yes, it does.

Does DTS support different text citation hierarchies within a document?

Yes, it does.

Can I use DTS even if my texts are not published in TEI/XML format?

Yes, partially. DTS’s collection and navigation endpoints can provide navigation functionality between text collections and within texts regardless of data format. However, the document endpoint only supports TEI texts.

Summary

We hope this serves as a useful reference for understanding DTS.