Collaborative Protege
Collaborative Protege
Collaborative Protege is an extension of the existing Protege system that supports collaborative ontology editing as well as annotation of both ontology components and ontology changes.
Contents
- 1 Versions & Compatibility
- 2 Changelog
- 3 Overview
- 4 Online Demo
- 5 Installation Guide
- 6 User Guide
- 6.1 The collaboration panel
- 6.2 Annotating classes, properties and instances with different types of notes
- 6.3 Annotating changes with different note types
- 6.4 Ontology notes
- 6.5 Browsing all entity and ontology notes
- 6.6 Proposals and Voting
- 6.7 Searching
- 6.8 Chat with other users
- 6.9 Configuring the collaborative components
- 7 Contact and support
- 8 Resources
Versions & Compatibility
This section lists available versions of Collaborative Protege.
No version information available.
If you click on the button below to add a new version of Collaborative Protege, you will be asked to define a page title for the new version. Please adhere to the naming convention of Collaborative Protege X.X.X when you define the new page!
Changelog
No version information available.
Overview
Collaborative Protege is an extension of the existing Protege system that supports collaborative ontology editing. In addition to the common ontology editing operations, it enables annotation of both ontology components and ontology changes. It supports the searching and filtering of user annotations, also known as notes, based on different criteria. We have implemented two types of voting mechanisms that can be used for voting of change proposals. Multiple users may edit the same ontology at the same time. In multi-user mode, all changes made by one user are seen immediately by other users. There are two working modes available for Collaborative Protege. Both modes support multiple users working on an ontology:
- The multi-user mode - allows multiple clients to edit simultaneously the same ontology hosted on a Protege server. All changes made by one client are immediately visible by other clients. This mode is also referred to as client-server mode, or concurrent mode and requires a client-server setup. This mode is based on the implementation of the multi-user Protege and is the preferred mode in which Collaborative Protege should be run.
- The standalone mode - allows multiple users to access the same ontology in succession. The ontology can be stored on a shared network drive and all clients will access the same project files. However, simultaneous access is not possible. This mode is also referred to as the consecutive mode.
This user guide applies to both multi-user and standalone mode of Collaborative Protege.
Online Demo
For an online demo of Collaborative Protege, please visit this page.
Installation Guide
Collaborative Protege is distributed with the full installation of Protege. You may use Collaborative Protege both in stand-alone mode and in multi-user mode. The installation guide will use as an example the Newspaper project distributed in the examples/newspaper folder in the Protege installation directory.
Stand-alone mode
- Install the full distribution of the latest version of Protege.
- Start Protege.
- Open the newspaper.pprj project from the examples/newspaper folder in the Protege installation directory.
- In the Collaboration menu, click on Show Collaboration Panel
- A dialog will come up that asks what type of Changes and Annotations ontology (ChAO) to create. You may choose between RDF(S) file, database backend, or existing ChAO knowledgebase. See below the screenshot of the ChAO creation dialog.
After the ChAO project is created, the collaboration panel should come up. You should see something like this: - Save the project. In the examples/newspaper folder, a project annotation_newspaper.pprj was created that contains the ChAO knowledgebase.
Multi-user mode
If you want to use Collaborative Protege in multi-user mode, you will need to do some additional steps.
- Do all the steps for the installation in Stand-alone mode.
- Open the metaproject.pprj project from the examples/server folder in the Protege installation directory.
- In the InstanceTab, create a new instance of Project for the annotation_newspaper.pprj. The name of the instance is not important. The location slot should point to the location of the annotation project. For this example, the value of the location slot should be: examples/newspaper/annotation_newspaper.pprj.
- Select the Newspaper instance and set as value of annotationProject slot the Project instance created in the previous step.
- Save the project and close Protege.
Test the Protege server and client
- Start the Protege server by using the run_protege_server start script. Detailed information about starting the Protege server can be found in the Protege Client-Server Tutorial.
- Start a Protege client: Start Protege and select the Server mode in the Open Project dialog.
- In the Server panel, leave all the default entries like they are. (Hostname: localhost, User: Guest, Password: guest). Click on OK.
- In the Select Project panel, select the Newspaper project. When the project is displayed, you should see also the collaborative panel.
User Guide
The main feature of Collaborative Protege is the ability to create notes attached to different things. This is the same idea as if someone would read an article and would add marginal notes on the paper. In the same way, the notes mechanism of Collaborative Protege allows a user to create his own remarks about a certain part of the ontology. This feature can also be used to discuss the ontology with other users either in stand-alone or multi-user mode. The notes are also called annotation and we will use these two words interchangeably. However, we do prefer the word notes because annotation is overloaded with too many meanings.
Another important feature of Collaborative Protege is the ability to track changes as they happen, that is to show the change history of an entity in the ontology. We will talk about the change history in the Change tracking section from below.
This user guide gives a brief description of the main functionalities of Collaborative Protege, which are:
- Annotation of classes, properties and instances with different types of notes (e.g., Comment, Advice, Example, etc.)
- Annotation of changes (for example, class creation, renaming, etc.) with different types of notes
- Notes on the ontology itself
- Proposals and voting
- Searching and filtering the notes using different criteria
- Live discussion (chat) with other users connected to the same server
The collaboration panel
The main panel of the graphical user interface has been divided in two main panels (see image from below):
- The classical Protege display (classes, properties and instances view) on the left side, and
- The collaboration panel on the right side.
The classical Protege display shows the details of the different ontology components, such as classes, properties (slots) and instances. The collaboration panel adds functionality to support the collaborative development of ontologies.
The collaboration panel is made up of two types of tabs.
- The Entity notes and Changes tabs show information related to the selected item in the class tree (or property tree, etc.). For example, if you select in the class tree the class Person, you will see in these tabs the notes related to the class Person. In the InstancesTab of the main Protege display, the collaboration panel will show the notes attached to instances.
- The Ontology notes, All notes, Search and Chat tabs are generic tabs that are not attached to a particular entity in the ontology, so they are "global" in nature.
The tabs in the collaboration panel are made up of a top component, which shows a notes tree. The notes tree corresponds to discussion threads in Internet forums. The bottom component shows the details of the selected note in the notes tree.
It is possible to search the notes by using the search component at the bottom of the annotations tree panel. You may use the * wildcard character for your search. The searching is done in the text of the notes.
Another feature is the filtering of notes and changes, which may be done by using the Filter component from the top of the annotations tree. You may choose between different types of filters that will be applied to the annotations tree: filtering by author, by annotation text, by annotation type or by creation date. The class tree in the main Protege display shows a little call-out icon next to the class name if the class has any annotations or change annotations attached to it. In the Slots Tab and Instance Tab in the main Protege display you will also see the call-out icon if a property (slot) or an instance have annotations attached to them.
Annotating classes, properties and instances with different types of notes
A user may add notes attached to a specific ontology component in the Entity Notes. By ontology component, we mean classes, properties (or slots) and instances. See image below.
The image shows an example of note attached to the DomainConcept class. To create a new top level note, first select the note type from the combo-box, and then click on the New thread button. A dialog will come up in which you may enter the text of your note. It is possible to use different types of fonts (bold, italic, underline, etc.), to highlight text, or to insert internal links to entities in the ontology. Such a dialog is shown in the image below:
An internal link is a link to a entity in the ontology. When the user clicks on the link, the class editor of that particular entity (e.g, class) will pop up. In the example above, the inserted link was: @'http://www.co-ode.org/ontologies/pizza/2005/10/18/pizza.owl#Pizza' . When a user clicks on this link, the Pizza class editor will show up.
To reply to an existing note, select the note, and click on the Reply button. You may also choose the type of note you would like to use as your reply. Predefined notes type are:Comment, Advice, Example, SeeAlso, Vote, etc.
To view the details of an existing note, you may click on the magnifier icon on top of the notes tree. To refresh the display of the notes (maybe another user has added meanwhile a reply to a note), click on the Refresh icon on top of the notes tree.
Annotating changes with different note types
Collaborative Protege is continuously tracking the changes that users are making. You can see the change history of a certain ontology component (for example, a class) in the Changes tab of the collaboration panel.
Besides annotating ontology components themselves, you may also annotate changes to the ontology using different note types. For example, you may comment on a class rename operation or on the addition of a property to a class. Notes on changes are made in the Changes Tab (see image below). The user interface of the notes tree is identical to the one of the Entity Notes tab. Please read that section for more information.
To create a note on a change, first select a note type from the combo-box at the top of the Changes tab. Then, select a change in the changes list and click on the Reply button.
Ontology notes
The Ontology Notes tab allows you to attach notes to the ontology itself, rather than to a specific ontology component. The user interface of the notes tree is identical to the one of the Entity Notes tab. Please read that section for more information. The Ontology Notes tab is show in the image below.
Ontology notes do not respond to the selection in the class tree (or other trees). In this sense, they are more "generic" type of notes. For example, an ontology note may describe naming conventions that should be kept throughout the entire ontology, or design guidelines for the ontology.
Browsing all entity and ontology notes
Very often, discussions about different ontology classes (or other entities) go on in parallel threads and are attached to the classes. There is no easy way of figuring out which classes have notes attached to them. The All Notes Tab shows all the ontology notes together with all the entity notes. It is an integrated view that gives the user an overview of what is going on in the ontology. As with the Ontology Notes, this tab is not dependent on the selection in the class tree (or other trees). The All Notes Tab is shown in the image below:
Proposals and Voting
Collaborative Protege supports two different types of proposals and voting:
- Agree / Disagree proposals, which users may vote with a Agree / Disagree vote
- Five Stars Vote proposals and the corresponding Five Star voting.
The current version does not support workflows for proposals (such as starting and closing a proposal), but we intend to add this feature in the near future.
You may start a proposal in one of the Entity Notes, Ontology Notes, All Notes or Changes tabs. You may start a proposal related to a certain ontology component, for example, a class. In this case, you should create the proposal in the Entity notes tab, after selecting the class in the Protege classes tree. Then, select in the notes type combo-box one of the AgreeDisagreeProposal or the FiveStarVoteProposal and click on the New thread button. You will see in the notes tree a new node that has as an icon containing the "p" letter.
It is also possible to start a proposal related to a change in the Changes tab of the collaboration panel. If you want to start a generic proposal not related to a particular ontology component, you may do this in the Ontology Notes tab.
After you have created a proposal, other users may vote for it by selecting in the notes type combo-box the corresponding vote type. Users may also add comments to their votes.
Searching
Besides the simple search functionality available in all the tabs of the collaborative panel, users may also do complex searches in the Search tab.
You may specify in the Search tabs different types of search criteria that can be combined by an AND or OR condition:
- Author name
- Annotation text
- Annotation type
- Date
Once you click on the Search button, the results of the search are shown in the Search Results panel. You may see details on a certain result either in the bottom details panel or by clicking on the view icon from the top of the Search Results pane. If a note is attached to an ontology component, you may click on the second icon on top of the Results panel to browse the details of the annotated ontology component.
Chat with other users
You may chat with other users that are connected to the Protege server. Chat messages are broad casted to all users. You may see the users that are connected to the server in the task bar at the bottom of the main Protege display.
If a chat message is received, while you are browsing another tab, the icon and font of the chat tab will change in red so that it attracts your attention (see image above). If there are no new messages in the Chat tab, you will see a smiley icon next to the Chat tab title. Just as in the notes text, you may send internal links to entities in the ontology. The other users receiving the chat message will be able to click on the link and a class browser will pop up showing the corresponding class. (The internal links work also with properties and individuals).
Configuring the collaborative components
Starting with Protege 3.4 beta 109, it is possible to configure the collaborative tabs that will be displayed in Protege. This can be done from the Collaboration menu -> Configure. In this way it is possible to enable and disable the collaborative tabs. After clicking on Configure, you will get the panel from below:
In this panel, enable the checkboxes corresponding to the tabs that you would like to see and disable the ones that you would like to hide. In the example from the screenshot, the user enabled the Annotations and the Chat tab and disabled the rest. After the configuration, the Protege display may look like in the figure below:
Contact and support
Collaborative Protege is actively developed and supported. It is currently just a prototype that we intend to extend into a full-fledged web-based application for collaborative ontology development. All your feedback is welcome! Please send comments, questions and bug-reports to tudorache at stanford.edu.
Resources
For more information, please see the following links: