This is my scrap book for ideas about the categorization system. The good, the bad, the ugly...
Merge categories into the main namespaceEdit
To my mind, the separation of categories from normal article pages is artificial. THis can be seen for example in the fact that for many categories, there are "main" articles that have the same name as the category, and are usually inserte with a sort-parameter like "!" or "*", so they show up at the top.
Also, somtimes it is unclear when to use a "list page" and when a category. Most importanty, on the commons pages and categories are both essentially galleries of images - see commons:Commons:Images on normal pages or categories:Vote.
I propose to merge the main (article) namespace with the category namespace, i.e. every page could be used as a category. In practice, you could say that the article becomes the "category head", or that category-contents are listed under the article text.
- The category head would describe what'S in the category in much more detail.
- On projects like the commons, we do not have to maintain categories and articles separately. This would remove a lot of redundancy. Also, Categories and gallery pages would no longer have to be searched separately.
- "Page content" / "Category head" could be used for a "todo list" of missing items, while "done" articles are in the category.
- "Page content" / "Category head" could contain structured and annotated images, while the category content would be the unsorted items.
- "Page content" / "Category head" could contain "best of" images, while the category content would be the rest.
- Category content does not have to always be shown at the bottom of each articel - it could be "collapsed" by default and only "expanded" on demand. Technically, it would probably be easiest to show a page called as "Category:Foo" with expanded category list, other pages without (and with an "show things in this category" link). On the commons, expanded view could be the default.
- A related feature would be to use the "sort key" part of the Category-Links (as in [[Category:Foo|sortkey]]) as the image lable in categories (instead of the file /page name).
- If this is ever implemented, there may be a problem with mergin the existing category heads with existing articles.
- On some wikipedia (like en:wp), categories usually have a plural name, which can not be matches easily with a (singular) page name.
- Loading and listing category contents is expensive, it may often not be neccessary when one only wants to read the article. See the proposal about collapsing the category content above for a possible solution.
The commons and other international projects have the problem that categories are either in onle language only, or they have to be maintained redundantly in several languages. To resolve this, I propse the following features:
- Make redirects from on category to another work as "aliasses": if Category Foo redirects to category Bar, that is, all items containing [[Category:Foo]] should effectively be shown on the page of Category:Bar.
- use the "sort key" part of the Category-Links (as in [[Category:Foo|sortkey]]) as the lable for the entry in the category, and extend the behavior of this as follows:
- allow lables/keys for different languages to be entered, like this: [[Category:Foo|en=house|de=Haus|fr=....]]. Show and sort the items in the category according the the user's interface language. (labels given without a language code, like |bla|, could be used as a fallback).
It would be very useful if categories could be queried using logical set operators. Most importantly:
- transitive closure: get a list of all the items in a category and all subcategories.
- cross-section: get a list of all items that are in all of a set of categories (two would be a start).
Other operations would be nice, but not so important:
- inverse: get all items not in a specific category.
- union: get all items in any of a list of categories.
Those operations could also be combined, but that is probably overkill.
In my mind, categories are generally a bad idea. It would be much better to have a well defined set of relations between pages. That list should configurable for ach wiki.
Some useful relations could be: is-a, mypernym/generalization, part-of, element-of, topic-of
To elaborate, some relations may imply others (or may impliy the absense of others). For example, if Foo is-part-of Bar, and Quux is-element-of Foo, then Quuy is-element-Bar. But this is probably hard to implement eficiently.
See also: de:User:Duesentrieb/Semantic Wiki Web