9. The method of claim 5 wherein the item profile retrieving step comprises the steps of: receiving a rating from one of the plurality of users for one of the plurality of items so as to define a received rating; updating the user profile of the one of the plurality of users with the received rating; updating the item profile of the rated item with the received rating; calculating, for the particular one user, a plurality of similarity factors, each of the plurality of similarity factors representing similarity between the particular one user and another one of the users.
5. In computer-implemented apparatus, the apparatus having a processor and a memory, the memory having computer executable instructions stored therein, a method for recommending an item to a particular one of a plurality of users, the item not yet rated by the user, the method comprising steps, performed through the executable instructions, of: (a) storing a user profile, in the memory, for each of a plurality of users so as to define a plurality of user profiles, wherein each of the user profiles includes a plurality of first values, each of the plurality of first values representing a rating given to one of a plurality of items by a corresponding one of the users; (b) storing an item profile, in the memory, for each of the plurality of items so as to define a plurality of item profiles, wherein each of the item profiles includes a plurality of second values, each of the plurality of second values representing a rating given to an associated one of the items by each of the users; (c) retrieving, from the memory, the item profile of each item rated by the particular one user so as to define a plurality of retrieved item profiles; (d) determining from the retrieved item profiles, a set of users that have previously rated the items; (e) retrieving, from the memory, the user profile for each of the set of users so as to define a plurality of retrieved user profiles, the plurality of user profiles being distinct from the plurality of item profiles; (f) calculating, in response to the retrieved user profiles, a similarity factor between the particular one user and each of the set of users; (g) selecting, in response to the similarity factors, for the particular one user, a plurality of neighboring users from the set of users; (h) assigning a weight to each of the neighboring users; and (i) recommending at least one of the plurality of items to the particular one user based on the weights assigned to the neighboring users and ratings given to the item by the neighboring users.