37. 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 for constructing at least one data structure encoding a preference graph that represents user preferences, the method comprising: receiving a plurality of first-order user preferences indicative of user preferences among values of attributes of items in a plurality of items; receiving at least one second-order user preference indicative of user preferences among the attributes of items in the plurality of items, wherein the preference graph comprises a first node for a first item in the plurality of items and a second node for a second item in the plurality of items; and computing a weight for an edge between the first node and the second node based at least in part on the plurality of first-order user preferences and the at least one second-order user preference, wherein the weight is indicative of a degree of preference for the first item over the second item.
39. The at least one computer-readable storage medium article of claim 37 , further comprising: constructing the at least one data structure encoding the preference graph to include a node for each item in the plurality of items and an edge for every pair of nodes associated with items related by a first-order user preference in the plurality of first-order user preferences.