1. A computer-readable medium having stored thereon a set of instructions which when executed perform a method for recommending an item to a user, the method, comprising: defining an ontology as nodes in a graph, the nodes including a scored node and an unscored node, the nodes in the graph representing concepts; wherein, the scored node has an associated score based on a preference of the user for a concept represented by the scored node; using a propagating function and the associated score of the scored node, to determine, for the user, a personalized score of the unscored node in the ontology; wherein, the propagation function determines the personalized score of the unscored node based on a relationship of the unscored node and the scored node in the graph representing the ontology; identifying, for the user, a qualifying concept from the concepts in the ontology for which the personalized scores have been computed, wherein, the qualifying concept that is identified from the concepts, is one that is associated a qualifying score among the personalized scores that have been computed for the concepts at the nodes of the ontology; and selecting the item which is an instance of the qualifying concept to be recommended to the user.