• Makefile 100%
Find a file
2025-04-22 07:51:46 +02:00
.forgejo/workflows Ready for auto-deployment on webserver 2025-04-18 18:37:56 +02:00
dist Adjust URLs after rename 2025-04-18 18:42:37 +02:00
shacl-vue@e057fd5475 Initial setup of annotate.inm7.de repo, including logos, config and built dist directory 2025-04-16 09:42:22 +02:00
.gitignore Initial setup of annotate.inm7.de repo, including logos, config and built dist directory 2025-04-16 09:42:22 +02:00
.gitmodules Initial setup of annotate.inm7.de repo, including logos, config and built dist directory 2025-04-16 09:42:22 +02:00
config.json Adjust URLs after rename 2025-04-18 18:42:37 +02:00
favicon.ico Initial setup of annotate.inm7.de repo, including logos, config and built dist directory 2025-04-16 09:42:22 +02:00
LICENSE Initial setup of annotate.inm7.de repo, including logos, config and built dist directory 2025-04-16 09:42:22 +02:00
logo.png Initial setup of annotate.inm7.de repo, including logos, config and built dist directory 2025-04-16 09:42:22 +02:00
Makefile Initial setup of annotate.inm7.de repo, including logos, config and built dist directory 2025-04-16 09:42:22 +02:00
README.md Fix docs 2025-04-22 07:51:46 +02:00

annotate.inm7.de-playground

This repository contains the sources for a demo-version of the INM-7's metadata annotation tool, a core component of the INM-7 research institute's information management system.

🚀 See it in action: https://annotate.inm7.de/s/playground/

How it works: for users

The annotation tool provides browser-based edit access to INM-7-specific metadata, be it projects, publications, data, people, or any arbitrary type of metadata that is important to describe in the INM-7 context.

Users can:

  • browse through metadata types and view/find associated records (e.g. view all Instruments)
  • select and edit a specific existing metadata record (e.g. edit the Person-type record with id="John Doe")
  • create completely new metadata records (e.g. add a new Publication)
  • link metadata records to each other directly (e.g. link a Person to a Publication, under role of author)
  • save their local metadata annotations to a user-specific central store

In addition, the tool integrates with an INM-7-specific knowledge base, from which it can pull up-to-date metadata records. This knowledge base can be curated in order to merge user-specific annotations into the central one, which in turn makes single-user annotations available to all users.

All combined, these functionalities ensure that users have quick and direct access to uniquely identifiable records in the controlled INM-7-context. No need to enter metadata multiple times to describe the same thing!

How it works: under the hood

The annotation tool is built on linked and semantic metadata standards, particularly SHACL and RDF.

  • The site sources are generated using the shacl-vue tool, a VueJS-based application that specializes in autogenerating user interfaces from SHACL schemas.
  • An INM-7-specific data model provides the schema input to shacl-vue. The data model and schema are developed with LinkML, a data modeling and schema authoring language that supports linked data and exports into a wide variety of formats, including SHACL and Pydantic.
  • Via configuration, a shacl-vue instance integrates with the INM-7 knowledge base, which is created compliant to the dump-things knowledge base dump specification.

How it's built: for developers

To create a functional annotation tool site, the following is required:

  • a clone of this repository
  • a customized shacl-vue configuration file: config.json
  • a custom logo and favicon, if desired
  • a virtual environment with a recent nodejs installation
# clone the git repository
git clone https://hub.psychoinformatics.de/inm7/annotate.inm7.de-demo.git
cd annotate.inm7.de-demo
# retrieve the shacl-vue dependency
git submodule update --init --recursive
# install dependencies
make install
# build the site
make build

Afterwards, the static files will be in the dist directory. These files will then need to be copied to wherever the site is served from.