USERS
DEVELOPERS


see also:
PROTEGE-FRAMES FAQ
FILE ENCODING FAQ
PROTEGE WIKI

 protégé-owl faq

Please note that this FAQ page is specific to the 3.x series of Protégé-OWL. If you are using the 4.x series, you should instead refer to the 4.x FAQ page located on the Protégé wiki.






How do I install Protégé-OWL?

The Protégé-OWL editor is bundled with the "full" installation of Protégé. If you are only interested in creating OWL ontologies, you may choose the "Basic + OWL" option during the install process. Choosing this option will install the core Protégé system, the Protégé-OWL editor, and only those plug-ins that work with OWL ontologies, e.g. OWLViz, OWLDoc, etc.

Where do I ask questions and report bugs?

For questions and/or bug reports that are specific to Protégé-OWL, please send email to the protege-owl mailing list. You must be subscribed to the list in order to post messages. More information about the subscription process for all Protégé-related mailing lists is available in the "Community" section of our Web site.

Where can I look at a list known bugs and feature requests?

Go to the Protege Bugzilla Main Page and click "Search existing bug reports". On the Advanced Search tab, choose Protege as the Product, choose Protege-OWL as the Component, specify a version number, and click the Search button.

How do I load an OWL file?
Why can't I load my OWL or RDF file?

If Protégé-OWL fails to load a given OWL or RDF file, please try the following things:
  1. Run it through the University of Manchester's OWL Validator to make sure your file is well formed.
  2. Run it through the OWL Syntax patcher and try reloading the result.
  3. If your file still does not load, post a question to the protege-owl mailing list with a link to your ontology file.
How do I work with multiple files and the import mechanism?

Please refer to our guide on managing imports in Protégé-OWL.

Why does my Protégé-OWL OWL/RDF file look strange?

Many people examine the OWL files produced by Protégé-OWL and remark that they look strange and irregular. In particular, they find the files difficult to parse back with an XML parser. It is important to note that Protégé-OWL uses the Jena parser library to save files, and thus we have little impact on the details of the output. This also means that however complex or irregular the OWL files look, you can always use Jena to parse the file for use in your Java application. The reason why the files may look strange is that Jena does some optimizations to shorten the files, e.g. to remove duplicate links and to streamline parsing. You could try alternative output formats such as N3 or RDF/XML (without abbrev) and see whether you prefer them to the RDF/XML abbrev.

How do I execute a reasoner such as Racer?

Exploitation of OWL's reasoning capabilities such as consistency checking and classification can easily be done with Protégé-OWL. All you need to do is download the Racer server (under Windows this is a simple executable program that you execute with Protégé-OWL). If you cannot connect to Racer, you may have to adjust your server settings (in OWL | Preferences...), but usually it works on the first try.

Another source of confusion revolves around OWL species. OWL ontologies can be in OWL Full, OWL DL, or OWL lite. OWL Full basically means that an ontology could contain arbitrary OWL statements, i.e. anything could link to anything else in the ontology, etc. If your ontology uses some of the advanced features of OWL Full (especially metaclasses), then the classifier will reject the ontology, i.e. it won't classify it. In these cases you can use the Test Ontology button to get a list of OWL DL violations, which you can then try to remove. If this does not help, your ontology may import other ontologies, which are OWL Full.

How do I create numeric value restrictions such as "wheels with diameter over 10"?

OWL restrictions are optimized for cardinality expressions, i.e. you can easily say that a property must have at least 1 and at most 4 values. However, it is currently not possible to specify numeric range constraints such as "wheels with diameter over 10". An OWL working group is currently collaborating with the XML Schema group to allow for the definition of user-defined datatypes such as (integer greater than 10), which will then be used in allValuesFrom restrictions in OWL. As soon as this feature is standardized, Protégé-OWL will support it.

Update: The first 3.2 beta release of Protégé-OWL will include support for user-defined XML Schema datatypes, albeit with a native solution first.

[Response from Bernard Vatant]: OWL makes provision for logical 'qualitative' definition of classes, but definitely not for 'quantitative' definition, like "wheels with diameter over 10". This is not a bug, it's a feature :) . Cardinality is a logical feature, but numerical value of a DatatypeProperty is not one. There are arcane reasons for this dealing with structure of integers vs real numbers. There are some workarounds though. You can define properties minDiameter and maxDiameter and define subclasses of Wheel by hasValue restrictions on those. But this will be only declarative - logical reasoners will not detect any inconsistency if you have set minDiameter to 10 for BigWheel class, and an instance of BigWheel has declared a diameterValue of 9.

How do I create properties with duplicates and/or ordered values (with rdf:Lists)?

OWL/RDF property values are normally unsorted, i.e. the order of values for a property may be different the next time you load your ontology. Also, OWL/RDF does not allow you to assign duplicates to property values. Trying to assign a duplicate value is usually prevented from by user interface. However, if the order of values or duplicates are important to you, you can use rdf:Lists. rdf:List is a predefined system class in RDF, and it is normally hidden in Protégé-OWL. You can activate rdf:List in OWL | Preferences..., after which you can change the range of your property to rdf:List and set "Functional" to true, so that the property can take exactly one rdf:List as a value. Then, if you create an instance of a class where the property is used, you will get an RDFListWidget to create/add/remove/delete values for the property. This creates an rdf:List in the background.

An advanced scenario is illustrated in the OWL file: http://protege.stanford.edu/plugins/owl/testdata/list-example.owl. You can import this file into Protégé-OWL to see how it looks. It defines a subclass of rdf:List in which the entries in the list are restricted to the class Person. While rdf:List would allow values of any owl:Thing, this solution restricts the list entries, similar to a range definition on the property.

I like the traditional Protégé-Frames interface, but Protégé-OWL looks completely different...

For those users who are familiar with the traditional Protégé-Frames user interface, the look and feel of the Protégé-OWL UI may be a shock. There are many new symbols and widgets on the screen, and some of the traditional Protégé-Frames features have been moved or obscured.

Sorry, but OWL is different! We tried to build an editor that provides access to as many of the advanced OWL features (such as logical class definitions) as possible. This means that the Protégé-OWL UI is necessarily different from Protégé-Frames.

Also, the language paradigms are different. While Protégé-Frames is traditionally rather object-oriented (frame-based) with classes and slots, OWL is based on Description Logics. As a result, the usual metaphor of building a class with its attributes is not directly applicable in OWL. Rather, you use OWL to define classes by their logical characteristics and then take advantage of reasoning support.

If you want to build an OWL ontology, but still want to interact with the Protégé-Frames UI, you have the following options:
  1. Work in Protégé-Frames mode and export your file to OWL as necessary using the File | Export to Format menu item. If you use this approach, it should be noted that you won't be able to take advantage of advanced OWL features such as namespaces. Furthermore, you run the risk of using features that are not supported by OWL, such as abstract classes.
  2. In the Protégé-OWL editor, use the simpler "Properties View" on the OWL Classes tab, instead of the "Logic View". The Properties View has a look and feel that is closer to the traditional Protégé-Frames UI. You can switch to the Properties View by clicking on the Properties View radio button at the bottom right-hand corner of the OWL Classes tab.
  3. You could manually modify the Protégé-OWL UI to make it simpler. The core Protégé system supports the ability to customize the forms that the user sees for class creation, etc. For example, go to OWL | Preferences... and activate owl:Class on the Visibility tab. Then, you can navigate to the Forms tab, where you can easily replace or remove widgets you don't want to appear. For example, you could remove the conditions widget, remove the disjoint classes widget, and make the properties at class widget bigger.
  4. Only use RDF(S) concepts in your project (see next question).
How do I edit RDF(S) files with Protégé-OWL?

OWL is an extension of RDF. Therefore, any RDF project can also be regarded as an OWL project which simply does not use advanced OWL features. While the focus of Protégé-OWL is on editing OWL ontologies, it can also be used to edit RDF ontologies and RDF Schema files or databases. To activate this support, go to the OWL | Preferences dialog and activate an RDF profile. When RDF is activated, Protégé-OWL will display additional buttons to create pure RDFS classes and RDF properties. In particular, there will be a new button on the Properties tab, which can be used to create RDF properties. You can also decide whether new classes will be RDFS classes or OWL classes using "Create class using metaclass", or you can make rdfs:Class the default metaclass (both are done with a right-click on the classes tree in the OWL Classes tab). If you are creating a new project, you can select an RDF profile in one of the wizard pages.

Note that we generally don't recommend mixing pure RDF(S) elements with OWL elements in OWL ontologies, but Protégé-OWL at least allows you to load, import and edit RDF if needed. This may be particularly important if your project requires access to ontologies or structured data that is only available as RDF(S). Also note that the support in Protégé-OWL for editing RDF should not be confused with the older RDF back-end that was developed for Protégé-Frames. More information about the Protégé-Frames RDF back-end is available on the Protégé Wiki.

If you are interested in RDF, you may want to take a look at some of the other RDF-related plug-ins that have been developed for Protégé, most of which are documented on our Wiki: Why am I getting "An error related to DOT has occurred" when trying to use the OWLViz plug-in?

If you are trying to use the OWLViz plug-in, and you see the following error message:
dot error message
... it means that you have not successfully completed two of the steps necessary for properly configuring OWLViz. You must do the following in order for the plug-in to work:

  1. Download and install a copy of Graphviz, which is a free, open source graph visualization software from AT&T Research.
  2. On the OWLViz tab, click the Options button to bring up the Options dialog. On the Layout Options panel, specify the path to the location of the DOT executable. The panel will look something like the following screenshot:
configure path to dot