PrF UG intro extending protege

From Protege Wiki
Revision as of 17:18, November 13, 2008 by RichMorin (talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Extending


Protege-Frames User's Guide
Intoductory Topics
Using this Guide
What is Protege?
What is Protege-Frames?
Planning a Project
A Newspaper Example
Extending Protege
Glossary, Editing Help

Protege includes an application programmer interface, the Protege API, that allows a Java programmer to extend the Protege system. The API provides the Java packages and classes for complex operations such as creating new widgets:

  • Tab widget - a user interface tab that appears in the main Protege window alongside system tabs such as the Classes tab. The Queries tab is an example of a tab-widget plug-in.

  • Slot widget - appears on a form and is used to view and acquire a value for a slot at an instance. The TextFieldWidget, used for acquiring and displaying strings, is an example of a slot-widget plug-in.

  • Back-end - specifies the mechanism that Protege will use for storage (either as text or in a database). The RDF back-end is an example of a back-end plug-in.

  • Createproject - takes a file in a source format produced by another program and creates the closest possible "natural" Protege knowledge-base.

  • Export - provides an extensible mechanism for exporting Protege knowledge-bases in a variety of formats, both file and database. This plug-in type is related to back-end plug-ins, but is much easier to develop and serves a somewhat different need.

  • Project - allows manipulation of a Protege project and Protege's project UI.

API documentation is available at:

http://protege.stanford.edu/doc/pdk/index.html

Starting with Protege 3.2 beta, you can programmatically add your own configuration tab to the project configuration panel. The tab will also appear in the Configure dialog box. Instructions for this can be found on the Protege Wiki at:

http://protege.cim3.net/cgi-bin/wiki.pl?AddingUserDefinedProjectConfigPanel