def ReadTxtNet(file_path='', undirected=True):
    ' Read the txt network file. \n    Notations: The network is unweighted.\n\n    Parameters\n    ----------\n    file_path str : path of network file\n    undirected bool : whether the edges are undirected\n\n    Return\n    ------\n    net dict : a dict recording the connections in the graph\n    node2id dict : a dict mapping the nodes to their embedding indices \n    id2node dict : a dict mapping nodes embedding indices to the nodes\n    '
    if ((file_path == 'youtube') or (file_path == 'blog')):
        name = file_path
        dir = get_download_dir()
        zip_file_path = '{}/{}.zip'.format(dir, name)
        download(_get_dgl_url(os.path.join('dataset/DeepWalk/', '{}.zip'.format(file_path))), path=zip_file_path)
        extract_archive(zip_file_path, '{}/{}'.format(dir, name))
        file_path = '{}/{}/{}-net.txt'.format(dir, name, name)
    node2id = {}
    id2node = {}
    cid = 0
    src = []
    dst = []
    weight = []
    net = {}
    with open(file_path, 'r') as f:
        for line in f.readlines():
            tup = list(map(int, line.strip().split(' ')))
            assert (len(tup) in [2, 3]), 'The format of network file is unrecognizable.'
            if (len(tup) == 3):
                (n1, n2, w) = tup
            elif (len(tup) == 2):
                (n1, n2) = tup
                w = 1
            if (n1 not in node2id):
                node2id[n1] = cid
                id2node[cid] = n1
                cid += 1
            if (n2 not in node2id):
                node2id[n2] = cid
                id2node[cid] = n2
                cid += 1
            n1 = node2id[n1]
            n2 = node2id[n2]
            if (n1 not in net):
                net[n1] = {n2: w}
                src.append(n1)
                dst.append(n2)
                weight.append(w)
            elif (n2 not in net[n1]):
                net[n1][n2] = w
                src.append(n1)
                dst.append(n2)
                weight.append(w)
            if undirected:
                if (n2 not in net):
                    net[n2] = {n1: w}
                    src.append(n2)
                    dst.append(n1)
                    weight.append(w)
                elif (n1 not in net[n2]):
                    net[n2][n1] = w
                    src.append(n2)
                    dst.append(n1)
                    weight.append(w)
    print(('node num: %d' % len(net)))
    print(('edge num: %d' % len(src)))
    assert (max(net.keys()) == (len(net) - 1)), 'error reading net, quit'
    sm = sp.coo_matrix((np.array(weight), (src, dst)), dtype=np.float32)
    return (net, node2id, id2node, sm)
Read the txt network file. 
Notations: The network is unweighted.

Parameters
----------
file_path str : path of network file
undirected bool : whether the edges are undirected

Return
------
net dict : a dict recording the connections in the graph
node2id dict : a dict mapping the nodes to their embedding indices 
id2node dict : a dict mapping nodes embedding indices to the nodes
def ReadTxtNet(file_path=, undirected=True):
    ' Read the txt network file. \n    Notations: The network is unweighted.\n\n    Parameters\n    ----------\n    file_path str : path of network file\n    undirected bool : whether the edges are undirected\n\n    Return\n    ------\n    net dict : a dict recording the connections in the graph\n    node2id dict : a dict mapping the nodes to their embedding indices \n    id2node dict : a dict mapping nodes embedding indices to the nodes\n    '
    if ((file_path == 'youtube') or (file_path == 'blog')):
        name = file_path
        dir = get_download_dir()
        zip_file_path = '{}/{}.zip'.format(dir, name)
        download(_get_dgl_url(os.path.join('dataset/DeepWalk/', '{}.zip'.format(file_path))), path=zip_file_path)
        extract_archive(zip_file_path, '{}/{}'.format(dir, name))
        file_path = '{}/{}/{}-net.txt'.format(dir, name, name)
    node2id = {}
    id2node = {}
    cid = 0
    src = []
    dst = []
    weight = []
    net = {}
    with open(file_path, 'r') as f:
        for line in f.readlines():
            tup = list(map(int, line.strip().split(' ')))
            assert (len(tup) in [2, 3]), 'The format of network file is unrecognizable.'
            if (len(tup) == 3):
                (n1, n2, w) = tup
            elif (len(tup) == 2):
                (n1, n2) = tup
                w = 1
            if (n1 not in node2id):
                node2id[n1] = cid
                id2node[cid] = n1
                cid += 1
            if (n2 not in node2id):
                node2id[n2] = cid
                id2node[cid] = n2
                cid += 1
            n1 = node2id[n1]
            n2 = node2id[n2]
            if (n1 not in net):
                net[n1] = {n2: w}
                src.append(n1)
                dst.append(n2)
                weight.append(w)
            elif (n2 not in net[n1]):
                net[n1][n2] = w
                src.append(n1)
                dst.append(n2)
                weight.append(w)
            if undirected:
                if (n2 not in net):
                    net[n2] = {n1: w}
                    src.append(n2)
                    dst.append(n1)
                    weight.append(w)
                elif (n1 not in net[n2]):
                    net[n2][n1] = w
                    src.append(n2)
                    dst.append(n1)
                    weight.append(w)
    print(('node num: %d' % len(net)))
    print(('edge num: %d' % len(src)))
    assert (max(net.keys()) == (len(net) - 1)), 'error reading net, quit'
    sm = sp.coo_matrix((np.array(weight), (src, dst)), dtype=np.float32)
    return (net, node2id, id2node, sm)