This repository is in the process of being superceded with a collection of other, more fine-grained, repositories. We are moving WebProtégé to a microservice architecture and each microservice and each common library now has its own repository. While this repository still serves as the repository for the current WebProtégé release, all active development is now taking place in these repositories. You can read more about this on the WebProtégé Next Gen Wiki.
WebProtégé is a free, open source collaborative ontology development environment.
It provides the following features:
- Support for editing OWL 2 ontologies
- A default simple editing interface, which provides access to commonly used OWL constructs
- Full change tracking and revision history
- Collaboration tools such as, sharing and permissions, threaded notes and discussions, watches and email notifications
- Customizable user interface
- Support for editing OBO ontologies
- Multiple file formats for upload and download of ontologies (supported formats: RDF/XML, Turtle, OWL/XML, OBO, and others)
WebProtégé runs as a Web application. End users access it through their Web browsers. They do not need to download or install any software. We encourage end-users to use
https://webprotege.stanford.edu
If you have downloaded the webprotege war file from GitHub, and would like to deploy it on your own server, please follow the instructions at:
https://github.com/protegeproject/webprotege/wiki/WebProtégé-4.0.0-beta-x-Installation
To build WebProtégé from source
- Clone the github repository
git clone https://github.com/protegeproject/webprotege.git - Open a terminal in the directory where you clone the repository to
- Use maven to package WebProtégé
mvn clean package - The WebProtege .war file will be built into the webprotege-server directory
To run WebProtégé in SuperDev Mode using maven
- Start the GWT code server in one terminal window
mvn gwt:codeserver - In a different terminal window start the tomcat server
mvn -Denv=dev tomcat7:run - Browse to WebProtégé in a Web browser by navigating to http://localhost:8080
To run WebProtégé using Docker containers:
-
Enter this following command in the Terminal to start the docker container in the background
docker-compose up -d
-
Create the admin user (follow the questions prompted to provider username, email and password)
docker exec -it webprotege java -jar /webprotege-cli.jar create-admin-account -
Browse to WebProtégé Settings page in a Web browser by navigating to http://localhost:5000/#application/settings
- Define the
System notification email addressandapplication host URL - Enable
User creation,Project creationandProject import
- Define the
To stop WebProtégé and MongoDB:
docker-compose downSharing the volumes used by the WebProtégé app and MongoDB allow to keep persistent data, even when the containers stop. Default shared data storage:
- WebProtégé will store its data in the source code folder at
./.protegedata/protegewhere you rundocker-compose - MongoDB will store its data in the source code folder at
./.protegedata/mongodbwhere you rundocker-compose
Path to the shared volumes can be changed in the
docker-compose.ymlfile.
The steps above use the pre-built WebProtégé image from Docker Hub. If you would rather build your own image from the source code (for example, from the latest code on the master branch), follow the steps below.
The only thing you need installed on your machine is Docker. You do not need Java or Maven — the whole application is compiled inside Docker.
-
Get the source code and go into the project folder
git clone https://github.com/protegeproject/webprotege.git cd webprotege -
Build the Docker image
Run the command below. It builds the image and names it with the
latest-devtag, so you can easily tell it apart from the official image on Docker Hub:docker build -t protegeproject/webprotege:latest-dev --build-arg WEBPROTEGE_VERSION=5.0.0-SNAPSHOT .Be patient — this compiles all of WebProtégé inside Docker and can take 20 minutes or more the first time you run it.
The
WEBPROTEGE_VERSIONvalue must match the<version>number near the top of thepom.xmlfile. On the currentmasterbranch that version is5.0.0-SNAPSHOT. -
Point Docker Compose at your
latest-devimageCreate a file named
docker-compose.override.ymlnext todocker-compose.yml, with this content:version: "3" services: webprotege: image: protegeproject/webprotege:latest-dev
Docker Compose reads this file automatically and will use your locally built image instead of downloading the official one.
-
Start WebProtégé and MongoDB
docker-compose up -d
-
Finish the setup
Follow steps 2 and 3 in the Running from Docker section above to create the admin user and configure the application settings. When you are done, WebProtégé is available at http://localhost:5000.
If you later change the source code, repeat steps 2 and 4 to rebuild the image and restart the containers with the new version.