Updates to Protege Client-Server
1). Modifications to the metaproject:
a) Passwords are now encrypted using the MD5 hash function.
b) 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.
c) 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
- Added an "email" property to the User class.
- A "Save metaproject" button is now available on the "Server Control" tab
3). Modifications to the API:
- Methods for checking the policies on Groups have been added to the
- 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.
Updates to 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 string.
- 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".
Updates to Protege-OWL
- 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
- Fixed browser text for entities with multiple types.
Updates to Collaborative Protege & Change Management
1). Modifications to the Changes & Annotation Ontology (ChAO):
a) More structured proposal types are available, e.g., NewConcept
proposal, MergeProposal, etc.
b) 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.
c) Added Review, ReviewRequest, User, and Reviewer classes.
d) Added an "archived" property on the Annotation class.
2). 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).
3). 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.
4). 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.
5). A status filter for notes and changes has been added to the filter
6). Made performance improvements by using a cache of note counts and
3). Lucene Query - 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) 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.
b) A property value is either missing or present. This search works for
annotation, object, and data properties.
c) 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 Bundled Plug-ins
Bundling 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 our wiki:
Please note that Stanford will be closed from December 21st, through
January 1st. If you experience problems with this patch release,
previous versions of Protege are always available for download: