Difference between revisions of "Collaborative Protege"

From Protege Wiki
Jump to: navigation, search
Line 68: Line 68:
 
= User Guide =
 
= User Guide =
  
The main feature of Collaborative Protege
+
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.
  
The following guide gives a brief description of the main functionalities of Collaborative Protege, which are:
+
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.
  
* Annotation of classes, properties and instances
+
 
* Annotation of changes (for example, class creation, renaming, etc.)
+
This user guide gives a brief description of the main functionalities of Collaborative Protege, which are:
* General discussion threads
+
 
 +
* 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
 
* Proposals and voting
* Searching and filtering of annotations by different criteria
+
* Searching and filtering the notes using different criteria
 
* Live discussion (chat) with other users connected to the same server
 
* Live discussion (chat) with other users connected to the same server
  
  
== The collaborative panel ==
+
== The collaboration panel ==
  
 
The main panel of the graphical user interface has been divided in two main panels (see image from below):
 
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 classical Protege display (classes, properties and instances view) on the left side, and
* The collaborative panel on the right side.
+
* 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 collaborative panel adds functionality to support the collaborative development of ontologies.
+
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 '''collaborative panel''' is made up of two types of tabs.
 
  
* The ''Annotations, Changes'' and ''All'' tabs show information related to the selected item in the class tree. For example, if you select in the class tree the class ''Person'', you will see in these tabs the annotations related to the class ''Person''. In the ''InstanceTab'' of the main Protege display, the collaborative panel is listening to the selection of the instances list (not the class tree). In this way, you may add annotations to the instances.
+
The '''collaboration panel''' is made up of two types of tabs.
* The ''Discussion Threads, Search'' and ''Chat'' tabs are generic tabs that do not listen to the selection of classes in the class tree.
 
  
The tabs in the collaborative panel are made up of a top component, which shows an annotation tree and a bottom component which shows the details of the selected annotation in the annotations tree.
+
* 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.
  
It is possible to '''search''' in the annotations tree 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 on the annotation texts.
 
  
Another feature is the '''filtering''' of annotations or 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.
+
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.
  
== Annotating classes, properties and instances ==
+
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.
  
The ''Annotations'' tab in the collaborative panel, allows you to annotate the currently selected ontology component. By ontology component, we mean classes, properties (or slots) and instances. See image below.
+
 
 +
== 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.
  
  
Line 109: Line 114:
  
  
The image shows an example of annotations attached to the ''Publication'' class. You may create discussion threads related to a particular ontology component (in the example, ''Publication'' class). There are different types of annotations that may be attached to an ontology component, such as comments, questions, examples, etc. It is also possible to create proposals and to allow other users to vote. Proposals and voting are described in the section 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:
 +
 
 +
 
 +
[[Image:CollabProtege_Comment.png]]
 +
 
 +
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.
 +
 
 +
 
  
In order to create a new annotation, you have to first select an annotation type from the combo-box at the top of the ''Annotations'' tab. Then, you may choose to reply to an existing annotation by clicking on the call-out icon near the combo-box, or you may start a new discussion thread by clicking on the second icon (little rectangle). The third icon allows you to see the details of the annotation, such as the text of the annotation, the author and creation date.
 
  
  

Revision as of 19:57, February 13, 2009

Collaborative Protege

by Tania Tudorache

Screenshot

Type Project
Author(s) Tania Tudorache
Last Update February 13, 2009
License Mozilla Public License
Homepage Collaborative Protege website
For Application
Topic(s)
Affiliation

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.

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:

  1. 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.
  2. 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

  1. Install the full distribution of the latest version of Protege.
  2. Start Protege.
  3. Open the newspaper.pprj project from the examples/newspaper folder in the Protege installation directory.
  4. In the Collaboration menu, click on Show Collaboration Panel
  5. 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.

    ChAO CreationDialog.png

    After the ChAO project is created, the collaboration panel should come up. You should see something like this:

    Chao Newspaper.png

  6. 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.

  1. Do all the steps for the installation in Stand-alone mode.
  2. Open the metaproject.pprj project from the examples/server folder in the Protege installation directory.
  3. 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.
  4. Select the Newspaper instance and set as value of annotationProject slot the Project instance created in the previous step.
  5. Save the project and close Protege.


Test the Protege server and client

  1. 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.
  2. Start a Protege client: Start Protege and select the Server mode in the Open Project dialog.
  3. In the Server panel, leave all the default entries like they are. (Hostname: localhost, User: Guest, Password: guest). Click on OK.
  4. 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.


CollabProtege entityNotes.png


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:


CollabProtege Comment.png

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.



Annotating changes

Collaborative Protege is continuously tracking the changes that users are doing. You can see the changes related to a certain ontology component (for example, a class) in the Changes tab of the collaborative panel.

Besides annotating ontology components themselves, you may also annotate changes of the ontology. For example, you may comment on a class rename operation or on the addition of a property to a class, as show in the image below. Annotation of changes may be done in the Changes Tab in the collaborative panel (see image below).


CollabProtege changes.png


If you want to create an annotation on a change, you have to first select an annotation type from the combo-box at the top of the Changes tab. Then, select a change in the annotations tree and click on the call-out icon next to the combo-box. The second icon allows you to see the details of the selected changes and annotations.

The All (Ann. & Chg.) tab allows you to see both the annotations and the changes related to a certain ontology component in an integrated view.


Discussion threads

The Discussion Threads tab allows you to create generic discussion threads that are not necessarily related to a certain ontology component. The Discussion Threads tab is show in the image below.


CollabProtege ontologyNotes.png


First you need to select an annotation type from the combo-box at the top of the Discussion threads tab. If you want to start a new discussion thread, please use the Create icon at the top of the annotations tree (little rectangle icon). If you would rather reply to an existing message, please select first the annotation you would like to reply to and then click on the call-out icon. The view icon allows you to see the details of a certain message.


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.

Currently the prototype does not support workflows for proposals (such as starting and closing a proposal), but we intend to add this feature in the near future.

If you want to start a proposal, you can do this in one of the Annotations, Changes, All or Discussion Threads tabs. It is possible to start a proposal related to a certain ontology component, for example, a class. For this case, please create a proposal in the Annotations tab, after selecting the class in the Protege classes tree. Then, select in the annotations type combo-box one of the AgreeDisagreeProposal or the FiveStarVoteProposal and click on the create annotation icon (little rectangle icon). You will see in the annotations tree a new node that has as an icon a little text file icon. You can see a screenshot of a proposal here.

It is also possible to start a proposal related to a change, which you can do in the Changes tab of the collaborative panel. If you want to start a generic proposal not related to a particular ontology component, you can do this in the Discussion Threads tab.

After you have created a proposal, other users may vote for it by selecting in the annotations type combo-box the corresponding vote type. Users may also comment their votes in the vote details pane at the bottom of the collaborative panel.


Searching

Besides the simple search functionality available in all the tabs of the collaborative panel, user may also do complex searches in the Search tab.


CollabProtege search.png


The Search tabs allows you to specify different types of searches 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.


Chat with other users

You may chat with other users that are connected at the same time on the Protege server. All the chat messages are broadcasted to all the users. You can see the users that are connected to the server in the task bar at the bottom of the main Protege display.


CollabProtege chat.png


If a chat message is received, while you are browsing another tab, the icon and font of the chat tab will change so that it attracts your attention. You can see this in the image from above. If there are no new messages in the Chat tab, you will see a smiley icon next to the Chat tab title, like here.


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:


CollabProtege configure.png


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:


CollabProtege afterConfiguration.png


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:

  1. A short paper describing Collaborative Protege
  2. A short presentation of Collaborative Protege
  3. Protege Client-Server Tutorial
  4. Protege user guides