Tags are one of the most prominent features in Web 2.0 applications. A tag is a keyword associated with a piece of information such as an article, an image, or a link. Tagging is a process of assigning tags to the content. It is usually done by the author or users, which allows for user-defined categorization of content. Tags have become very popular in web applications because they enable users to classify, view, and share content easily. If you are not familiar with tags, you can see some examples by visiting the social bookmarking service del.icio.us (at http://del.icio.us/) where tags are listed below bookmarks, or have a look at Wikipedia (at http://en.wikipedia.org/) where tags appear at the bottom of articles.
Since we are building a social bookmarking application, tags are vital for browsing and sharing bookmarks. To introduce tags into our system, we need a mechanism that enables users to submit bookmarks to the database along with tags. We also need a...