1. A computer-executable method, comprising: obtaining, by a computer, from a first data structure one or more pointers to corresponding elements in a second data structure, wherein a respective vertex of a graph corresponds to an element in the first data structure, and wherein the graph supports multiple edge types between respective vertex pairs; in obtaining from the second data structure a respective edge type associated with a respective vertex and a respective successor vertex of the edge type; and enumerating a respective successor vertex of an edge type of a vertex from the second data structure based on a pointer in an element in the first data structure associated with the vertex.