60 
 
Chapter 7 Names: IRI’s, Labels, and Namespaces 
 
In exercise 2 we set up some parameters regarding new entity names and rendering without much of an 
explanation. The concept of a name in OWL is a little complex so we wanted to wait until you had a basic 
grasp of an ontology before diving into these details.  
To start with remember that every entity in your ontology has a unique Internationalized Resource 
Identifier (IRI)9. An IRI is similar to a URL. In fact, a URL is a kind of IRI. I.e., all URLs are IRIs but 
many IRIs are not URLs. A URL is typically meant to identify a specific page meant to be viewed in a 
browser. An IRI is often at a smaller level of granularity and for any kind of resource, not only those 
meant to be viewed in a browser. If you go to the Active ontology tab in Protégé you will see the 
Ontology IRI for your ontology. This is the base IRI that all entities have in common. In addition, each 
entity has a subsequent part that comes after the base IRI that uniquely identifies the IRI for the entity.  
You can see this by clicking on any entity and starting (but don’t complete) the Refactor>Rename entity 
command. Click on the Pizza class. Then select Refactor>Rename entity.  You will get a pop-up window 
with the current name: Pizza. However, this is only the final part of the IRI. To see the full IRI click on 
the check box in the lower right corner that says: Show full IRI. Your full IRI will be different but it will 
look something like: http://www.semanticweb.org/pizzatutorial/ontologies/2020/PizzaTutorial#Pizza.  
Uncheck the Show full IRI box and then Cancel the rename command.  
If you recall from exercise 2 there are two options when you create a new entity. One is to use a user 
supplied name. That is the option that you should have selected at the beginning of the tutorial and that 
should be active now. The other is to use an auto-generated name. This option creates a Universally 
Unique Identifier (UUID) for the IRI of each entity. A UUID is an ID that is generated by an algorithm 
and is guaranteed to be unique. There are also two ways to display an entity. One way is to use the last 
part of the IRI that typically comes after a # sign as in the Pizza example above. The other is to use an 
annotation property called a label. An annotation property is meant to provide meta-data about an entity. 
Object and data property values can only be asserted on Individuals. However, since all entities have 
meta-data annotation properties can be asserted on to any entity. There are some annotation properties 
that are included by default with any Protégé ontology. You can see these by looking at the Annotation 
properties tab. Note that just as with other properties you can also add your own annotation properties but 
they should be used for meta-data not for regular data. You will see rdfs:label is one of the default 
annotation properties. When you use UUIDs for your entity IRIs then by default Protégé will 
automatically use the name you type in for a new entity in the rdfs:label annotation property. 
Although you can also configure Protégé to use other properties if you wish, using the same dialog for 
entity rendering that you used in exercise 2.  
There are advantages and disadvantages to both options and there are options in between such as using 
both user supplied names for IRIs and using rdfs:label for more intuitive names. The details can get 
complicated and there also isn’t universal agreement within the community as to which is generally 
better. For your first ontology and since you will be using SPARQL I chose to use user supplied entity 
names because it is the simpler option and is especially better for SPARQL queries as you will see in the 
 
9 IRIs are also sometimes called URIs. A URI is the same as an IRI except that URIs only support ASCII characters 
whereas IRIs can support other character sets such as Kanji. The term people use these days is usually IRI.