code: def debug_string(self):
      return """
  name: {}
  version: {}
  node_count: {}
  edge_count: {}
  node_type_count: {}
  edge_type_count: {}
  partition_num: {}
  node_meta: {}
  edge_meta: {}
  node_feature_dim: {}
  edge_feature_dim: {}
  node_type_info: {}
  edge_type_info: {}
  node_feature_maxnum: {}
  edge_feature_maxnum: {}""".format(
          self.name,
          self.v,
          self.node_count,
          self.edge_count,
          self.node_type_count,
          self.edge_type_count,
          self.partition_num,
          json.dumps(self.node_meta),
          json.dumps(self.edge_meta),
          json.dumps(self.node_feature_dim),
          json.dumps(self.edge_feature_dim),
          json.dumps(self.node_type_info),
          json.dumps(self.edge_type_info),
          json.dumps(self.node_feature_maxnum),
          json.dumps(self.edge_feature_maxnum),
      )
  
file_path: euler/euler/tools/graph_meta.py
imports: import json
  from euler.tools.util import *
label_desc: Use image node_id 3 for calling the GraphMeta obj's underlying member method code with example usage: obj.debug_string() and returns: str