Understanding Extential and Universal restriction use case (Pizza ontology use case)

347 views Asked by At

Here is a simple question from the Pizza ontology guide. Please help me in clarifying in my doubts about it. I am referring to the page numbers as I cannot write the whole paragraph here. From the Page 61: there are 2 important notes, which says that if multiple restrictions are created, then it is equivalent to the intersection of the two individual restrictions. Thus, this statement is only true of the individual containing class are not disjoint. Fig.4.49 e.g.

hasTopping only CheeseTopping
hasTopping only VegetableTopping

should be interpreted as

hasTopping only (CheeseTopping and VegetableTopping)

which cannot be true because CheeseTopping and VegetableTopping are disjoint to each other.

therefore in the notes it is written as

hasTopping only (CheeseTopping OR VegetableTopping)

Now if this is true, then exercise 19, (Fig 4.25, Page 45), should result in error. As we have declared two extenstial restrictions separately. e.g. while defining the Margherita Pizza, the floowing statement are used

hasTopping some CheeseTopping
hasTopping some VegetableTopping

Therefore the resultant should be the intersection of the 2 class, which cannot be true.

1

There are 1 answers

8
Joshua Taylor On

hasTopping some CheeseTopping
hasTopping some VegetableTopping

The intersection of these expressions is not inconsistent. An individual can have more than one topping. E.g., a pizza can have one cheese topping and also have one vegetable topping. Then it would be an instance of both types, and thus an instance of their intersection.

(property some Class1) and (property some Class2)

is not equivalent to

(property some (Class1 and Class2))

This may be seen with another example (if the above isn't sufficient).

Human ⊑ ∃ hasBodyPart.Ear
Human ⊑ ∃ hasBodyPart.Hand

Every human (modulo injuries, birth defects, etc.) has at least one ear, and at least one hand. It doesn't mean that the hand is an ear, or that the ear is a hand.

So, to recap, you're right that

∀p.C ⊓ ∀p.D ≡ ∀p.(C ⊓D)

but it is not generally the case that

∃p.C ⊓ ∃p.D ≡ ∃p.(C ⊓D)

However, if something has a value which is both a C and a D, then it has a value which is a C, and a value which is D, so we do have this subclass relationship:

∃p.(C ⊓D) ⊑ ∃p.C ⊓ ∃p.D

As another example, consider the disjoint classes Mother and Father. The class expression

(hasParent some Mother)

is the class of things which have a mother. The class expression

(hasParent some Father)

is the class of things which have a father. There's clearly an non-empty intersection, since there are things which have both a father and a mother. The intersection expression is what you get by connecting these expressions with and:

(hasParent some Mother) and (hasParent some Father)

This is different, and not equivalent to, the class expression:

(hasParent some (Mother and Father))

All of the description logic operations are really just a convenient syntax for logic and set theory. The class expression (p only C), or in DL notation, ∀ p.C, denotes the set of individuals that are only related by the property p to elements of C. I.e.,

(p only C) ≡ {x : ∀y [p(x,y) → y ∈ C]}

Similarly, (p some C) is the set of individuals that are related to some element of C by property p. I.e.,

(p some C) ≡ {x : ∃y [p(x,y) ∧ y &in C]}

Now you can consider intersections.

(p only C) and (p only D)
≡ {x : ∀y [p(x,y) → y ∈ C]} ∩ {x : ∀y [p(x,y) → y ∈ D]}
≡ {x : ∀y [p(x,y) → y ∈ C] ∧ ∀y [p(x,y) → y ∈ D]}
≡ {x : ∀y [p(x,y) → (y ∈ C ∧ y ∈ D)]}
≡ {x : ∀y [p(x,y) → y ∈ (C ∩ D)]}
≡ (p only (C ⊓ D))

You don't get quite the same reduction for existential restrictions, though:

(p some C) and (p some D)
≡ {x : ∃y [p(x,y) &wegde; y ∈ C]} ∩ {x : ∃y [p(x,y) &wegde; y ∈ C]}

You can't reduce this any farther, because the y in the first existential isn't necessarily equal to the y in the second.