Welcome to mOWL’s documentation!

mOWL is a Python library for Machine Learning with Ontologies. Here you can find several methods to generate embeddings of ontology entities as described in the paper Semantic similarity and machine learning with ontologies.

Getting started

mOWL can be installed from the source code or from Test PyPi or from Conda. For more details on installation check out the how to Installation and Setup section of the project.

Import mOWL and start the JVM

In order to use mOWL with all its functionalities, the Java Virtual Machine must be started. We can do that in the following way:

import mowl

In the above piece of code, we specify the amount of memory given to the JVM. The memory parameter (2g in the example) corresponds to the parameter “-Xmx” for the JVM initialization step. For more information about the JVM memory management please follow this link.


The function init_jvm can only be called once during running time. This means that the JVM cannot be restarted and this is a limitation of JPype as stated in this section of their documentation.


mOWL is a project initiated and developed by the Bio-Ontology Research Group from KAUST. Furthermore, mOWL had other collaboration by being part of the Biohackathon Europe 2021.


The package is released under the BSD 3-Clause License.