distributed-text-services / workshops

Public repositories for events organized by members of the DTS Tech Comittee and others
https://distributed-text-services.github.io/workshops/
Mozilla Public License 2.0
8 stars 2 forks source link

DTS endpoint to DraCor-API #17

Closed ingoboerner closed 2 years ago

ingoboerner commented 3 years ago

Proponent / Mentor

Ingo Boerner (@ingoboerner)

Brief Description

The aim is to implement a DTS endpoint to the DraCor-API (https://dracor.org/doc/api).

DraCor consists of corporas of dramas in eleven languages (German, Russian, French, Italian, Swedish, Spanish, Ancient Greek, Alsatian, Latin, Bashkir, and Tatar) as well as two additional author corpora (Shakespeare, Calderón), to which the platform offers several ways to access them: The plays are encoded in TEI-XML available under an open license via GitHub at https://github.com/dracor-org.

In addition to this "classical" modus operandi of corpus-based research, however, DraCor as an open digital ecosystem offers further interfaces and attached tools (network visualizations, Shiny App, Easy Linavis). Fundamental all this tools this is the DraCor REST API (https://dracor.org/doc/api), which provides functions for retrieving data in different formats (TEI, JSON, Plaintext, RDF, GEXF, GraphML) as well as some built-in analysis functionalities (e.g. on network metrics).

Coding skills needed

The DraCor-API is written in xQuery and implemented as an app in eXist-DB.

Team members

@cmil, @ingoboerner, @lehkost, @peertrilcke. People wanting to join are welcome, also to test and validate the implementation and to provide feedback.

ingoboerner commented 3 years ago

Code

Demo

A a demo of the DraCor DTS implementation is available at https://staging.dracor.org/api/dts

Example queries:

limitations, to do

Collections endpoint

Navigation endpoint

Documents endpoint

ingoboerner commented 3 years ago

... and I would need https://github.com/distributed-text-services/workshops/issues/16 to validate the output ;)

ingoboerner commented 3 years ago

@mromanello:

the base URI is https://staging.dracor.org/api/dts but then the paths of endpoints are declared like dts/documents which should be /api/dts/documents instead (I believe). Because a client will blindly follow the paths, so it will end up at https://staging.dracor.org/dts/documents (which is not what you wanted)

fixed base-uris of endpoints, should be /api/dts/...