The CITE Architecture Technology-independent, machine-actionable citation of scholarly resources

The Canonical Text Service (CTS)

The Canonical Text Service protocol defines communication between a client application and a server.

Its purpose is to retrieve texts cited by CTS URN. Our aim is to define a minimal protocol to fulfill this goal. Our hope is that with the current version 5, we are, after a decade of work, approaching a point where the protocol can be stable. We take heart in the history of the TCP/IP protocol, which in eight years (1972-1980) went from version 1 to the version 4 still used today.

Specifications and version

The current version is version 5: see the current formal specification. (Github source for the specication is in markdwon in this repository.)

See some proposed modifications.

Implementations and code tools

Behind the abstract OHCO2 model of the CTS URN, implementations of the CTS protocol use a variety of backend data models.

Tree model

Directed graph

  • a library for working with fundamenal notation of the CITE architecture, including CTS URNs
  • hocuspocus, a system for managing a corpus of citable texts (also incorporated in citemgr, a system managing a suite of CITE repositories)
  • sparqlcts, an implementation using a SPARQL endpoint as its data source

Relational model