1. A method for enumerating a graph, the method comprising: creating, by a processor, a graph for a set of data records, each data record represented as a vertex in the graph, each data record comprising a unique index and one or more data elements; creating a key for each unique value of each data element represented by the vertices in the graph, each key representing an implicit edge in the graph, wherein two vertices sharing a key implicitly share an edge; partitioning the vertices in the graph into a plurality of subsets, each subset comprising a list of vertices, wherein vertices in a list share a same key; and for each list of vertices: determining a vertex with a least valued index in the list based on the vertices in the list and vertices pointed to by the vertices in the list; and associating all vertices in a list of vertices with a vertex having the least valued index.