16. The at least one computer-readable storage medium article of claim 15 , wherein the at least one computer readable storage medium article further stores the at least one data structure encoding the preference graph.
15. At least one computer-readable storage medium article storing a plurality of processor-executable instructions that, when executed by at least one processor, cause the at least one processor to perform a method of calculating a ranking for at least one item in a plurality of items, the method comprising: receiving user preferences comprising a plurality of first-order user preferences indicative of a user's preferences among items in the plurality of items, and at least one second-order user preference indicative of the user's preferences among first-order user preferences in the plurality of first-order user preferences; wherein the at least one second-order user reference is indicative of the user's preference among attributes of at least one item in the plurality of items; calculating a ranking of the at least one item in the plurality of items based, at least in part on, at least one data structure encoding a preference graph that represents the received user preferences; and identifying and outputting at least a subset of the plurality of items to a user, in accordance with the ranking.