1. A computer-implemented method comprising: comparing a semantic meaning of a name of a first entity class to a semantic meaning of a second entity class; comparing a semantic meaning of an attribute of the first entity class to a semantic meaning of an attribute of the second entity class; determining that a substantial similarity exists between the first entity class and the second entity class based on the comparison of the semantic meaning of the names of the first and second entity classes and the comparison of the semantic meaning of the attributes of the first and second entity classes; and collapsing the first entity class into the second entity class based on the substantial similarity between the first entity class and the second entity class.