Collaborative Protégé Tania Tudorache Natasha Noy Stanford Medical Informatics Stanford Medical Informatics 251 Campus Drive 251 Campus Drive Stanford, CA 94305, USA Stanford, CA 94305, USA tudorache@stanford.edu noy@stanford.edu ABSTRACT While the first two items can be generally solved by soft- We present an extension of the existing Protégé1 system ware re-engineering, managing the content of an ontology that supports collaborative ontology editing. The extended in a multiple user setting poses many conceptual challenges. system—Collaborative Protégé—is currently available as a When multiple users control and develop the content of an prototype. In addition to the common ontology editing op- ontology, we need not only to resolve the technical issues erations, it enables annotation of both ontology components of simultaneous access to the ontology for different clients, and ontology changes. It supports the searching and filter- but also to address challenges specific to the collaboration ing of user annotations based on different criteria. We have aspect of the task: discussions, annotations, conflict resolu- implemented two types of voting mechanisms that can be tion, and so on. We envision that ontology developers will used for voting of change proposals. use annotation to add comments to ontology components, to ask questions about them, to discuss modeling decisions and so on. This model raises the question on how the user an- Categories and Subject Descriptors notations should be represented, stored and processed. The H.5.3 [Group and Organization Interfaces]: Collabo- support for filtering and searching in the body of annota- rative computing, Computer-supported cooperative work, tions are also essential features. A natural extension is to Web-based interaction; H.3.5 [On-line Information Ser- support the extraction of ontology views based on the user vices]: Web-based services, Data sharing annotations. For example, a user may want to see a view of an ontology as agreed by most of the other users. This means that the tool should provide support for capturing General Terms user agreement or disagreement as well as ratings of other Design, Management, Measurement, Algorithms users annotations. These are some of the research challenges that have to be tackled by a collaborative ontology development. In the Keywords following sections, we will present a prototype that we have Ontology development, Collaboration, Annotation, Change developed, which supports some of the common tasks in- management, Protégé volved in collaborative ontology development. 1. INTRODUCTION 2. COLLABORATIVE PROTÉGÉ SYSTEM Existing ontology development environments have focused The Protégé system [1] is an open-source ontology edi- so far on the editing of ontologies in a stand-alone, single- tor and knowledge-base framework developed by Stanford user mode. The emerging of the Semantic Web and of the Medical Informatics. It uses a frame-based representation Web 2.0 technologies bring a new challenge to the ontology formalism [3]. The Protégé editor also supports the editing editor providers, the collaborative editing of ontologies in of RDF(S)2 and OWL3 ontologies. a web-based environment. The evolution of the ontology We developed the Collaborative Protégé prototype as an editors has to happen on several axes: extension of the existing multi-user Protégé system. The multi-user system is a client-server version of Protégé, which • From single-user applications to multi-user environ- allows multiple clients to connect to a Protégé server and to ments browse and edit simultaneously the same ontology. All the changes done by one client are seen immediately by all the • From thick client to thin clients (web-based) other clients. One of the main features of a collaborative development • From single-user control of ontology content to multi- tool is to allow the users to comment and discuss about the ple user content control content and changes of the ontology that they develop in common. We realize this feature by supporting the associa- 1 http://protege.stanford.edu tion of annotations to any component of the ontology or to Copyright is held by the author/owner(s). 2 WWW2007, May 8–12, 2007, Banff, Canada. http://www.w3.org/TR/2000/CR-rdf-schema-20000327/ 3 . http://www.w3.org/2004/OWL/ component is provided by the underlying Protégé system. The Annotation Component allows the user to annotate on- tology components, such as classes, properties and individ- uals, as well as ontology changes, such as class creation or deletion, with annotation types defined in the Annotation ontology. The Annotation ontology is a RDF(S) ontology that pro- vides the structure for the annotation types supported by the tool. The annotation types are extensions of the An- notea [2] annotations and contain concepts such as Com- ment, Advice, Example, etc. User annotations are stored as instances of the predefined annotation classes and can be used for annotating both ontology components as well as ontology changes. Figure 1: Core components of the Collaborative The Change tracking component is responsible for inter- Protégé architecture that support the annotation of cepting the user actions in the GUI and creating change ontology components and of changes in the ontology. annotations attached to the changed ontology components. Change annotation types are defined in the Annotation on- tology. any change that occurs in the ontology. The tool also pro- The system supports also discussion threads by allowing vides support for different visualizations of the annotations, the users to reply to the comments of other users. This is which can be customized by the user by specifying different realized by a flexible representation of annotations, which filtering criteria. A user may search through the available can themselves be annotated. The system supports also annotations by specifying simple or complex search criteria. the rating and voting of proposals, which are represented as The main purpose of this prototype is to gather users annotation types in the Annotation ontology. requirements for a collaborative ontology development envi- Other components of the system are the searching and ronment. Currently, the prototype is available as a stand- the filtering components, which are crucial in dealing with alone application and as an applet. However, after gathering large bodies of annotations. The filtering component will be the users requirements and feedback, we envision that the used in future versions of the system to create user-defined functionalities offered by the current prototype will be im- views of an ontology based on user preferences. plemented in a web-based application. 2.3 Software Architecture 2.1 System Functionality The system is implemented as a plug-in of the existing The system is an extension of the existing Protégé tool and Protégé system. The prototype enables several Protégé clients takes advantage of the existing Protégé functionality, such to connect through Remote Method Invocation (RMI) to a as ontology editing and structured instance acquisition. server that stores a repository of ontologies. The main functionality provided by the Collaborative Protégé The current prototype can be used both as a stand-alone prototype are: application for the cases in which several users edit the same ontology at different timepoints, or in a multi-user setting, • Annotation of ontology elements, such as classes, prop- in which multiple clients may edit the same ontology in a erties, individuals concurrent fashion. In the multi-user setting, the clients • Annotation of ontology changes, such as class creation, may connect either by using Protégé rich client or by using deletion, renaming, etc. the Protégé applet client. • Support for change proposals and voting of proposals 2.4 The Graphical User Interface The graphical user interface of the Collaborative Protégé • Support for filtering of existing annotations builds on top of the available plug-ins of the Protégé user interface and provides additional graphical components for • Support for searching of annotations based on simple editing and browsing the annotations. Figure 2 shows a or complex criteria screenshot of the Collaborative Protégé in which the classes • Support for discussion threads view has been enhanced with an annotations panel in which the user can edit and browse the annotations. Another important feature that is currently only exper- The annotations panel provides different views of the an- imental is the support of ratings for existing user annota- notations: tions. This feature enables the implementation of different web-of-trust algorithms. • Changes annotations view 2.2 System Design • Ontology Components annotations view Figure 1 shows a diagram of the core components of the system that support the collaborative development of on- • All annotations view (both Changes and Ontology Com- tologies and specifically the ontology and changes annota- ponents annotations) tion process. The user interacts with the Ontology Editor Component and the Annotation Component. The editing • Discussions thread view Figure 2: The Collaborative Protégé GUI. Classes view together with the annotations panel (on the right- hand side of the display). The annotations tree that is shown in any of the views support for different types of collaborative editing settings. of the annotations panel can be filtered based on user pref- For example, a possible collaborative editing scenario is in erences. For example, the user may choose to see only the a community in which users do not have direct write per- annotations provided by a certain person, or the annotations mission on an ontology and a central authority reviews and of a certain type (for instance, only Example annotations), accepts change proposals requested by the users. For this or annotations that have been added in a certain period of case, the system should provide support for the proposal time. The user can also build complex filters that combine and voting process. the criteria mentioned before. We also intend to provide statistics of the annotations (for A user may start a proposal for a change in the ontology example, what ontology components have the most annota- and may start also a voting process for it. Two types of tions associated to them) as well as a pluggable mechanism voting annotation types can be chosen: a “5-star” voting for supporting different web-of-trust algorithms. as shown in Figure 2, or a “Agree/Disagree” type of voting. Currently the prototype does not support a workflow for the 4. REFERENCES voting mechanism, but it is one feature that we intend to [1] J. H. Gennari, M. A. Musen, R. W. Fergerson, W. E. support in the near future. Grosso, M. Crubézy, H. Eriksson, N. F. Noy, and S. W. Tu. The evolution of Protégé: An environment for 3. CONCLUSIONS AND FUTURE WORK knowledge-based systems development. Technical We have presented a prototype for collaborative ontology Report SMI-2002-0943, Stanford Medical Institute, development that can be used for editing and browsing the 2002. user annotations on ontology components and on ontology [2] J. Kahan and M.-R. Koivunen. Annotea: an open RDF changes. The prototype supports the searching and filtering infrastructure for shared web annotations. In of user annotations based on different criteria. Two types Proceedings of the 10th International World Wide Web of voting mechanisms have been implemented that can be Conference, pages 623–632, 2001. used in voting for change proposals. [3] N. F. Noy, R. W. Fergerson, and M. A. Musen. The The main purpose of the current prototype is to gather the knowledge model of Protégé-2000: Combining user requirements for a collaborative ontology development interoperability and flexibility. In R. Dieng and environment. We envision that the existing functionalities O. Corby, editors, Knowledge Acquisition, Modeling and and as well as new ones that result from the user feedback Management, 12th International Conference, EKAW will be integrated in a web-based application with full on- 2000, Juan-les-Pins, France, October 2-6, 2000, tology editing capabilities. Proceedings, volume 1937 of Lecture Notes in Computer The existing Annotation ontology may be extended based Science, pages 17–32. Springer-Verlag, 2000. on the user feedback. We also envision to provide workflow