Protege 3.4.2 Release Notes

From Protege Wiki

Jump to: navigation, search

Protege 3.4.2 Patch Release -- December 16, 2009


Release Notes

Protege Client-Server

Modifications to the metaproject

  • Passwords are now encrypted using the MD5 hash function.
  • Existing metaproject files will automatically be updated to the new metaproject format (see below). An archive of the old metaproject will be created in a subfolder of where the metaproject was stored. Passwords will automatically be encrypted.
  • The DigestedPassword widget can be employed to change a user's password without exposing the existing text.

New metaproject format:

  • Groups are now a subclass of PolicyControlledObject, such that policies can be attached to groups, e.g., who is allowed to add a user to a group, etc.
  • Instances of several classes now have property lists attached, such that property-value pairs can be added and accessed without the need to modify the APIs.
  • Last access and last login times are now stored in User instances.
  • A salt property was added to the User class for the MD5 encryption algorithm.
  • Added an "email" property to the User class.

Modifications to the Server Admin Panel

  • A live copy of the metaproject is now shown in the Server Admin Panel, which allows for modification of the metaproject contents at server runtime. For example, policies can be modified on the fly, users and projects can be added, etc. (read more).
  • A "Save metaproject" button is now available on the "Server Control" tab

Modifications to the API

  • Methods for checking the policies on Groups have been added to the RemoteServer interface.
  • Session IDs are now cryptographically secure and support delegation.
  • The metaproject API was updated to mirror the new metaproject structure.
  • Much better logging and error reporting for cases in which a client cannot connect to a Protege server.

Core Protege

  • A combo box instance widget was added that facilitates the selection of existing allowed values. The widget can be attached to single cardinality properties of type Instance.
  • A password widget was added that hides typed text from the user. The widget can be attached to single cardinality properties of type string.
  • The default MySQL column length was reduced to 333 (from 500) to fix the error: "Specified key was too long; max key length is 1000 bytes".


  • The steps to change the way in which resources are displayed (rdf:id vs. rdfs:label) have been significantly simplified.
  • Corrected a problem where the name of an ontology was determined by calculating the xml:base, which is not compatible with the OWL specification.
  • Fixed browser text for entities with multiple types.

Collaborative Protege & Change Management

Modifications to the Changes & Annotation Ontology (ChAO)

  • More structured proposal types are available, e.g., NewConcept proposal, MergeProposal, etc.
  • A status property was added to AnnotatableThing so that the status of the notes, ontology components, and changes can be set. The values of the status are configurable by defining instances of the Status class.
  • Added Review, ReviewRequest, User, and Reviewer classes.
  • Added an "archived" property on the Annotation class.


  • Collaborative Protege now supports the archival of notes and discussion threads. If a note is marked as "Archived", it can then be hidden from the display using the Collaboration menu (Configure | Options | Hide archived notes).
  • The default notes view will show an "archived" check box and a drop-down list for selecting the status of a note. The status can also be set for ontology components or changes.
  • The number of notes attached to a class is shown in the class tree next to the notes icon. The number of notes attached to subclasses is also shown in parenthesis, such that notes at lower levels in the hierarchy are more easily located.
  • A status filter for notes and changes has been added to the filter combo box.
  • Made performance improvements by using a cache of note counts and ontology components.

IMPORTANT: To use new features in Collaborative Protege with an existing ChAO ontology, you need to update your ChAO ontology to the new format. Instructions for updating are available on this wiki.

New Bundled Plug-ins


Axiome is a plug-in for SWRL rules elicitation and management (read more).

BioPortal Reference Plugin

The BioPortal Reference Plugin allows users to insert references to external ontologies and terminologies from BioPortal into their ontologies. The plug-in works with the latest BioPortal 2.2.2 release. A generic Java library for accessing BioPortal services was implemented as part of this plug-in. The library is available in the bioportal_services_lib.jar in the <your-protege-install-dir>/plugins/edu.stanford.bmir.protegex.bp.ref folder.

- Read the BioPortal Reference Plugin user's guide and other documentation.
- Read documentation on the Java library for accessing BioPortal services.

Lucene Query

Lucene Query is a tab plug-in that provides a wide variety of ways to search an ontology (many features are specific to OWL ontologies). Examples of Lucene queries against the NCI Thesaurus are:

Preferred_Name sounds like onkoejene

... or ...

Find all classes that have a necessary or sufficient condition connecting them to genes found in a human organism

The tab allows users to search for resources (individuals, properties or classes) by specifying such things as:

  • A data or annotation property value of the resource is a match for some search criteria. Available search criteria include exact match, strings starting or ending with a specified string, phonetic match, and Lucene query match.
  • A property value is either missing or present. This search works for annotation, object, and data properties.
  • The absence or presence of a necessary or sufficient condition that includes a restriction with a specified property.

In addition, Lucene Query searches can be combined. Users can form conjunctions or disjunctions of primitive Lucene Query searches and can search for classes with necessary or sufficient conditions that contain a restriction with a class matching a query.

Updates to Existing Bundle Plug-ins

Included a new version of DataMaster (version 1.3.2), which contains a fix to work with PostgreSQL databases that have database schemas defined. DataMaster is documented on this wiki.


If you haven't registered to use Protege, please do so before downloading:

Download URL for registered users:

Our installer now supports Windows 7 and 64-bit Windows and Linux platforms. If you are using a 64-bit platform, please scroll to the "Available Installers" portion of the download page and select the appropriate installer:

3 4 2 download page.jpg

Personal tools