Skip to content

yuechenbam/Ontopanel-backend

Repository files navigation

Ontopanel-backend

What is Ontopanel?

Ontopanel is a plugin in diagrams.net that helps domain experts to build ontologies and method graph visually.

It is designed within the framework of the Materials Open Laboratory (MatOLab) by Bundesanstalt für Materialforschung und -prüfung (BAM) to solve the problems encountered by domain experts when building ontologies graphically using diagrames.net, such as ontology reuse, ontology transformation and data mapping.

It consist of three tools, their applications can be found in Ontopanel video tutorials:

Library

Ontopanel-Library is a XML library for ontology conceptualization that provides a set of shapes to represent each element of the OWL specification. It is based on Chowlk library.

EntityManager

EntityManager is a tool that allows user to upload their ontologies and export entities in graphs in diagrams.net.

Convertor:

Convertor is a tool that validates current graph and convert it into diagrams.net into OWL. It can also realize data mapping -- to combine experimental dataset with the method graph.

Backend

This project is the backend of Ontopanel and communicates with Ontopanel-frontend. Diagrams.net provides permission to add plugins so that users can load the Ontopanel interface. Please follow the tutorial of Ontopanel-frontend to set up the frontend.

Installation

Clone the project

git clone https://github.com/yuechenbam/Ontopanel-backend.git

Requirements:

pip install -r requirements.txt

Create .env file in root

# The variables in settings.py
SECRET_KEY="your secret key value"
DEBUG=1 # 1 is True, 0 is False

# Send mail server configuration, used for user password change
EMAIL_HOST_USER = your email address
EMAIL_HOST_PASSWORD = your email password

Database connection configuration

# change below in setting.py to your own database
DATABASES = {}
if 'test' in sys.argv:
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': BASE_DIR / 'db.sqlite3',
        }
    }
else:
    DATABASES['default'] = dj_database_url.config(
        conn_max_age=600, ssl_require=True)

Run the app

python manage.py runserver

Related repositories and links

Ontopanel GithubPage repository with tutorials - repository of Ontopanel online demo.

Ontopanel online demo - diagrams.net, contains the Ontopanel plugin hosted on the GithubPage.

Ontopanel-fontend - Ontopanel's frontend source code.

Documentation

Swagger API documentation

Publications

Ontopanel: A Tool for Domain Experts Facilitating Visual Ontology Development and Mapping for FAIR Data Sharing in Materials Testing

Contact

Yue Chen (yue.chen@bam.de)

Markus Schilling (Markus.Schilling@bam.de)

About

Diagrams.net plugin for ontology development. Backend of Ontopanel.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages