class_docstr: A data loader which merges succesive events of a
  :class:`torch_geometric.data.TemporalData` to a mini-batch.
  
  Args:
      data (TemporalData): The :obj:`~torch_geometric.data.TemporalData`
          from which to load the data.
      batch_size (int, optional): How many samples per batch to load.
          (default: :obj:`1`)
      neg_sampling_ratio (float, optional): The ratio of sampled negative
          destination nodes to the number of postive destination nodes.
          (default: :obj:`0.0`)
      **kwargs (optional): Additional arguments of
          :class:`torch.utils.data.DataLoader`.
code: def __call__(self, arange: List[int]) -> TemporalData:
      batch = self.data[arange[0] : arange[0] + self.events_per_batch]
  
      n_ids = [batch.src, batch.dst]
  
      if self.neg_sampling_ratio > 0:
          batch.neg_dst = torch.randint(
              low=self.min_dst,
              high=self.max_dst + 1,
              size=(
                  round(self.neg_sampling_ratio * batch.dst.size(0)),
              ),
              dtype=batch.dst.dtype,
              device=batch.dst.device,
          )
          n_ids += [batch.neg_dst]
  
      batch.n_id = torch.cat(n_ids, dim=0).unique()
  
      return batch
  
imports: from typing import List
  import torch
  from torch_geometric.data import TemporalData
label_desc: Use image node_id 2 for calling the TemporalDataLoader obj's underlying member method code with example usage: obj.__call__(arange) and returns: batch