views:

113

answers:

1

How might I implement a system where everybody can add/remove tags to every item, but still protect it from spam/tag-vandalism? I'm thinking it would probably need to store the tags that each person's tags for an item, and then somehow coming up with an aggregate/"top" tags for the item.

I think Slashdot has a tagging system like this---how exactly does theirs work? There doesn't seem to be much documentation about it.

+1  A: 

IMO, you are asking for a technological solution for a community problem. Clay Shirky's Ontology is Overrated discusses principles of tag systems. Here Comes Everybody, a book also by Shirky, claims that what keeps Wikipedia and del.icio.us alive is active protection by their users. It is hard to replace a moderator/community model by a technological one to decide which tags are spam or vandalism. As for the data structures, One possibility is to store an item/tag/user graph, with a node for every item or user and an edge from a user to an item with the tag as its label. You can then summarize tags by going over all the edges entering the item's node, and maybe store the aggregated tags in the item's node as well. Maybe del.icio.us's design could inspire further choices.

Yuval F