def _convert_graph_from_v_e_nx()

in hugegraph-ml/src/hugegraph_ml/data/hugegraph2dgl.py [0:0]


    def _convert_graph_from_v_e_nx(vertices, edges):
        if len(vertices) == 0:
            warnings.warn("This graph has no vertices", Warning)
            return nx.Graph(())
        vertex_ids = [v["id"] for v in vertices]
        vertex_id_to_idx = {vertex_id: idx for idx, vertex_id in enumerate(vertex_ids)}
        new_vertex_ids = [vertex_id_to_idx[id] for id in vertex_ids]
        edge_list = [(edge["outV"], edge["inV"]) for edge in edges]
        new_edge_list = [
            (vertex_id_to_idx[src], vertex_id_to_idx[dst]) for src, dst in edge_list
        ]
        graph_nx = nx.Graph()
        graph_nx.add_nodes_from(new_vertex_ids)
        graph_nx.add_edges_from(new_edge_list)
        return graph_nx