That's an interesting discussion and it points to a more general problem (which extends far beyond Photo Supreme, to such fascinating areas as concept classification, semantic systems, natural language processing): which semantic relationships are described in a hierarchical structure of terms or concepts?
I think that Hert's more general advice is to define hierarchical labels using terms that
explicitly describe ISA specializations ("
ïs a [specific, kind of]"):
Holiday is a kind of
Event
Holiday in France is a kind of
Holiday
Family Holiday in France is a kind of
Holiday in France
I mostly agree with Hert and would also note that France is
not a specific Holiday or a kind of Holiday, so defining a Event::Holiday::France label will probably lead (sooner or later) to the kind of problems noted by Luc. Following this reasoning, I would say that the event corresponding to John Smith's birthday is naturally - and unambiguously - represented by the following hierarchy: Event::Birthday:: John Smith's Birthday. (Please note that this is completely different than: Event::Birthday::John Smith, since John Smith is not a specific birthday, while John Smith's Birthday is.)
At the same time, I would note the following caveats:
1) It's not straightforward to think of all hierarchical relationships in terms of crude ISA specializations. Let's take, for example, the very intuitive hierarchy: Places::Europe::France::Paris. It could be argued that Europe is indeed a kind of place, but France is not a kind of Europe and Paris is not a kind of France (oh, well); yet, that could be reconciled like this: France is a specific place in Europe and Paris is a specific place in France. Similarly, I would say that People::John Smith's Family::Mary Smith is a good hierarchy because Mary Smith denotes a specific member of John Smith's Family. (Please note that this still doesn't work for Event::Birthday::John Smith - no matter how you cut it, 'John Smith' is not a birthday, does not belong to the class of birthday events etc.)
2) Semantic specificity not only requires additional rigor in defining the term hierarchy but it also comes with the price of (lexical) redundancy. For example, it does appear superfluous to define Event::Birthday::John Smith's Birthday when you already have Event::Birthday and People::John Smith - but there is no way to avoid it once you realize that 'John Smith's Birthday' event can't be reduced (in general) to the query: (Event::Birthday AND People::John Smith).
3) Keep in mind that Photo Supreme does allow non-hierarchical label relationships. If you want to explicitly represent in the catalog that 'John Smith' and 'John Smith's Birthday' are related (although non-hierarchical) terms and labels, you could define a relationship between the two. (That may be overkill in practice - I'm only pointing out that option.)
Luc, it appears you care a lot about your image metadata, so I'll point out two additional things:
4) The spec does not define
iptc4xmp:Event as a bag type, so you can't store multiple events (as such) in your metadata. If you define the Event::Birthday::John Smith hierarchy, you will get in your event metadata either 'John Smith' (which doesn't make sense as an event) OR 'Birthday' (which provides only partial info). (If you assign both labels, I don't even think PSU provides any guarantee about which of the two values it would write.) Event::Birthday::John Smith's Birthday naturally solves this issue.
5) If you define and assign both People::John Smith and Event::Birthday::John Smith, you will end up with duplicate flat keywords (
'John Smith, John Smith'). Again, Event::Birthday::John Smith's Birthday naturally solves this issue. (If you assign both, you will end up with
'John Smith, John Smith's Birthday' within your keywords - but I would argue this is not technically redundant, as the two distinct strings denote two different image subjects: a person and an event. And you could always turn off the writing of John Smith's Birthday as a keyword, if it's enough for you to store that string inside
iptc4xmp:Event.)
Hope that helps - and sorry if I made my post too complex or theoretical. (I could often use 100 lines to write the same thing that Hert writes in 2 lines

)