code: def _basic_sudoku_graph():
      grids = [
          [0, 1, 2, 9, 10, 11, 18, 19, 20],
          [3, 4, 5, 12, 13, 14, 21, 22, 23],
          [6, 7, 8, 15, 16, 17, 24, 25, 26],
          [27, 28, 29, 36, 37, 38, 45, 46, 47],
          [30, 31, 32, 39, 40, 41, 48, 49, 50],
          [33, 34, 35, 42, 43, 44, 51, 52, 53],
          [54, 55, 56, 63, 64, 65, 72, 73, 74],
          [57, 58, 59, 66, 67, 68, 75, 76, 77],
          [60, 61, 62, 69, 70, 71, 78, 79, 80],
      ]
      edges = set()
      for i in range(81):
          row, col = i // 9, i % 9
          # same row and col
          row_src = row * 9
          col_src = col
          for _ in range(9):
              edges.add((row_src, i))
              edges.add((col_src, i))
              row_src += 1
              col_src += 9
          # same grid
          grid_row, grid_col = row // 3, col // 3
          for n in grids[grid_row * 3 + grid_col]:
              if n != i:
                  edges.add((n, i))
      edges = list(edges)
      g = dgl.graph(edges)
      return g
  
file_path: dgl/examples/pytorch/rrn/sudoku_data.py
imports: import csv
  import os
  import urllib.request
  import zipfile
  from copy import copy
  import dgl
  import numpy
  import torch
  from torch.utils.data import DataLoader, RandomSampler, SequentialSampler
  from torch.utils.data.dataset import Dataset
label_desc: Use image node_id 1 for calling a global function with example usage: _basic_sudoku_graph() and returns: g