Skip to content

MarcoReidelbach/MaRDMO-Plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MaRDMO Logo by MaRDI, licensed under CC BY-NC-ND 4.0.

MaRDMO Plugin

This repository contains the MaRDMO Plugin for the Research Datamanagement Organizer (RDMO) developed within the Mathematical Research Data Initiative (MaRDI). The plugin allows a standardized documentation of interdisciplinary workflows, where the connection to experiments or computational approaches, like simulations, is possible and desired. Documented workflows can be stored locally (depreciated) or shared with other scientists on the MaRDI Portal. In the latter case a Wiki Page is created for the documented workflow and integral aspects of the workflow are integrated into the MaRDI Knowledge Graph. Integration into the MaRDI Knowledge Graph allows specific workflow queries which are also possible through the MaRDMO Plugin.

To document the underlying mathematical model(s) MaRDMO relies on the MathModDB ontology developed within Task Area 4 of MaRDI. Existing model documentations are retrieved from the MathModDB Knowledge Graph. Export into the MathModDB KG is possible upon authentification. If credentials are missing, it is possible to export the documented model into a standardized model documentation template and share it with the MaRDI TA4 Team for integration.

Currently it is not possible to export a workflow documentation and a model documentation at the same time to the respective KGs. This will be added in the next update, until then document the model, export it to the MathModDB KG and select it in the Workflow documentation.

MaRDMO Plugin Installation

To use the MaRDMO Plugin at least RDMO v2.0.0 is required. Follow the installation / update instructions of RDMO if required.

Go to the rdmo-app directory of your RDMO installation. In the virtual environment of the RDMO installation install the MaRDMO Plugin:

pip install MaRDMO

To connect the MaRDMO Plugin with the RDMO installation add the following lines to config/settings/local.py (if not already present):

from django.utils.translation import gettext_lazy as _ 
INSTALLED_APPS = ['MaRDMO'] + INSTALLED_APPS

PROJECT_EXPORTS += [
        ('mde', _('MaRDI Export/Query'), 'MaRDMO.export.MaRDIExport'),
        ]

OPTIONSET_PROVIDERS = [
    ('MaRDIAndWikidataSearch', _('Options for MaRDI and Wikidata Search'), 'MaRDMO.providers.MaRDIAndWikidataSearch'),
    ('MaRDISearch', _('Options for MaRDI Search'), 'MaRDMO.providers.MaRDISearch'),
    ('MSCProvider', _('Options for Mathematical Subject Classification Search'), 'MaRDMO.providers.MSCProvider'),
    ('ProcessorProvider', _('Options for Processor Search'), 'MaRDMO.providers.ProcessorProvider'),
    ('AvailableSoftware', _('Options for Available Software'), 'MaRDMO.providers.AvailableSoftware'),
    ('MathAreaProvider', _('Options for Math Areas'), 'MaRDMO.providers.MathAreaProvider'),
    ('EnvironmentProvider', _('Options for Environments'), 'MaRDMO.providers.EnvironmentProvider'),
    ('MethodProvider', _('Options for Methods'), 'MaRDMO.providers.MethodProvider'),
    ('DataProvider', _('Options for Data Sets'), 'MaRDMO.providers.DataProvider'),
    ('SoftwareProvider', _('Options for Software'), 'MaRDMO.providers.SoftwareProvider'),
    ('ResearchField', _('Options for Research Fields'), 'MaRDMO.providers.ResearchField'),
    ('RelatedResearchField', _('Options for Related Research Fields'), 'MaRDMO.providers.RelatedResearchField'),
    ('ResearchProblem', _('Options for Research Problems'), 'MaRDMO.providers.ResearchProblem'),
    ('ResearchFieldWithUserAddition', _('Options for Research Fields with User Additions'), 'MaRDMO.providers.ResearchFieldWithUserAddition'),
    ('RelatedResearchProblem', _('Options for Related Research Problems'), 'MaRDMO.providers.RelatedResearchProblem'),
    ('MathematicalModel', _('Options for Mathematical Models'), 'MaRDMO.providers.MathematicalModel'),
    ('RelatedMathematicalModel', _('Options for related Mathematical Model'), 'MaRDMO.providers.RelatedMathematicalModel'),
    ('MathematicalModelWithUserAddition', _('Options for Mathematical Models with User Additions'), 'MaRDMO.providers.MathematicalModelWithUserAddition'),
    ('QuantityOrQuantityKind', _('Options for Quantities and Quantity Kinds'), 'MaRDMO.providers.QuantityOrQuantityKind'),
    ('RelatedQuantity', _('Options for related Quantities'), 'MaRDMO.providers.RelatedQuantity'),
    ('RelatedQuantityKind', _('Options for related Quantity Kinds'), 'MaRDMO.providers.RelatedQuantityKind'),
    ('MathematicalFormulation', _('Options for Mathematical Formulation'), 'MaRDMO.providers.MathematicalFormulation'),
    ('MathematicalFormulationWithUserAddition', _('Options for Mathematical Formulations with User Additions '), 'MaRDMO.providers.MathematicalFormulationWithUserAddition'),
    ('QuantityOrQuantityKindWithUserAddition', _('Options for Quantities and Quantity Kinds with User Additions'), 'MaRDMO.providers.QuantityOrQuantityKindWithUserAddition'),
    ('WorkflowTask', _('Options for Workflow Task'), 'MaRDMO.providers.WorkflowTask'),
    ('Task', _('Options for Task'), 'MaRDMO.providers.Task'),
    ('RelatedTask', _('Options for related Tasks'), 'MaRDMO.providers.RelatedTask'),
    ('Publication', _('Options for Publications'), 'MaRDMO.providers.Publication'),
    ('AllEntities', _('Options for All Entities'), 'MaRDMO.providers.AllEntities')
    ]

Thereby, the MaRDMO Plugin is installed and a "MaRDI Export/Query" button is added in the project view.

MaRDI Portal and MathModDB Connection

To add data to the MaRDI Portal a login is required. In the MaRDMO Plugin this is currently facilitated using a bot. To set up the bot visit the MaRDI Portal, log in with your user credentials, choose Special Pages and Bot passwords. Provide a name for the new bot, select Create, grant the bot permission for High-volume (bot) access, Edit existing pages and Create, edit, and move pages and select again Create. Thereby, a bot is created. Add its credentials to config/settigs/local.py:

lgname = 'username@botname'
lgpassword = 'password'

To write to the MathModDB KG a login is required. Credentials might be obtained by contacting the MaRDI staff. Add the to config/settigs/local.py:

mathmoddb_username = 'username'
mathmoddb_password = 'password'

Local workflow and model documentations and workflow searches are possible without login credentials. Non-MaRDI users may contact the owner of the repository to facilitate the login for MaRDI portal and MathModDB publication.

MaRDMO-Questionnaire

The MaRDMO Plugin requires the MaRDMO-Questionnaire, download its latest release Latest Release.

Integrate the MaRDMO Questionnaire into your RDMO instance through the user interface of your RDMO instance (Management -> Import -> attributes.xml/optionsets.xml/conditions.xml/catalogs.xml) or via

python manage.py import /path/to/MaRDMO-Questionnaire/catalog/attributes.xml
python manage.py import /path/to/MaRDMO-Questionnaire/catalog/optionsets.xml
python manage.py import /path/to/MaRDMO-Questionnaire/catalog/conditions.xml
python manage.py import /path/to/MaRDMO-Questionnaire/catalog/catalogs.xml

Usage of MaRDMO Plugin

Once the MaRDMO Plugin is set up, the Questionnaire can be used to document and query interdisciplinary workflows and/or mathematical models. Therefore, select "Create New Project" in RDMO, choose a proper project name (project name will be used as wokflow name and label in the MaRDI portal), assign the "MaRDMO Catalog" and select "Create Project". The project is created. On the right hand side in the "Export" category the "MaRDI Export/Query" button is located to process the completed Questionnaire.

Choose "Answer Questions" to start the interview. The first questions define the operation modus of the MaRDMO Plugin. Following an identification, questions for the workflow and/or mathematical model documentation are provided. Once all questions are answered, return to the project overview page, choose 'MaRDI Export/Query' and your Workflow and/or Mathematical Model will be exported as selected during the interview.