2.3 KiB
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 documents from a Dump Things Server. Multiple Dump Things Server currently serve as a backends for shacl-vue. 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. 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.