mOWL: A machine learning library with ontologies

machine-learning, ontologies
pip install mowl-borg==0.3.0


mOWL: Machine Learning Library with Ontologies

mOWL is a library that provides different machine learning methods in which ontologies are used as background knowledge. mOWL is developed mainly in Python, but we have integrated the functionalities of OWLAPI, which is written in Java, for which we use JPype to bind Python with the Java Virtual Machine (JVM).

Table of contents


System dependencies

  • JDK version >= 11
  • Python version: 3.8, 3.9, 3.10, 3.11
  • Conda version >= 4.x.x

Python requirements

  • Gensim >= 4.x.x
  • PyTorch >= 1.12.x
  • PyKEEN >= 1.10.1

Install from PyPi

pip install mowl-borg

Build from source

Installation can be done with the following commands:

git clone

cd mowl

conda env create -f envs/environment_3_8.yml
conda activate mowl


python install

The line ./ will generate the necessary jar files to bind Python with the code that runs in the JVM. After building, a .tar.gz file will be generated under dist and can be used to install mOWL.

List of contributors


This software library is distributed under the BSD-3-Clause license


Full documentation and API reference can be found in our ReadTheDocs website.


ChangeLog is available in our changelog file and also in the release section.


If you used mOWL in your work, please consider citing this article:

    author = {Zhapa-Camacho, Fernando and Kulmanov, Maxat and Hoehndorf, Robert},
    title = "{mOWL: Python library for machine learning with biomedical ontologies}",
    journal = {Bioinformatics},
    year = {2022},
    month = {12},
    issn = {1367-4803},
    doi = {10.1093/bioinformatics/btac811},
    url = {},
    note = {btac811},
    eprint = {},