User:Zocky/Bottom-up categorization

Bottom-up categorization is a proposal by me for categorization of articles in Wikipedia.

The Idea
The idea is to build categories from the bottom up. Instead of compiling and maintaining Lists of articles by category (which is tedious and requires a certain - not very common - type of character to enjoy and persevere in), let the categories construct themselves from links put into article source.

Links to categories
Add a new kind of link, [ [cat:category]] to wikitax. Those links specify which category an article belongs to. Dog could thus include [ [cat:Carnivora]] and [ [cat:Pets]]. The categories would be then displayed at the top of the articles, much like the links to other languages.

Category pages
Make cat: a new namespace. The cat: pages are pages for categories, including a description of the category and links to parent categories. The text is followed by a list of articles that link to this category page, much like what links here does now.

Additional features
The links could include the text do be displayed as the link in the list on the category page. Dog would thus include [ [cat:Carnivora|Canis Lupus Familiaris]] and [ [cat:Pets]]

Organic growth
Categories would grow just like new articles grow now - from blind links. We know that works.

Easier to maintain
Links would have to be put just in one place - the articles. Lists would be constructed automatically.

Standardized
All categorized articles would display the categories they belong to in the same way, thus making it much easier for users to browse by categories.

Flexible
An article can easily belong to multiple categories.

More prominent
It would make the issue of categorization more prominent, so the editors would have more incentive to work on categorization of their articles.

Cheap

 * Cheap in implementation effort
 * I haven't studied wiki code, but I'm making educated guesses based on observations and experience in database and web application programming.
 * Adding a new kind of link and a new namespace should be relatively easy - they're not hardcoded, are they?
 * The list of articles is just what links here displayed under some text - should be easy.


 * Cheap in computer resources
 * Links to other languages and what links here don't seem to cause any big drain on the server, so category pages shouldn't either.

Free cool feature
Categories that are just redirects to parent categories would be displayed as subcategories in the list - what links here already does it!

Difficult to watch changes to category
The watchlist (as it works now) wouldn't show which articles were added or removed from a category, thus making it difficult to watch a category.
 * Possible workaround: Make the watch list show changes in links to watched articles. This would require some real changes in the code, but since links seem to be extracted at page save time (since what links here works so fast), it shouldn't be disproportionately difficult to track changes to  those. This would actually make a cool feature for wikipedia as it is.

Link ordering
Links to articles would inevitably be ordered alphabetically, as there is no ordering information in the links.
 * Workaround 1: Allow adding ordering information (a number) to the links and sort the links accordingly. Easy, but maybe a bit messy.
 * Workaround 2: Suppress the display of links to articles that have are linked to from the text of the category page itself. This would enable the editors of the category page to structure it any way they want, plus list the other articles that point to the page. I think this is more elegant.

''This is a quick write up of the proposal. Please feel free to correct spelling or improve wording. Please comment, suggest and add more strong/weal points if you can think of any, Zocky 03:42, 9 Dec 2003 (UTC)


 * Just thought you would like to know that there has been a lot of discussion on wikitech-l and a proposal has been placed at [] which is similar to yours. I agree that categories / spellcheck / full index need looking into (for speed reasons I believe some of this needs to be bacground processing) also see my meta user page Archivist 15:05, Dec 9, 2003 (UTC)
 * Let me just echo: the field-value pairs idea is one way to do categorization. It's very similar to Zocky's proposal (just category= category instead of cat: category  ). Similar pseudo-namespace proposals have come up before; I've been deleting most of the ones on SourceForge in deferral to the first one. Some minor variation, but mostly the same. Anyways, I'm going to try to get to this code next week and get things going on test soon. --ESP 18:56, 10 Dec 2003 (UTC)