Holger Knublauch
May 09, 2006
Protege-OWL is arguably the most widely used open-source ontology development tool nowadays. During my time at Stanford and the University of Manchester, I was privileged to contribute to the design and implementation of the OWL support in Protege. After I moved to TopQuadrant to develop Composer, several people have approached me to ask for the differences between Protege and TopBraid Composer. Here are some comments to compare the two platforms.
Like Protege-OWL, TopBraid Composer is an ontology development tool with OWL and RDF Schema support. TopBraid Composer has some similarities with Protege (for example very similar icons), but apart from that it is a completely new system, developed from scratch. In a sense, Composer applies lessons learned from Protege and related tools such as SWOOP. My colleagues from TopQuadrant have many years of experience in using and teaching semantic technology for real-world applications, and much of this experience went into the design of TopBraid Composer.
While Protege is an open-source system with an academic background in various research projects, Composer is a commercial platform. This has various implications. Protege has successfully served as a test-bed for ontology development tooling in the past and will continue to do so, but users have complained that Protege-OWL never really gets "stable", and new bugs continue to creep in with each beta. TopBraid Composer is a professional tool with a stable user interface and a solid foundation. While we anticipate to enrich TopBraid with many new features in the future, we will ensure that our users' investments in training and the stability of the system will not be compromised by new versions.
The decades-long history of research behind Protege has nurtured a large community of users, many of which have followed the evolution of Protege from its early frame-based days to OWL. This evolution however has left a stack of APIs that is not optimized for RDF Schema and OWL. TopBraid Composer uses Jena, a native RDF/OWL API as its foundation, and the whole user interface design was optimized with the Semantic Web standards in mind.
Protege-OWL is free and the whole source code available for inspection, in particular for Java developers who want to build their software on top of the Protege platform. Users of TopBraid Composer require a registration key beyond an evaluation period, and the source code is not visible. However, TopBraid Composer is built upon the Eclipse platform and uses Jena as its underlying API. Both Eclipse and Jena are open-source, very well documented and have very large user communities. This means that it is fairly easy to develop extensions for TopBraid, and of course we will publish the JavaDocs to document the extension points. Developers will not need to know much about TopBraid at all, but mostly work with Jena and Eclipse APIs.
Due to the similar icons the overall interface design may look similar in both tools. However, there are fundamental architectural differences. The Protege user interface is organized into tabs - top-level pages for different aspects of the model such as classes, properties and instances. This creates a clean separation of concerns and provides a protected sand box for plugin developers, but makes it difficult to perform tasks that cross the tab boundaries. In TopBraid Composer, the Eclipse environment is separated into multiple views that can be organized and rearranged arbitrarily. This enables users to visualize different aspects of the model at the same time. Furthermore, TopBraid comes with consistent drag and drop support between all its views.
The design of Protege-OWL has been strongly influenced by the description logic foundation of OWL. The Protege user interface provides several abstractions such as "Necessary and Sufficient conditions" to hide the underlying language details. TopBraid Composer's user interface reflects the standards much closer, and uses the official W3C terminology such as owl:equivalentClass. While this requires some understanding of the OWL/RDF syntax, the result is a very consistent and transparent user interface.
I don't really want to compare features here, and invite you to explore the features of TopBraid Composer yourself. Both Protege and Composer have a long list of components for visualization, reasoning, and refactoring. A major difference is probably that in the Protege world many useful features come from third-party contributions, while TopBraid comes with a lot of pre-configured building blocks. For example, a rules engine is built-in; there is no need to install external tools. TopBraid exploits some of the strengths of the Eclipse platform to provide features such as graphical visualization and UML import.
Overall we hope that TopBraid Composer will be useful for the growth of the semantic technology community in general, to the benefit of all users no matter which tool they prefer. |