Thursday, July 19, 2018

The Homer Multitext Microservice

The Homer Multitext Microservice
The Homer Multitext produces integrated data on Greek Epic poetry, its language, its evolution over time, the traditions of scholarship surrounding it, and the physical artifacts, manuscripts and papyri, that are our only evidence. For a concise explanation of what the HMT publishes, please see
At the same time, we Project Architects of the HMT, Neel Smith and Christopher Blackwell, are interested in making this data as widely accessible as possible. The data is released in CEX Format, a plain-text serialization of data organized according to defined abstract data models. We have developed code libraries in Scala implementing these abstract data models. These libraries provide the greatest flexibility in manipulating, locating, aggregating, and transforming the data of the Homer Mulititext.
For users who may not want to write code directly, we have provided an online application offering a graphical user interface for interacting with HMT data using the Cite Architecture’s Scala libraries.
For those who might want to write their own applications that interact with the HMT data, we provide a collection of microservices.
The examples below demonstrate the Scala Cite Services (Akka) application, SCS-Akka, running at, and (as of July 19, 2018) serving data from the 2018g Release of the Homer Multitext Data.
The service accepts requests via HTTP, and returns JSON expressions of CITE objects. We have published a library in Scala for de-marshalling those JSON expressions into CITE data objects.
The CiteApp web-based application for the Homer Multitext gets its data from this service, and indeed the web-application and the microservice were developed jointly.
This collection of microservices is serving current data from the Homer Multitext, edited by Casey Dué and Mary Ebbott, a project of the Center for Hellenic Studies of Harvard University.
For more information on this service, please see
For information on the CITE Architecture, please see
Report bugs by filing issues on GitHub.


About the Service’s Catalog

See the Text Catalog

Get the First Valid Reference in a text

Get Valid References

All references for a version of a text:
Valid references for parts of a text:

Get Passages

Passages for a specific version of a text:
Passages for all versions of a text:


NGrams in works present in the library:
Find citations to NGrams:
Returning a Corpus of Passages containing an NGram:

String Searches

Token Searches

Collections of Objects



Get objects from multiple collections:

Finding Objects

numeric less-than
numeric less-than-or-equal
numeric equals
numeric greater-than
numeric greater-than-or-equal
numeric within

Data Models


Basic Image Retrieval
Defining a width
Defining MaxWidth and MaxHeight
  • 12-recto
  • 12-recto-detail


CITE Relations are associations of URN to URN, with the relationship specified by a Cite2 URN.

Commentary Data Model

If a library includes CiteRelations and implements the Commentary datamodel, comments associated with passages of text can (optionally) be attached to replies for a corpus of texts.

Documented Scholarly Editions (DSE) Data Model

The DSE Data model consists of a CITE Collection of objects, each documenting a three-way relationship between (a) a text-bearing artifact, (b) a documentary image (ideally with a region-of-interest defined), and © a citable passage of text.
(The dse=true parameter is valid for all object-searching, as well as for retrieval of individual objects or ranges of objects.)

No comments:

Post a Comment