Generate clean, structured OWL ontologies from your MongoDB database in just a few clicks.
OntologyGen is a web-based software tool built with Python and Django, designed for the automated generation of OWL ontologies from MongoDB databases using Formal Concept Analysis (FCA). It provides a seamless workflow for extracting structured knowledge from NoSQL databases, simplifying ontology engineering through an interactive web interface.
- Software Architecture
- Docker Image
- Backend (Django)
- Frontend
- Getting Started
- Video Demonstration
- Utilization
- Contributing
- License
The OntologyGen application is structured as a Django-based web app with a clean separation between the backend (handling FCA, data processing, and ontology generation) and the frontend (managing user interactions and data visualization). It uses MongoDB as the primary data source and integrates FCA algorithms for concept lattice generation.
- MongoDB Integration: Data source for ontology generation.
- Django Backend: Handles context extraction, lattice generation, and OWL mapping.
- Interactive Frontend: User-friendly web interface for data import, lattice visualization, and ontology export.
- Docker Containerization: Simplifies deployment and setup.
The Docker setup for OntologyGen includes both the backend (Django server) and the MongoDB database for easy local deployment.
version: '3'
services:
mongodb:
image: mongo:latest
ports:
- "27017:27017"
volumes:
- ./data/db:/data/db
backend:
build:
context: ./backend
ports:
- "8000:8000"
environment:
- DJANGO_SETTINGS_MODULE=ontologygen.settings
depends_on:
- mongodb
To start the Docker environment, run:
docker-compose up --build
- Python 3.11+
- Django 4.2+
- PyMongo
- Docker
- Automated context extraction from MongoDB collections.
- Concept lattice generation using FCA.
- Ontology class and property mapping.
- OWL file export.
- HTML/CSS
- JavaScript
- Bootstrap (for responsive design)
The frontend is built using Django templates for seamless integration with the backend logic.
- Templates: HTML pages for each step in the ontology generation process.
- Static Files: CSS for styling and JavaScript for dynamic interactions.
- User Interface: Clean, minimal design with step-by-step navigation.
-
Git:
- Make sure you have Git installed. If not, download and install it from git-scm.com.
-
Docker:
- Make sure you have Docker installed. If not, download and install it from docker.com.
- Clone the Repository:
git clone https://github.com/Med-Gon/OntologyGen.git
cd OntologyGen
- Build and Run Docker Containers:
docker-compose up --build
- Access the Application:
Open your browser and navigate to:
http://localhost:8000
Click the link below to watch a demonstration video:
Ontologygen_demenstration_opt.mp4
-
Generate Formal Context:
Review the automatically generated formal context table.
-
Create Concept Lattice:
Visualize the relationships between collections and attributes.
-
Apply Mapping Rules:
Convert the lattice to an OWL ontology structure.
-
Ontology Visualization:
Generated Ontology Graph that shows the hierarchy and object properties.
-
Export Ontology:
Download the generated OWL file for further use.
We welcome contributions from the community! If you’d like to contribute to OntologyGen, please fork the repository and submit a pull request.
This project is licensed under the MIT License. You are free to use, modify, and distribute this software as long as the original license terms are respected.
See the LICENSE
file for details.