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?
- In Protégé versions 3.3.1 and 3.2.1, choose File | Open..., specify the location of your
OWL file in the "Open Project" dialog, and click OK.
- In Protégé 3.1.1, choose File | New Project... to bring up the "Create New Project" wizard.
Check the "Create from Existing Sources" checkbox, choose "OWL Files (.owl or .rdf)" from the list of
project types, and click Next. Specify the location of your OWL file in the "OWL file name or URL" field, and
click Finish.
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:
- Run it through the University of Manchester's
OWL Validator to make sure your file is
well formed.
- Run it through the OWL Syntax patcher
and try reloading the result.
- 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:
- 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.
- 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.
- 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.
- 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:
... 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:
-
Download and install a copy of Graphviz, which is a free,
open source graph visualization software from AT&T Research.
- 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: