code: def _csc_sampling_graph_str(graph: FusedCSCSamplingGraph) -> str:
      """Internal function for converting a csc sampling graph to string
      representation.
      """
      csc_indptr_str = str(graph.csc_indptr)
      indices_str = str(graph.indices)
      meta_str = f"num_nodes={graph.total_num_nodes}, num_edges={graph.num_edges}"
      if graph.node_type_offset is not None:
          meta_str += f", node_type_offset={graph.node_type_offset}"
      if graph.type_per_edge is not None:
          meta_str += f", type_per_edge={graph.type_per_edge}"
      if graph.node_type_to_id is not None:
          meta_str += f", node_type_to_id={graph.node_type_to_id}"
      if graph.edge_type_to_id is not None:
          meta_str += f", edge_type_to_id={graph.edge_type_to_id}"
      if graph.node_attributes is not None:
          meta_str += f", node_attributes={graph.node_attributes}"
      if graph.edge_attributes is not None:
          meta_str += f", edge_attributes={graph.edge_attributes}"
  
      prefix = f"{type(graph).__name__}("
  
      def _add_indent(_str, indent):
          lines = _str.split("\n")
          lines = [lines[0]] + [
              " " * indent + line for line in lines[1:]
          ]
          return "\n".join(lines)
  
      final_str = (
          "csc_indptr="
          + _add_indent(csc_indptr_str, len("csc_indptr="))
          + ",\n"
          + "indices="
          + _add_indent(indices_str, len("indices="))
          + ",\n"
          + meta_str
          + ")"
      )
  
      final_str = prefix + _add_indent(final_str, len(prefix))
      return final_str
  
imports: from typing import Dict, Optional, Union
  import torch
  from dgl.utils import recursive_apply
  from ...base import EID, ETYPE, NID, NTYPE
  from ...convert import to_homogeneous
  from ...heterograph import DGLGraph
  from ..base import etype_str_to_tuple, etype_tuple_to_str, ORIGINAL_EDGE_ID
  from ..sampling_graph import SamplingGraph
  from .sampled_subgraph_impl import CSCFormatBase, SampledSubgraphImpl
label_desc: Use image node_id 3 for calling a global function with example usage: _csc_sampling_graph_str(graph) and returns: final_str, str