Skip to content

DoTS

What is DoTS?

DoTS is an XQuery implementation of DTS using a BaseX backend.

Note

DoTS supports only DTS GET requests for browsing collections, document retrieval and navigation.

What is DTS?

The Distributed Text Services (DTS) Specification defines an API for working with collections of text as machine-actionable data.

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

Capabilities

Using DoTS, you can

  • with the DTS Collection endpoint:
    • Retrieve lists of collection members.
    • Retrieve metadata about individual collection items.
  • with the DTS Navigation endpoint:
    • Retrieve lists of citeable passages within a text.
    • Retrieve a range of citeable passages within a text.
    • Retrieve metadata about the citation structure of a document.
  • with the DTS Document endpoint:
    • Retrieve a single text passage at any level of the citation hierarchy.
    • Retrieve a range of text passages with a clearly defined start and end passage.
    • Retrieve an entire text.

Install

BaseX

Download BaseX (>= 11.8): https://basex.org/download/

Info

DoTS

DoTS can be installed in any folder outside the BaseX directory.

cd path/to/desired/installation/folder
git clone https://github.com/chartes/dots.git

The structure of your DoTS repository should be as follows:

dots/               # DoTS root dir.
    data/           # Database directory.
    repo/           # XQuery module (DTS backend, DTS resolver, etc.).
    schema/         # Relax NG schemas for validating DoTS registers.
    scripts/        # Bash and XQuery scripts to manage a DoTS project.
    tests/          # XQuery unit tests for continuous integration.
    webapp/         # Web Application directory.
        restxq/     # RESTXQ folder containing the API routes.
    ...             # Others files.

Start DTS resolver

cd path/to/dots
bash /path/to/basex/bin/basexhttp

By default, the base DTS API enpoint is available at http://localhost:8080/api/dts/.