1. A computer-implemented method, comprising: accessing a set of objects, each object having a name and a set of one or more attribute-value pairs; identifying a candidate attribute in the attribute-value pairs; identifying a candidate subset of the set of objects, each object of the candidate subset including a respective attribute-value pair having the candidate attribute; selecting the candidate attribute as a key attribute of the set of objects when the attribute-value pairs in the candidate subset of objects meet predefined criteria with respect to the names of the objects in the candidate subset of objects; identifying a first subset of the set of objects, each object in the first subset including a respective attribute-value pair having the key attribute; identifying a second subset of the first subset, the objects in the second subset having a same value as the respective attribute-value pair having the key attribute and having a same or similar name; merging the objects in the second subset to form a single object that includes attribute-value pairs from the objects in the second subset, including at least one attribute-value pair that has an attribute other than the key attribute; and storing in a database information related to the selected key attribute.