The solution I've occasionally suggested is to set up some sort of system whereby the meaning of categorization could be encoded right into the category link and understood by the software. That would allow all the different meanings of categorization to coexist. So for example the
article
[[Io (moon)]] could be [[Category:is-a:moons]] and [[Category:related-to:Earth]]. Or Category:Writers could be [[Category:is-a:people]] and [[Category:related-to:writing]].
The categories already do co-exist, and there's a simple way to determine which type a category is. If the category title is plural, (people, moons, planets), then the articles or subcategories form an is-a relationship. If the category title is singular, (writing, Earth, Environment, History), then the articles or subcategories form a related-to relationship.
All that said, there definitely needs to be more support in the software for is-a relationships. For instance, there should be a way to get a list of articles which fit into the category or any of its subcategories. This would be a good step toward replacing lists (though there are still other features which need to be addressed).
Anthony
That's the next step: Set manipulations (set (the category and all it's subcategories), intersections, unions).
-- Chris Wood