code: def __init__(
      self,
      root,
      graph,
      split_edge,
      percent=100,
      split="train",
      ratio_per_hop=1.0,
      directed=False,
      dynamic=True,
  ) -> None:
      super().__init__()
      self.root = root
      self.graph = graph
      self.split = split
      self.split_edge = split_edge
      self.percent = percent
      self.ratio_per_hop = ratio_per_hop
      self.directed = directed
      self.dynamic = dynamic
  
      if "weights" in self.graph.edata:
          self.edge_weights = self.graph.edata["weights"]
      else:
          self.edge_weights = None
      if "feat" in self.graph.ndata:
          self.node_features = self.graph.ndata["feat"]
      else:
          self.node_features = None
  
      pos_edge, neg_edge = get_pos_neg_edges(
          self.split, self.split_edge, self.graph, self.percent
      )
      self.links = torch.cat([pos_edge, neg_edge], 0)  # [Np + Nn, 2]
      self.labels = np.array([1] * len(pos_edge) + [0] * len(neg_edge))
  
      if not self.dynamic:
          self.g_list, tensor_dict = self.load_cached()
          self.labels = tensor_dict["y"]
  
imports: import argparse
  import datetime
  import os
  import sys
  import time
  import dgl
  import torch
  from dgl.data.utils import load_graphs, save_graphs
  from dgl.dataloading import GraphDataLoader
  from ogb.linkproppred import DglLinkPropPredDataset, Evaluator
  from torch.nn import BCEWithLogitsLoss
  from torch.utils.data import Dataset
  from tqdm import tqdm
  from models import *
  from utils import *
label_desc: Use image node_id 1 to create a new SEALOGBLDataset object from inherited base classes: Dataset with example: obj = SEALOGBLDataset(root, graph, split_edge, percent, split, ratio_per_hop, directed, dynamic)