Ontoseer
This document provides documentation for the first version of OntoSeer.OntoSeer is a tool that monitors the ontology development process andprovides suggestions in real time to improve the quality of the ontology under development.
Table of Contents
1. Introduction
While building an ontology, there are several things to consider such as reusing concepts/properties from the existing ontologies, using ontology design patterns (ODPs), following the naming conventions for concepts/properties and designing a good class hierarchy. These are issues that beginner ontology engineers find hard and can be tricky for experienced ones as well. OntoSeer (https://github.com/kracr/ontoseer) is a Protege plugin that overlooks the ontology that is being built in Protege and offers different types of recommendations.
2.Prerequisites
-
User should have Protege installed in the machine. Version should be >5.0.0.
If one is not having protege or protege5.0.0 or higher installed they can download latest version of protege from https://protege.stanford.edu/products.php based on machine’s operating system:
-
JRE should be installed in user machine and version should be >1.8. To check for java version one can type java -version in terminal.The following will be the output.
3.Installation Guide
In this section we will discuss how one can download OntoSeer.
3.1 Using Source Code
This repository contains code for OntoSeer (versions 5.0.0 and higher). The Maven POM file in the top-level directory demonstrates all the dependencies to run the tool
Prerequisites
To build and run Ontoseer through code compilation , one must have the following items installed:
- Apache's Maven.
- A tool for checking out a Git repository.
- A Protege distribution (5.0.0 or higher). The Protege 5.2.0 release is available from the main Protege website.
Installation Steps:
-
Get a copy of the example code:
git clone https://github.com/kracr/ontoseer
-
Change into the OntoSeer directory.
-
Type mvn clean package. On build completion, the "target" directory will contain a OntoSeer-${version}.jar file.
-
Copy the JAR file from the target directory to the "plugins" subdirectory of your Protege distribution.
a. Click on the plugins folder.
b.Copy OntoSeer.jar in the plugin folder.
-
Restart Protege.
-
Go to about Section of Protege and check whether the plugin has been correctly installed or not .It will be shown in the window.
- Click on Windows. Click on Tabs .Click on OntoSeer Tab.This window will appear.
3.2 Downloading .jar files
1.One can download Ontoseer.jar file from the following link:
https://github.com/kracr/ontoseer/releases
The link to download the code repository and instruction manual is :
https://github.com/kracr/ontoseer
- Click on Assets->Ontoseer.jar
The jar file will get downloaded.
- Copy the jar file to the plugins folder of Protege.
a. Click on the plugins folder.
b.Copy OntoSeer.jar in the plugin folder.
-
Restart Protege.
-
Go to about Section of Protege and check whether the plugin has been correctly installed or not .It will be shown in the window.
- Click on Windows. Click on Tabs .Click on OntoSeer Tab.This window will appear.
Now Start Building your Ontology.
For tutorial on ontology building one can refer to the Protege tutorial. This can be found in the following link:
https://cgi.csc.liv.ac.uk/~frank/teaching/comp08/protege_tutorial.pdf .
For more information for using OntoSeer please go through OntoSeer_Manual.pdf file present in master branch of OntoSeer.
4.User Manual
This section discusses how OntoSeer can be used along with Protege to get various recommendations.
- Click On OntoSeer tab button. This window will be shown.
4.1 ODP Recommendation
- Click On ODP recommendation button. Two classes must be present for getting ODP recommendation. This window will be shown.
-
Enter description of the ontology that one is trying to make .Alternatively domain name,name of class and properties one want to make or can additively provide with the competency questions.One can provide additional comments also. But one have to make sure that they are actually making at least two classes to get recommendation. But the recommendation will get better if one provide answer to as many questions as one can.
-
Get Recommendation. The recommendation is based on the data that we have scraped from 223 ODPs that we collected from http://ontologydesignpatterns.org/wiki/Community:ListPatterns
4.2 Vocab and Alternate Name Recommendation
- One should start buliding classes and properties in Protege .For example:-
- Click on VocabRecommendation button.
- Select the class or property for which you want the recommendations.Recommendations will be provided based on query results from LOV,Bioportal and our indexed files. 4.Get the recommendations.
4.3 Naming Convention Recommendation
-
One should start buliding classes and properties in Protege .For example:-
-
Click on the NamingRecommendation button.
- Select the class or property for which you want the recommendations.
4.Get the class recommendations.
5.Get the property recommendations.
4.4 Axiom Recommendation
-
Start building the ontologies .
-
Click on Axiom Recommendation button .
- Select the class or property for which you want the recommendations.
4.Get the recommendations.
4.5 Class Hierarchy Validation
Class hierarch validation actually validates the correctness of a subclass hierarchy based on properties like rigidity, identitiy and unity of the classes.
-
Answer the questions in (Y/N) format. Answer to all the questions are mandatory to velidate the hierarchy.
5.Future Work
As part of future work, we plan to engage in a dialogue with the ontology developer to resolve confusing issues such as having some term as a class vs.property vs. instance. This confusion will be resolved by asking the ontology developer a series of questions such as does the term interact with other concepts, are the terms very specific or general, if a term is made into a class, what will be its instances?
6.Sustainability Plan
In the process of building OntoSeer, we have been able to collect only a few owl corpora and index them. The end-user can add other corpora according to their suitability by downloading them; OntoSeer will index them.
7.Demo Video of OntoSeer
1.A brief demo of OntoSeer can be found in the link:https://youtu.be/LGXHGXmVanI . 2.A brief presentation of OntoSeer is available at: https://www.youtube.com/watch?v=8WrgaHixkww&t=0s
8.Google Form for User Study
Please find the link of Google form for user study here. Please give inputs so that we can make the tool better. https://docs.google.com/forms/d/1TlYaGaQYB2ewwAJbcIZDxXz2APyngvsvSbMRmizbf94/edit?usp=sharing
9.Index Creation
For creating a new index for OntoSeer please follow the following steps.
- Clone the entire OntoSeer project from "https://github.com/kracr/ontoseer.git"
- Import the project as a Maven project in eclipse.
- Go to file under "OntoSeer/src/main/java/edu/stanford/bmir/protege/examples/view/indices.java" folder.
- Run the file as a java application.
- The system will ask for the name of the folder which you want to index. Please provide it with it.
- It will take some time based on number and size of files. On completion it will print a message "Done indexing".
- After this click on Maven install for the entire project.
- Now use OntoSeer.jar following the procedure mentioned in above steps.
Alternatively, 1.Clone the entire OntoSeer project from "https://github.com/kracr/ontoseer.git" 2.Go to the folder where OntoSeer is dowloaded through command prompt. 3. Go to the OntoSeer/src/main/java/edu/stanford/bmir/protege/examples/view/ folder. 4. Run the index.sh file. 5. On completion "Done Indexing" will be shown. Use the generated OntoSeer.jar for recommendation.
10.Citation
Please do not forget to cite any of the two below bibtex if you are using OntoSeer.
@inproceedings{DBLP:conf/comad/BhattacharyyaM21, author = {Pramit Bhattacharyya and Raghava Mutharaju}, editor = {Jayant R. Haritsa and Shourya Roy and Manish Gupta and Sharad Mehrotra and Balaji Vasan Srinivasan and Yogesh Simmhan}, title = {OntoSeer: {A} Tool to Ease the Ontology Development Process}, booktitle = {{CODS-COMAD} 2021: 8th {ACM} {IKDD} {CODS} and 26th COMAD, Virtual Event, Bangalore, India, January 2-4, 2021}, pages = {428}, publisher = {{ACM}}, year = {2021}, url = {https://doi.org/10.1145/3430984.3431067}, doi = {10.1145/3430984.3431067}, timestamp = {Mon, 18 Jan 2021 16:23:27 +0100}, biburl = {https://dblp.org/rec/conf/comad/BhattacharyyaM21.bib}, bibsource = {dblp computer science bibliography, https://dblp.org} }
or
@mastersthesis{M.TechThesis, author = {Pramit Bhattacharyya and Raghava Mutharaju}, title = {A recommendation system involving human-in-the-loop to improve the quality of ontologies}, booktitle={M.Tech Thesis}, school = {Indraprastha Institute of Information Technology, Delhi}, year = 2020, }