protege logo
      HOME |  OVERVIEW |  DOCUMENTATION |  DOWNLOADS |  SUPPORT |  COMMUNITY |  WIKI |  ABOUT US
USERS
DEVELOPERS


see also:
PROTEGE-OWL FAQ
 integration of jena in protégé-owl

Jena is one of the most widely used Java APIs for RDF and OWL, providing services for model representation, parsing, database persistence, querying and some visualization tools. Protégé-OWL has always had a close relationship with Jena. The Jena ARP parser is still used in the Protégé-OWL parser, and various other services such as species validation and datatype handling have been reused from Jena. It was furthermore possible to convert a Protégé OWLModel into a Jena OntModel, to get a static snapshot of the model at run time. This model, however had to be rebuilt after each change in the model.

As of August 2005, Protégé-OWL is now much more closely integrated with Jena. This integration allows programmers to user certain Jena functions at run-time, without having to go through the slow rebuild process each time. The architecture of this integration is illustrated below.





The key to this integration is the fact that both systems operate on a low-level "triple" representation of the model. Protégé has its native frame store mechanism, which has been wrapped in Protégé-OWL with the TripleStore classes. In the Jena world, the corresponding interfaces are called Graph and Model. The Protégé TripleStore has been wrapped into a Jena Graph, so that any read access from the Jena API in fact operates on the Protégé triples. In order to modify these triples, the conventional Protégé-OWL API must be used. However, this mechanism allows the use of Jena methods for querying, while the ontology is edited inside Protégé.

The OWLModel API has a new method getJenaModel() to access a Jena view of the Protégé model at run-time. This can be used by Protégé plug-in developers. Many other Jena services can be wrapped into Protégé plug-ins this way, by providing them a pointer to the Model created by Protégé.



HOME |  OVERVIEW |  DOCUMENTATION |  DOWNLOADS |  SUPPORT |  COMMUNITY |  WIKI |  ABOUT US
Valid XHTML 1.0! Valid CSS!