- Makefile 100%
| .forgejo/workflows | ||
| dist | ||
| shacl-vue@e057fd5475 | ||
| .gitignore | ||
| .gitmodules | ||
| config.json | ||
| favicon.ico | ||
| LICENSE | ||
| logo.png | ||
| Makefile | ||
| README.md | ||
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 withid="John Doe") - create completely new metadata records (e.g. add a new
Publication) - link metadata records to each other directly (e.g. link a
Personto aPublication, under role ofauthor) - 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-vuetool, a VueJS-based application that specializes in autogenerating user interfaces from SHACL schemas. - An
INM-7-specific data model provides the schema input toshacl-vue. The data model and schema are developed withLinkML, 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-vueinstance integrates with theINM-7knowledge base, which is created compliant to thedump-thingsknowledge base dump specification.
Relevant links:
shacl-vuedocumentationshacl-vuesource code repositoryconcepts.inm7.dedata model documentationconcepts.inm7.dedata model sources- SHACL export of base schema at
concepts.TRR379.de INM-7 knowledge dumprepositorydump-thingsspecificationdump-thingsservice implementaion- LinkML
- The SHACL standard
- The RDF standard
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-vueconfiguration file:config.json - a custom logo and favicon, if desired
- a virtual environment with a recent
nodejsinstallation
# 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.