Protégé Programming Development Kit (PDK)
The Protégé Programming Development Kit (PDK) is a set of documentation and examples that describes and
illustrates how to develop and install plug-in extensions for Protégé, and how to work directly with
the Protégé APIs. Plug-ins can be used to change and extend the behavior of Protégé.
Protégé itself is written as a collection of plug-ins and these can be replaced singly or as a whole to completely
alter the interface and behavior of Protégé. Protégé has a core API, which is used to access
basic Protégé functionalities and frame-based knowledge bases (such as those created with
Protégé-Frames).
Protégé also has an OWL API that extends the core API to provide access to OWL ontologies (such as those created with
Protégé-OWL). The Protégé API can be used directly by external applications to access
Protégé knowledge bases and make use of Protégé forms without running the Protégé
application.
Developing plug-ins for Protégé
Working with the Protégé APIs
Accessing Protégé source code
Design Rationale
Note:
Developers of OWL-specific code should use the
Protégé-OWL API instead of the
core API. Although many of the examples below refer only to the core API, they are similarly relevant to users of the OWL API.
Developing plug-ins for Protégé
Core Protégé, Protégé-Frames
- Start with An Introduction to Developing Plug-ins (an overview of plug-ins and the plug-in development process).
- Read about the time effort involved in developing a plug-in.
- See specific directions and examples for writing each type of plug-in:
- tab widget --
for functionality/application extensions to appear on a new tab in the Protégé user interface.
- slot widget --
for user interface extensions to the group of components that support slot value entry.
- back-end -- for storage extensions.
- createproject --
for creating Protégé knowledge bases from source files produced by another program.
- export --
for exporting Protégé knowledge bases in a variety of formats, both file and database.
- project --
for manipulating a project and its user interface at various points in the project's lifecyle.
- Read the following helpful articles on the Protégé Wiki:
- Learn plug-in debugging tips.
- Please read the plug-ins section of our FAQ before getting serious about developing a plug-in.
- Browse the library of plug-ins contributed by the Protégé community on our wiki.
- Find examples of plug-ins in the Protégé source code.
Protégé-OWL
- Read the Protégé-OWL API Programmer's Guide for
details about developing Protégé-OWL plugins.
- Learn how the Protégé-OWL API supports development of
additional types of plug-ins:
- OWL model action -- for new options to appear in the main menu and main tool bar
- resource action -- for new options to be added to the right-click menu of classes, properties or individuals,
or to the lower left corner of forms
- ontology test -- for new functionality to be activated when users press the Test ontology buttons
- resource display -- for new arbitrary components to be added to the lower right corner of each form
- Browse the library of plugins
contributed by the Protégé-OWL community on our wiki and at the
CO-ODE project.
- Find examples of plug-ins in the Protégé-OWL source code.
Working with the Protégé APIs
Core Protégé, Protégé-Frames
Protégé-OWL
Accessing Protégé source code
Most users probably don't need day to day access to our source code as it changes. For these users, we provide
stable versions of the source code for Core Protégé, Protégé-Frames, and
Protégé-OWL in ZIP file format on the
downloads page of our
Web site.
The source code for Core Protégé, Protégé-Frames, Protégé-OWL, and many
Protégé plug-ins is housed in a
Subversion repository,
which is an open-source version control system.
If you just want to
browse the latest version of the code or download a few
individual files, the best tool for this is the Web based
ViewVC for Subversion. You may also go directly to the public
repository via any Web browser:
http://smi-protege.stanford.edu/repos/protege/.
If instead, you would like to
download the latest version of the source code, you need a Subversion client such as
TortoiseSVN. The proper URL to check out Core Protégé and Protégé-Frames
source code is:
http://smi-protege.stanford.edu/repos/protege/protege-core/trunk/
. The proper URL to check out
Protege-OWL source code is:
http://smi-protege.stanford.edu/repos/protege/owl/trunk/
. More detailed instructions
for checking code out of our repository are provided in the Protégé Contributor's Guide (see link below).
Design Rationale
Core Protégé, Protégé-Frames - descriptions of the
design decisions which are most often asked about.