The browser loads a single OWL ontology (and its imports) on startup and renders it for easy navigation.
Example using the Star Wars Ontology
- Navigation of all entities (classes, properties, individuals and datatypes)
- Hierarchies, subclass/property/relations/annotations
- Entity usage
- Manchester OWL Syntax rendering
- Ontology metrics
- Searching
- DL Query (with set subtraction)
- Axioms view (and search)
- Paging
- Dark mode
The following profiles are supported
- dev for turning off caching and other local options
- reasoners enable scanning for various DL reasoners (eg Pellet, JFact) on startup for use in DL Query, otherwise simple structural reasoner is used
Use the following java option on run to enable the profile
-Dspring.profiles.active=dev,reasoners
mvn clean jetty:run
Then navigate to http://localhost:8080
This will give you a browser with a tiny example ontology.
Run the Dockerfile, which will build from github by default and create an image based on Jetty 10 Alpine
Run the image and navigate to http://localhost:8080
You can deploy this on railway.app with the button below and be up and running with just a few config variables.
To load your own, set the root ontology location and reasoner root ontology IRI environment variables:
ONTOLOGY_ROOT_LOCATION=<your ontology URL>
REASONING_ROOT_IRI=<IRI of the ontology to be reasoned with>
PROJECT_NAME=<Ontology name>
PROJECT_URL=<Project documentation url>
PROJECT_TAGLINE=<Project tagline text>
PROJECT_CONTACT=<Email address of contact>
LABEL_IRI=<IRI of the annotation property to use for rendering>
RESTART_SECRET=<used for /restart endpoint secret param>
The OWL API treats SKOS Concepts as individuals and their properties as annotations.
You can see the broader/narrower tree in the individuals by Annotation
view
For SKOS-XL terminologies, set LABEL_IRI=http://www.w3.org/2008/05/skos-xl#prefLabel Concept "C" will be rendered as "C Label" if the conventional SKOS-XL reified labelling is used in the loaded terminology:
C Type skos:Concept
l Type skosxl:Label
C -> skosxl:prefLabel -> l
l -> skosxl:literalForm -> "C Label"
This is implemented using Java 20, Spring MVC, OWLAPI and Thymeleaf.
Some dependencies are local (in /repo) as they do not exist on any mvn repo.
This is a personal project and all development is on a purely "as time allows" basis.
There is no release schedule or plan as I currently have no known users. If you wish to use this project in a production environment, please consider contacting me and considering funding development and support. Alternatively, you may fork the project and maintain it yourself.
This is a "fork" of the ontology browser from the CO-ODE project now hosted at https://github.com/co-ode-owl-plugins/ontology-browser.
Unlike v1, there is no storing of sessions/multi config.