Skip to main content

RDMO Plugin to document and query mathematical research data using the MaRDI infrastructure.

Project description

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.

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 += [
        ('wikibase', _('MaRDMO Button'), 'MaRDMO.main.MaRDMOExportProvider'),
        ]

OPTIONSET_PROVIDERS = [
    # Search
    ('MaRDISearch', _('Options for MaRDI Search'), 'MaRDMO.search.providers.MaRDISearch'),
    # Workflow
    ('MaRDIAndWikidataSearch', _('Options for MaRDI and Wikidata Search'), 'MaRDMO.workflow.providers.MaRDIAndWikidataSearch'),
    ('MainMathematicalModel', _('Options for Main Mathematical Model'), 'MaRDMO.workflow.providers.MainMathematicalModel'),
    ('WorkflowTask', _('Options for Workflow Task'), 'MaRDMO.workflow.providers.WorkflowTask'),
    ('SoftwareW', _('Options for Software (Workflow)'), 'MaRDMO.workflow.providers.Software'),
    ('Hardware', _('Options for Hardware'), 'MaRDMO.workflow.providers.Hardware'),
    ('Instrument', _('Options for Instruments'), 'MaRDMO.workflow.providers.Instrument'),
    ('DataSet', _('Options for Data Sets'), 'MaRDMO.workflow.providers.DataSet'),
    ('RelatedDataSet', _('Options for related Data Sets'), 'MaRDMO.workflow.providers.RelatedDataSet'),
    ('RelatedSoftware', _('Options for related Software'), 'MaRDMO.workflow.providers.RelatedSoftware'),
    ('RelatedInstrument', _('Options for related Instruments'), 'MaRDMO.workflow.providers.RelatedInstrument'),
    ('Method', _('Options for Methods'), 'MaRDMO.workflow.providers.Method'),
    ('RelatedMethod', _('Options for related Methods'), 'MaRDMO.workflow.providers.RelatedMethod'),
    ('ProcessStep', _('Options for Process Step'), 'MaRDMO.workflow.providers.ProcessStep'),
    ('Discipline', _('Options for Disciplines'), 'MaRDMO.workflow.providers.Discipline'),
    # Model
    ('ResearchField', _('Options for Research Fields'), 'MaRDMO.model.providers.ResearchField'),
    ('RelatedResearchField', _('Options for Related Research Fields'), 'MaRDMO.model.providers.RelatedResearchField'),
    ('ResearchProblem', _('Options for Research Problems'), 'MaRDMO.model.providers.ResearchProblem'),
    ('RelatedResearchProblem', _('Options for Related Research Problems'), 'MaRDMO.model.providers.RelatedResearchProblem'),
    ('MathematicalModel', _('Options for Mathematical Model'), 'MaRDMO.model.providers.MathematicalModel'),
    ('RelatedMathematicalModel', _('Options for related Mathematical Model'), 'MaRDMO.model.providers.RelatedMathematicalModel'),
    ('QuantityOrQuantityKind', _('Options for Quantities and Quantity Kinds'), 'MaRDMO.model.providers.QuantityOrQuantityKind'),
    ('RelatedQuantity', _('Options for related Quantities'), 'MaRDMO.model.providers.RelatedQuantity'),
    ('RelatedQuantityKind', _('Options for related Quantity Kinds'), 'MaRDMO.model.providers.RelatedQuantityKind'),
    ('RelatedQuantityOrQuantityKind', _('Options for related Quantites or Quantity Kinds'), 'MaRDMO.model.providers.RelatedQuantityOrQuantityKind'),
    ('MathematicalFormulation', _('Options for Mathematical Formulation'), 'MaRDMO.model.providers.MathematicalFormulation'),
    ('RelatedMathematicalFormulation', _('Options for related Mathematical Formulations'), 'MaRDMO.model.providers.RelatedMathematicalFormulation'),
    ('AllEntities', _('Options for All Entities'), 'MaRDMO.model.providers.AllEntities'),
    ('Task', _('Options for Task'), 'MaRDMO.model.providers.Task'),
    ('RelatedTask', _('Options for related Tasks'), 'MaRDMO.model.providers.RelatedTask'),
    # Publication
    ('Publication', _('Options for Publication'), 'MaRDMO.publication.providers.Publication'),
    # Algorithm
    ('Algorithm', _('Options for Algorithms'), 'MaRDMO.algorithm.providers.Algorithm'),
    ('RelatedAlgorithm', _('Options for related Algorithms'), 'MaRDMO.algorithm.providers.RelatedAlgorithm'),
    ('AlgorithmicProblem', _('Options for Algorithmic Problems'), 'MaRDMO.algorithm.providers.AlgorithmicProblem'),
    ('RelatedAlgorithmicProblem', _('Options for related Algorithmic Problems'), 'MaRDMO.algorithm.providers.RelatedAlgorithmicProblem'),
    ('SoftwareAL', _('Options for Software (Algorithm)'), 'MaRDMO.algorithm.providers.Software'),
    ('RelatedSoftwareAL', _('Options for related Software (Algorithm)'), 'MaRDMO.algorithm.providers.RelatedSoftware'),
    ('Benchmark', _('Options for Benchmarks'), 'MaRDMO.algorithm.providers.Benchmark'),
    ('RelatedBenchmark', _('Options for related Benchmarks'), 'MaRDMO.algorithm.providers.RelatedBenchmark'),
    ]

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

MaRDI Portal, MathAlgoDB, and MathModDB Connection

Add the following lines to config/settings/local.py to connect MaRDMO with the individual databases.

MARDMO_PROVIDER = {
    'oauth2_client_id': '',
    'oauth2_client_secret': '',
    'mathmoddb_id': '',
    'mathmoddb_secret': '',
    'mathalgodb_id': '',
    'mathalgodb_secret': ''
    }

Contact the MaRDI consortium for the individual credentials.

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/mardmo-search-catalog.xml
python manage.py import /path/to/MaRDMO-Questionnaire/catalog/mardmo-model-catalog.xml
python manage.py import /path/to/MaRDMO-Questionnaire/catalog/mardmo-interdisciplinary-workflow-catalog.xml
python manage.py import /path/to/MaRDMO-Questionnaire/catalog/mardmo-algorithm-catalog.xml

Usage of MaRDMO Plugin

Once the MaRDMO Plugin is set up, the Questionnaires can be used to document and query interdisciplinary workflows, mathematical models, and algorithms. Therefore, select "Create New Project" in RDMO, choose a proper project name (for interdisciplinary workflow the project name will the workflow name), assign one of the the MaRDMO Catalogs and select "Create Project". The project is created. On the right hand side in the "Export" category the "MaRDMO Button" button is located to process the completed Questionnaires. Choose "Answer Questions" to start the interview.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mardmo-0.2.1.tar.gz (255.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mardmo-0.2.1-py3-none-any.whl (267.7 kB view details)

Uploaded Python 3

File details

Details for the file mardmo-0.2.1.tar.gz.

File metadata

  • Download URL: mardmo-0.2.1.tar.gz
  • Upload date:
  • Size: 255.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for mardmo-0.2.1.tar.gz
Algorithm Hash digest
SHA256 38b37a0699e2a79fe2c8e41a6e1941372d987ad99978950b240a4dab82f950ed
MD5 6ee393b82363f5ccba129e69929a9652
BLAKE2b-256 1c26326e15905f7783d5c70fc9d23f41d021a82d2ffea3f93808f939a2985b9f

See more details on using hashes here.

File details

Details for the file mardmo-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: mardmo-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 267.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for mardmo-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0b6d6c673ff25b006f1d6a50df4576c08433d2a54b32761476573773cf0b33d0
MD5 592d8b94fe126106c445d4c41464966a
BLAKE2b-256 e144235fc236343394b9432577c6f6ffb6e194429b5b15e5eba0c90f5486ee2d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page