code: def test_node2vec():
      g1 = dgl.heterograph(
          {("user", "follow", "user"): ([0, 1, 2], [1, 2, 0])}
      )
      g2 = dgl.heterograph(
          {
              ("user", "follow", "user"): (
                  [0, 1, 1, 2, 3],
                  [1, 2, 3, 0, 0],
              )
          }
      )
      g2.edata["p"] = F.tensor([3, 0, 3, 3, 3], dtype=F.float32)
  
      ntypes = F.zeros((5,), dtype=F.int64)
  
      traces, eids = dgl.sampling.node2vec_random_walk(
          g1, [0, 1, 2, 0, 1, 2], 1, 1, 4, return_eids=True
      )
      check_random_walk(
          g1, ["follow"] * 4, traces, ntypes, trace_eids=eids
      )
  
      traces, eids = dgl.sampling.node2vec_random_walk(
          g2,
          [0, 1, 2, 3, 0, 1, 2, 3],
          1,
          1,
          4,
          prob="p",
          return_eids=True,
      )
      check_random_walk(
          g2, ["follow"] * 4, traces, ntypes, "p", trace_eids=eids
      )
  
imports: import unittest
  import warnings
  import backend
  import dgl
  import numpy
  import pytest
label_desc: Use image node_id 4 for calling a global function with example usage: test_node2vec() without return types