A system for collaborative ontology development process. Given a repository with an owl file, OnToology will survey it and produce diagrams, a complete documentation and validation based on common pitfalls.
You can find a live version of OnToology online: http://ontoology.linkeddata.es.
Team: Ahmad Alobaid, Daniel Garijo, Maria Poveda, Idafen Santa, Alba Fernandez Izquierdo, Oscar Corcho
License: Apache License v2 (http://www.apache.org/licenses/LICENSE-2.0)
If you want to cite Ontoology in a scientific paper or technical report, you can use the following Bibtex citation or directly this text: Alobaid A, Garijo D, Poveda-Villalón M, Santana-Pérez I, Fernández-Izquierdo A, Corcho O (2019) Automating ontology engineering support activities with OnToology. Journal of Web Semantics 57:100472, https://doi.org/10.1016/j.websem.2018.09.003
The development of OnToology has been supported by the Spanish national project Datos 4.0 (TIN2016-78011-C4-4-R)
Here is a list of tools being used by OnToology.
- owl2jsonld ( zenodo )
- Widoco ( zenodo )
- OOPS!
- AR2DTool
- oops-report
- Themis
If you are an ontology engineering willing to use Ontoology, you can check our step by step documentation. Please check also our list of Frequently Asked Questions
Next we provide some documentation for developers who want to contribute to the further development Ontoology or for those who are interested in deploying Ontoology locally or in their servers. Feel free to contact us if you are interested in contributing of fixing some functionality
- You should have docker and docker-compose installed
- You need to have a GitHub user to act as "OnToologyUser" (you can choose any username you like).
- Add the details as in the secret setup section below.
- Run the automated tests script
sh scripts/run_tests.sh
sh scripts/run_web.sh
cp -Rf ~/.ssh/ ssh
(assuming you have a *nix and that you already have an ssh key)mkdir -p .git
docker-compose build --no-cache
docker-compose run -p 8000:8000 web .venv/bin/python manage.py runserver 0.0.0.0:8000
Run the RabbitMQ server (consumers).Locally:python OnToology/rabbit.py
For a linux server:nohup .venv/bin/python OnToology/rabbit.py &
(Optional) you can run it with multiple threadsnohup .venv/bin/python OnToology/rabbit.py 3 &
- Now, this is run automatically. But, make sure that the environment variable
rabbit_processes
is set to a value > 0
For development, you can run the db sh scripts/run_db.sh
. And then locally,
you can access that db. Or you can install mongo db locally on your machine.
sh scripts/run_docker.sh
This file should be added in scripts/secret_setup.sh
#!/bin/sh
export github_password=""
export github_email=""
export client_id_login=""
export client_id_public=""
export client_id_private=""
export client_secret_login=""
export client_secret_public=""
export client_secret_private=""
export test_user_token=""
export test_user_email=""
export rabbit_host=""
Here we describe some of the main ones
rabbit_processes
: The number of rabbit processes to automatically run (0 means do not run it automatically).
There are two workflows:
- Create a new branch from the current live one (now it is
master
). Make sure to give it a presentive name. In case it is for a specific issue, include the issue number in the branch name, e.g. change-spinner-123. - Once you push your changes on the new branch, create a pull request and one of the admins will check your code base and will merge if it is ok.
Case 2: If you are not added as a contributor yet (or you are a contributor who prefers this workflow):
- Fork from the current live branch (now it is
master
). - Create a pull request, we will review it and merge if it is ok.
- To run the tests, we use the
mock
option for github api. It was rejected by thePyGithub
maintainers, so make sure to use the version inahmad88me/PyGithub
. (see below)
(tested on ubuntu, debian, mint and fedora)
- Open the terminal and
cd
to the location of choice. export PLAYGROUND=$PWD
.- Copy and paste the commands of choice to the terminal from
scripts/setup_docker_base.sh
pip install git+https://github.com/ahmad88me/PyGithub.git
git clone https://github.com/ahmad88me/PyGithub.git
cd OnToology
(assuming both are on the same level/directory)pip install -e ../Pygithub
(change this to any directory you want)