43 lines
2.3 KiB
Markdown
43 lines
2.3 KiB
Markdown
### Dump Things Server
|
|
|
|
*Dump Things Server* is an implementation of a service that allows to store
|
|
and retrieve linked data. It builds the backend for linked-data applications.
|
|
Linked-data applications can retrieve data as JSON records or as
|
|
[TTL](https://www.w3.org/TR/turtle/) documents from a Dump Things Server.
|
|
Multiple *Dump Things Server* currently serve as a backends for
|
|
[shacl-vue](https://shacl-vue.psychoinformatics.de/). Data query parameters
|
|
support efficient data retrieval.
|
|
|
|
All data items that are stored on a *Dump Things Server* must be structured according to
|
|
a defined schema. Schemata are defined in [LinkML](https://linkml.io).
|
|
The server supports multiple collections. Each data items are stored in a
|
|
collection. Each collection has a name and an
|
|
associated schema. The *Dump Things Server* dynamically reads the respective
|
|
schemata and creates validation code for data items. This ensures that only items that
|
|
adhere to the schema can be stored in the respective collection.
|
|
|
|
The *Dump Things Server* supports distributed data acquisition while still
|
|
controlling the quality of collection data. This is done be distinguishing
|
|
between the curated area of a collection and user-specific inboxes of a collection.
|
|
The curated are of a collection represents the "official", high quality,
|
|
collection content.
|
|
|
|
The server allows users to
|
|
propose changes to existing data items, or to propose new data items for
|
|
inclusion into a collection. All proposals are stored in the inbox of the
|
|
respective user. A curation workflow moves proposed changes into the curated
|
|
area of a collection.
|
|
|
|
Curators, i.e., entities with specific privileges, can inspect proposed changes,
|
|
accept, modify, or reject them and include them into a collection. This
|
|
allows distributed contributions to collection data, while keeping control
|
|
over the curated collection content. Curation can be performed by persons or by
|
|
automated agents. The *Dump Things Server* provides tools and APIs to support
|
|
both options.
|
|
|
|
The necessary authorization levels for all these operations can be individually
|
|
configured on a per-collection basis.
|
|
|
|
The server supports multiple storage backends, and multiple authentication and
|
|
authorization sources. It also supports audit logs that track
|
|
time, content, author, and curator for every change to a record.
|