Protégé 3.3 Release Notes
The contents of this page describe changes relative to the 3.2.1 release of Protégé.
Important Installation Notes
- Do not install this build over an older version. You need to do a clean install for this release to work properly.
- Protégé 3.3 requires JDK 1.5.
- If you have a project in database format in version 3.2.1 and you want to upgrade, you must
first convert the project to a file-based one in Protégé 3.2.1 , and then regenerate the
database project with Protégé 3.3.
- If you use Protégé in client-server mode, you should be aware that we have changed
the format of the
metaproject ontology. You will have to migrate
your data from the old metaproject ontology to the new format, an example of which can be found in the following location:
<protege-install-dir>/examples/server/metaproject.pprj
Enhancements (Core Protégé & Protégé-Frames)
Enhancements (Protégé-OWL)
Bug Fixes (Core Protégé & Protégé-Frames)
Bug Fixes (Protégé-OWL)
What's new in Protégé's extensions & bundled plug-ins?
What's new in Protégé's SWRL support?
Enhancements (Core Protégé & Protégé-Frames)
- Made many enhancements to client-server Protégé:
- Dramatic performance improvements, specifically for the case where Protégé is being used in client-server mode
with OWL ontologies and the database back-end.
- Added the ability to control access to the Protégé server through an access control policy. The policy is defined in the
metaproject ontology and identifies collections of users (groups) that have rights to perform particular operations. This mechanism is
extensible and can be used by plug-in developers.
- There are several new client-server configuration options that are
documented in the Protégé client-server
tutorial on our Wiki.
- Made several updates that may be of special interest to developers including the
ProtegeJob
class that allows a client to specify a job that must be run on the server and greater access to the details of transactions with the
transaction monitor.
- Added two methods in the RemoteServer interface that allow Protégé clients to create new
projects and users on the server.
- Added the ability to configure slot widgets as "read-only". To make a slot widget read-only:
- Go to the Forms Tab
- Select a particular slot widget
- Double-click on the slot widget to bring up the Configure dialog
- Navigate to the Options tab, where you can set the widget as read-only
This configuration is persistent and saved in the PPRJ (Protégé project) file.
- Added a new project configuration option called "Track changes" that triggers change
tracking when Protégé is running in client-server mode. Project configuration options are available from
Project -> Configure -> Options.
- Added an option in the Project -> Configure... -> Options panel that allows users to enable/disable the Undo/Redo functionality.
- Added a new project configuration option called "Add :NAME Slot on Instance Forms". When this option is
enabled, the :NAME slot will appear on forms for all newly created instances, even if :NAME has not been explicitly
added to the list of template slots attached to the class.
- There are two new properties that users can set in the protege.properties file: 1).
url.connect.timeout
, and 2). url.connect.read.timeout
.
Both of these properties should be set to a value in seconds (the default value is 15 seconds). The properties are
accessible via the Protege API from
ApplicationProperties.getUrlConnectTimeout()
and
ApplicationProperties.getUrlConnectReadTimeout().
Currently, these properties are used by the Protégé-OWL
editor during ontology loading.
- Moved the Property Files panel from the Project -> Configure dialog to the File -> Preferences dialog. The Property
Files panel provides a graphical user interface through which users can modify property-value pairs in the
protege.properties and the Protege.lax files. Please note that modification of the Protege.lax file is not supported
on the Mac OS.
- The Protégé-Frames RDF back-end now supports multiple instance types. This was a serious limitation
in previous versions of the plug-in.
- Added better handling of access denied exceptions when Protégé is running in Applet mode.
- Increased the number of slots in the Multislot Display Pattern dialog from 5 to 8 per user request.
- Added the option in Protégé-Frames HTML Export to generate the output into a hierarchy of folders
instead of dumping all of the files into one folder (neither Windows nor Linux likes to have 16,000+ files in
the same folder). Thanks to go to Mike Hewett for contributing the enhancement.
- Added check for preventing users from adding an already existing direct type to an instance in the Instances tab.
- Added check in the CLIPS parser for user-defined facets defined on non-existent classes.
- Added the ability for users to specify a custom display name for nodes when nodes are displayed in the palette
portion of the graph widget. Custom display names are configurable from the widget configuration dialog, which is
accessed by double-clicking on the graph widget on the Forms tab.
- Added a confirmation dialog in the graph widget when users press the delete button to delete nodes that are
selected on the canvas portion of the graph.
- There is a new directory under <protege-install-dir>/examples called "collaborativeNewspaper" that contains
a version of the newspaper project configured to work with
Collaborative Protégé. If you use Protégé in
client-server mode, the metaproject ontology has been modified to include the collaborative newspaper ontology. If you start the Protégé server
with the example metaproject, you will be able to test Collaborative Protégé in client-server mode.
Enhancements (Protégé-OWL)
- Dramatic performance improvements when the Protégé-OWL editor is used in combination with the database back-end
and client-server mode.
- Added the ability to configure some of the Protégé-OWL slot widgets as "read-only".
To make a Protégé-OWL slot widget read-only:
- Go to the Forms tab
- Select a particular slot widget
- Double-click on the slot widget to bring up the Configure dialog
- Navigate to the Options tab, where you can set the widget as read-only
- Added better support for annotation properties. Simple annotation properties will not be automatically converted
into datatype annotation properties as they were in previous versions.
- Upgraded to Jena 2.5.1
- Updated the EMF interface code generator. The return type of methods now correspond to the generated
interfaces for the property range, rather than returning the more generic "Instance" type.
Bug Fixes (Core Protégé & Protégé-Frames)
- Fixed the "X11 DISPLAY variable not set" error message that was occurring in Protégé's client-server mode.
The Protégé server no longer requires any kind of graphical connection.
- Fixed several bugs that involved incorrect processing of transactions.
- Fixed a bug in the Queries tab. The "protege_query_results" text file now contains the proper
tab delimiters when more than one slot value is exported.
- Fixed the KnowledgeBase.getUserName() method to return the right user name for client-server and
standalone Protégé.
- Fixed a bug in Protégé-Frames HTML Export that caused it to show some class names as plain text
when they should have been clickable links. Thanks go to Mike Hewett for contributing the fix.
- Fixed a ConcurrentModificationException that occurred when an instance had several types.
- Fixed Bug 318 -
the allowed classes of slots attached to instances with multiple types were not handled correctly.
- Setting the title for the add instances panel now works properly. Thanks go to to Daniel Holbert for the fix.
- Fixed the getUserName() call from the KnowledgeBase interface. If in client-server mode, it returns the log-in name,
if in standalone mode it returns the java.user property value.
- Fixed the getChildNode() method in ComponentUtilities to return null if the object is not found in the tree.
Bug Fixes (Protégé-OWL)
- The "Select Properties and Restrictions" dialog (launched from the OWL Classes tab when
using the Properties View) now displays a list of properties both from the current project and
all imported projects. Previously, this dialog only displayed properties from the current project.
- Fixed the browser text of resources for the case in which a browser pattern is composed of several
properties and some of the properties in the pattern do not have a value defined.
- Fixed a problem with SPARQL queries that returned no solution for cases in which a combination of non-string
RDFSLiterals were used in a query.
- Fixed the method asRDFSLiterals(Collection values) from the OWLModel interface to return a collection of
RDFS Literals.
- Fixed a class cast exception in the tooltip of RDFResources.
- Setting the absolute URI as the OWLFileName in the JenaKnowledgeBaseFactory.
- Bug fix related to maintaining the ontology imports order.
- Bug fix for access to the relative folder repository through the Protégé-OWL API.
What's new in Protégé's extensions & bundled plug-ins?
New Plug-ins & Extensions
- Collaborative Protégé: a new extension of the existing Protégé system that supports
collaborative ontology editing. In addition to the common ontology editing operations, users can annotate both
ontology components and ontology changes. There is support for searching and filtering of user annotations
based on a variety of different criteria. Two types of voting mechanisms have been implemented to allow users to
vote on change proposals. Collaborative Protégé can be used with the
Protégé-OWL editor, the
Protégé-Frames editor, and
client-server Protégé.
Please note that Collaborative Protégé is still considered a prototype that is under active
development. Your feedback is most welcome! An installation guide, a user's guide, an online demo, and more
documentation are
available on a separate Web page.
- DataMaster: a new plug-in that allows users to import schema structure and data from relational
databases into Protégé. DataMaster is
documented on the Protégé Wiki.
Thanks go to Csongor Nyulas for this contribution.
- Chat: a new plug-in called the "Chat Tab" for client-server Protégé
that allows users who are connected to the same Protégé server to chat with each other. To enable the
tab, go to Project -> Configure -> Tab Widgets and check the box next to "ChatTab".
Enhancements (made to existing plug-ins)
- Changes Tab: The Changes tab has been
re-engineered to:
- Provide support for several other Protégé plug-ins and extensions including
Collaborative Protégé and
Prompt.
- Work properly in Protégé's
client-server mode.
Documentation for configuring the Changes tab in client-server mode is provided in a
PDF
document in the Protégé Subversion repository.
The ontology used by the Changes tab has been significantly modified. To use the new version of the Changes tab,
you will need to remove old changes annotation projects. If the Changes tab is active while running Prompt, there
is a "Users" tab that can be accessed to determine which users are responsible for making which changes
to the ontology. The Users tab can also be enabled without running Prompt (Project -> Configure -> UsersTab).
Currently, the Users tab is refreshed by disabling and enabling the tab. This will be improved in an upcoming
release.
- PROMPT: Implemented handling of included and imported projects for Map and Merge. Now, if the projects you are
mapping (merging) include or import other projects (ontologies), the merged ontology will include (import) these projects as well. Then, when you
copy, say, a class from one of your source ontologies and that class refers to an included (imported) class, then the corresponding class in the
merged ontology will also reference the same included (imported) class. Furthermore, Prompt will not make any mapping suggestions for included
or imported frames (resources).
- Jambalaya: We are now bundling an updated version of the Jambalaya plug-in (version 2.6.0). To read about all the new features, please visit
the following Web page: http://www.thechiselgroup.org/shrimp/new.
- XMLTab: The XMLTab was updated to work with the Protégé-OWL
editing environment. Previously it only worked with frame-based ontologies.
What's new in Protégé's SWRL support?