0

I am using Protege 4.3.0 to describe remediation activities in oil-damaged areas. I am a complete newbie at ontologies and followed Matthew Horridge's tutorial.

He expresses the fact that every Pizza has some Toppings through the propriety hasTopping, that it has one base through hasBase etc... I was wondering what would have been the drawbacks of creating a general property "has" and expressing the fact with

Pizza has some Topping

Pizza has max 1 Base

and so on ...

Any consideration?

Adriano

agaved
  • 258
  • 2
  • 9

2 Answers2

2

The general rule in creating ontologies is to be as specific as possible. Based on the Pizza ontology example and the two main object properties:

hasTopping
hasBase

If you only define "has" instead of the two, it means that you can say:

Pizza has max 1 PizzaBase
Pizza has min 3 PizzaTopping

Imagine that you have FrenchPizza that is equivalent to:

has some (TomatoTopping and ThinBase)

This will result in an inconsistency, since PizzaBase and PizzaTopping are disjoint and it cannot distinguish between the property relating them. However, if you had the original two properties, this would not have occurred.

Hope this helps.

Artemis
  • 3,271
  • 2
  • 20
  • 33
  • but in this case wouldn't I say: `FrenchPizza has max 1 ThinBase` and `FrenchPizza has some TomatoTopping`? – agaved May 17 '13 at 19:49
  • 1
    If you do, the problem still remains. The point is that you need to distinguish between the smallest details in an ontology for it to be unambiguous and consistent. – Artemis May 18 '13 at 12:54
  • Also, since the two relations are the same, you can summarise it like I did. Conjunction in ontologies can be achieved in multiple ways. – Artemis May 18 '13 at 12:55
  • As a simple rule of thumb: `has` could work for some cases (as any other verb), but the whole idea of the ontology is to specify as much as possible the relations. `has` could be ambiguous in some cases, therefore it is better to specify as much as possible by using `hasTopping` and `hasBase`. – loopasam May 18 '13 at 14:39
1

Using has would be fine in many situations. As opposed to what Conquering Scientist said, I see no reason to be as specific as possible. In fact, it such was the case, the Pizza ontology would not be specific enough. However, using simply the verb has for the name of the property would probably be prone to mistakes. But you could have a property hasIngredient that is more general than hasTopping and hasBase.

One advantage of defining hasTopping is that you can set its domain and range independently from hasBase, so that:

<p>  <hasTopping>  <t> .

entails:

<t>  a  <Topping> .

while:

<p>  <has>  <t> .

does not say anything about <t>.

In any case, you must conscious that the Pizza tutorial is not a tutorial for good ontology modelling. It is merely presenting all the features of Protégé 4. If I was selling pizzas and wanted to organise the information with SemWeb technologies, I would never use such an ontology.

Antoine Zimmermann
  • 5,314
  • 18
  • 36