code: def chunk_graph(
      g,
      name,
      ndata_paths,
      edata_paths,
      num_chunks,
      output_path,
      data_fmt="numpy",
      edges_fmt="csv",
      vector_rows=False,
      **kwargs,
  ):
      """
      Split the graph into multiple chunks.
  
      A directory will be created at :attr:`output_path` with the metadata and
      chunked edge list as well as the node/edge data.
  
      Parameters
      ----------
      g : DGLGraph
          The graph.
      name : str
          The name of the graph, to be used later in DistDGL training.
      ndata_paths : dict[str, pathlike] or dict[ntype, dict[str, pathlike]]
          The dictionary of paths pointing to the corresponding numpy array file
          for each node data key.
      edata_paths : dict[etype, pathlike] or dict[etype, dict[str, pathlike]]
          The dictionary of paths pointing to the corresponding numpy array file
          for each edge data key. ``etype`` could be canonical or non-canonical.
      num_chunks : int
          The number of chunks
      output_path : pathlike
          The output directory saving the chunked graph.
      data_fmt : str
          Format of node/edge data: 'numpy' or 'parquet'.
      edges_fmt : str
          Format of edges files: 'csv' or 'parquet'.
      vector_rows : str
          When true will write parquet files as single-column vector row files.
      kwargs : dict
          Key word arguments to control chunk details.
      """
      for ntype, ndata in ndata_paths.items():
          for key in ndata.keys():
              ndata[key] = os.path.abspath(ndata[key])
      for etype, edata in edata_paths.items():
          for key in edata.keys():
              edata[key] = os.path.abspath(edata[key])
      with setdir(output_path):
          _chunk_graph(
              g,
              name,
              ndata_paths,
              edata_paths,
              num_chunks,
              data_fmt,
              edges_fmt,
              vector_rows,
              **kwargs,
          )
  
file_path: dgl/tests/tools/pytest_utils.py
imports: import json
  import logging
  import os
  import dgl
  import numpy
  import torch
  from distpartitioning import array_readwriter
  from distpartitioning.array_readwriter.parquet import ParquetArrayParser
  from files import setdir
label_desc: Use image node_id 4 for calling a global function with example usage: chunk_graph(g, name, ndata_paths, edata_paths, num_chunks, output_path, data_fmt, edges_fmt, vector_rows) without return types