1

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.

Joshua Taylor
  • 84,998
  • 9
  • 154
  • 353
aditya
  • 13
  • 4

1 Answers1

1

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.

Joshua Taylor
  • 84,998
  • 9
  • 154
  • 353
  • @ Joshua Taylor does that means that in the case of Extential restictions this concept is not valid. But from the protege guide they have mentioned as an important note stating "When multiple statements are used (for any restriction) the total descritpion is taken to be the intersection of the individual restricitions". Does this mean that this is wrong point they have stated in their guide. – aditya Jun 17 '15 at 17:47
  • @aditya Their point is correct. When you have multiple supertypes, then you have the intersection of those supertypes. The important part is that "(p only A) and (p only B)" is equivalent to "(p only (A and B))", but that "(p some A) and (p some B)" is *not* equivalent to "(p some (A and B))". – Joshua Taylor Jun 17 '15 at 18:04
  • @ Joshua Taylor I am still confused. Because when you say this statement is correct "(p some A) and (p some B)" is not equivalent to "(p some (A and B))". This itself contradict the statement "When multiple statements are used (for any restriction) the total description is taken to be the intersection of the individual restrictions". Please help me in understanding that why this statement is not valid for Extential type restrictions ? – aditya Jun 17 '15 at 19:40
  • The intersection of the class expression "(p some A)" and the class expression "(p some B)" is what you get by putting "and" between them, i.e., the class expression "((p some A) and (p some B))". That class expression is not the same as the class expression "(p some (A and B))". An another example "(hasParent some Mother) and (hasParent some Father)" is a perfectly sensible class expression, it's the class of things that have both a father and a mother. It's not the same as "(hasParent some (Father and Mother))". – Joshua Taylor Jun 17 '15 at 19:49
  • @ Joshua Taylor What is the mathematics behind these operation ?. Also What about the case of Universal restrictions? because above you have said: in case of Universal restrictions ∀p.C ⊓ ∀p.D ≡ ∀p.(C ⊓D), and in case Extential restrictions ∃p.(C ⊓D) ⊑ ∃p.C ⊓ ∃p.D....... – aditya Jun 17 '15 at 19:58
  • @aditya I've updated my answer a bit more. The mathematics is just set theory, really. (p only A) is the class of things related only to A's by the property p. (p only B) is the class of things related only to B's by the property p. The class "(p only A) and (p only B)", is the intersection of those, and therefore the class of things related by p only to things which are both A's and B's, and thus equivalent to (p only (A and B)). The same reduction doesn't work with existential quantification. – Joshua Taylor Jun 17 '15 at 20:12
  • @aditya At this point, I think you might be best served by an introductory text on description log, and perhaps set theory (if you're not familiar with set theory and logic, in general). – Joshua Taylor Jun 17 '15 at 20:13
  • @ Joshua Taylor Thanks for the clarification. I think now it is more clear. In was confused with the comments made in the protege guide. – aditya Jun 17 '15 at 20:52