I am endlessly fascinated with content tagging systems
I worked with the Wikipedia category system a few years ago, and you could see the problems with hierarchical tagging systems right in action back then. (Though it may have gotten better in the meantime)<p>The system appeared simple: There were just two relations, "Article A is a member of category B" and "Category X is a subcategory of category Y".<p>However, in practice, the community was using this system to represent a whole host of wildly different relationships between items, often with different implications what a category actually applied to.<p>E.g., if A has a subcategory B, this could mean one of several things: B might be an additional constraint on the items in A ("American writers" -> "19th century American writers"), the <i>things</i> in B might be more specific than the things in A: ("Writers" -> "Novelists"), A might apply to the <i>concept</i> B, not the things in B ("Occupations" -> "Writers") or A might refer to the <i>category</i> B ("Categories with more than 100 entries" -> "Writers") and on and on...<p>Of course those different aspects could even be combined. E.g. "Categories with more than 100 entries" might have a child "Categories with more than 100 entries in need of review", which represents a constraint but might itself contain less than 100 entries...<p>The basic question "Is item X in category Y" becomes impossible to answer generally, because there is no clear indication if a category only applies to its direct children or to all of its descendants or only to the subcategories itself.<p>I'm sure there are sophisticated ontological systems which would allow users to specify all those different relationships separately. I'm also pretty sure that users would become sloppy after a short time or would disagree which particular relationship to use in a particular situation...