Search Mailing List Archives

Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[protege-owl] Questions About Pizza Ontology and Individuals

Olivier Dameron olivier.dameron at
Wed Aug 29 09:34:48 PDT 2007

On Wed, 29 Aug 2007 16:35:27 +0200, "Cesbron, Brice"
<brice.cesbron at> wrote:

> There is something I can't understand with Pizza comparing to an
> ontology that I'have done. 
>  - In the Pizza ontology there are no individuals, why? For example,
> why Mozarella is a classe and not an individual of the cheese class?

The class Mozarella represent all the possible portions of mozzarella
(the package on my fridge, the five packages in the fridge of the Lupa
pizzeria in Rennes, ...) 

Your problem is equivalent to the question "is Cat an instance of
Mammal or a subclass?"
You could use either, but the meaning your ontology would convey would
be slightly different:
- if you decide that Cat is an instance, you are actually talking about
one specific animal (e.g. the black one in the garden) and declaring
that it is a mammal. It would be perfectly acceptable to have other
instances of animal (including the grey cat on the wall) that would not
be mammal. You state your knowledge about one particular cat, but this
knowledge cannot be generalized
- if you decide that Cat is a subclass of Mammal, your are actually
talking about all the past, present, future and hypothetical cats and
yuo say that all of them are necessarily mammals. You describe
knowledge common to all cats, and this is why it can be applied to any

See the OWL tutorial for a more in-depth explanation

>  - Why, when I do the same thing in my ontology (e.g. classes and no
> individuals) the reasoner tell me I'm in OWL Full? (cf picture)

The hasValue construct is use to specify an individual as the filler of
a property.
Think of the class GenuinePizza, for which we have the constraint
"hasMaker only ItalianPerson", where ItalianPerson is a subclass of
Now think of the class OliviersPizza, for which we have the constraint
"hasMaker hasValue olivier", where olivier is an instance of the class

Your example mixes both constructs. It is ok in owl-full to use a class
as an individual. However, it is forbidden in owl-DL (and therefeore in
Now, what is it exactly that you want to model?

>  - How can I place restrictions on individuals and not on their
> class ?

This question is rather vague and the answer would be "it depends".


More information about the protege-owl mailing list