Planning a Protégé-2000 Project

The development of a successful knowledge-based system built with Protégé-2000 is more of an art than a science. Nonetheless, we can suggest a standard pattern of use that new users should follow to avoid some possible problems of systems development. Protégé-2000 is designed to support iterative development, where there are cycles of revision to the ontologies and other components of the knowledge-based system. Therefore developers should not expect to "complete" ontology development without considering other aspects of the process.

For the development of a successful Protégé-2000 project, we would recommend the following steps:

  1. Plan for the application and expected uses of the knowledge base. This usually means working with domain experts that have a set of problems that could be solved with knowledge-base technology.
  2. Build an initial small ontology of classes and slots, as explained in the Classes and Slots strand.
  3. When you have built this ontology (and later when you have extended it or opened it from file), you can directly view forms for entering  instance knowledge into the ontology, because Protégé-2000 generates initial forms "on the fly", in its role as a KA-tool generator.
  4. You use these forms for acquiring slot values of your test instances, as explained in the Instances strand. At this point, it is usually appropriate to show the ontology and the filled-out instance forms to the domain experts or your expected users. This inevitably leads to a set of revisions, both to the ontology (2.) and to the forms (5.). Note that ontology modifications can be expensive, since some sorts of change could force rebuilding some or all of the knowledge base.
  5. Customize the forms to a refined knowledge-acquisition tool, as explained in the Forms strand. While constructing this customized version of the KA-subtool, further design problems in the original ontology may become apparent. If necessary revise the ontology and repeat at 4.
  6. With your domain experts, build a somewhat larger knowledge-base that can be tested with your application or problem-solving method.
  7. Test the full application with your end-users. This step can lead to further revisions to the ontology and the KA-subtool.

The picture below shows this typical pattern of use for the Protégé-2000 subsystems. The black arrows indicate the forward progression through the process, while the blue dotted arrows show places where revisions are usually necessary (either to the ontology or the knowledge-acquisition tool).  

 

At the heart of a successful Protégé-2000 project is the design of the class and slot structure of the ontology. In particular, the model you use in building your ontology must balance the needs of the domain expert when building a knowledge base (at knowledge-acquisition time) against the requirements of your problem-solving method or application (at run-time). Hopefully, these are not too contradictory! Ontology developers should therefore both:

As a simple example from the Newspaper Example, a problem to be solved could be finding all advertisements that are more expensive than some threshold. For this problem, one should build into the ontology a class for advertisements that includes price and date published. If this information were spread out over all publication issues, then it would be more difficult for the problem-solver to access all instances of advertisements and their prices.


Next: A Newspaper Example