class_docstr: A class for saving graphs and split in OGB-compatible manner
  Create submission_datasetname/ directory, and output the following two files:
      - datasetname.zip (OGB-compatible zipped dataset folder)
      - meta_dict.pt (torch files storing all the necessary dataset meta-information)
class_docstr_tok: ["A","class","for","saving","graphs","and","split","in","OGB-compatible","manner","Create","submission_datasetname\/","directory",",","and","output","the","following","two","files",":","-","datasetname.zip","(","OGB-compatible","zipped","dataset","folder",")","-","meta_dict.pt","(","torch","files","storing","all","the","necessary","dataset","meta-information",")"]
docstr: output:
      meta_dict: a dictionary that stores meta-information about data, which can be directly passed to OGB dataset object.
      Useful for debugging.
docstr_tok: ["output",":","meta_dict",":","a","dictionary","that","stores","meta-information","about","data",",","which","can","be","directly","passed","to","OGB","dataset","object",".","Useful","for","debugging","."]
code: def get_meta_dict(self):
      """
      output:
          meta_dict: a dictionary that stores meta-information about data, which can be directly passed to OGB dataset object.
          Useful for debugging.
      """
  
      # check everything is done before getting meta_dict
      if not self._save_graph_list_done:
          raise RuntimeError("save_graph_list not completed.")
      if not self._save_split_done:
          raise RuntimeError("save_split not completed.")
      if not self._copy_mapping_dir_done:
          raise RuntimeError("copy_mapping_dir not completed.")
      if not self._save_target_labels_done:
          raise RuntimeError("save_target_labels not completed.")
      if not self._save_task_info_done:
          raise RuntimeError("save_task_info not completed.")
  
      meta_dict = {
          "version": self.version,
          "dir_path": self.dataset_dir,
          "binary": "True",
      }
  
      if not self.dataset_prefix == "ogbl":
          meta_dict["num tasks"] = self.num_tasks
          meta_dict["num classes"] = self.num_classes
  
      meta_dict["task type"] = self.task_type
  
      meta_dict["eval metric"] = self.eval_metric
  
      meta_dict["add_inverse_edge"] = "False"
      meta_dict["split"] = self.split_name
      meta_dict["download_name"] = self.dataset_suffix
  
      map_dict = {
          "ogbg": "graphproppred",
          "ogbn": "nodeproppred",
          "ogbl": "linkproppred",
      }
      meta_dict["url"] = (
          f"https://snap.stanford.edu/ogb/data/{map_dict[self.dataset_prefix]}/"
          + meta_dict["download_name"]
          + ".zip"
      )
      meta_dict["add_inverse_edge"] = "False"
      meta_dict["has_node_attr"] = str(self.has_node_attr)
      meta_dict["has_edge_attr"] = str(self.has_edge_attr)
      meta_dict["additional node files"] = "None"
      meta_dict["additional edge files"] = "None"
      meta_dict["is hetero"] = str(self.is_hetero)
  
      # save meta-dict for submission
      torch.save(meta_dict, self.meta_dict_path)
  
      self._get_meta_dict_done = "True"
  
      return meta_dict
  
imports: import torch
  import pandas
  import os
  import os.path
  from datetime import date
  import shutil
  from tqdm.auto import tqdm
  import numpy
  from ogb.io.read_graph_raw import read_binary_graph_raw, read_binary_heterograph_raw
  from ogb.utils.torch_util import all_numpy
label_desc: Use image node_id 9 for calling the DatasetSaver obj's underlying member method code with example usage: obj.get_meta_dict() and returns: meta_dict