class_docstr: BitcoinOTC dataset for fraud detection
  
  This is who-trusts-whom network of people who trade using Bitcoin on
  a platform called Bitcoin OTC. Since Bitcoin users are anonymous,
  there is a need to maintain a record of users' reputation to prevent
  transactions with fraudulent and risky users.
  
  Offical website: `<https://snap.stanford.edu/data/soc-sign-bitcoin-otc.html>`_
  
  Bitcoin OTC dataset statistics:
  
  - Nodes: 5,881
  - Edges: 35,592
  - Range of edge weight: -10 to +10
  - Percentage of positive edges: 89%
  
  Parameters
  ----------
  raw_dir : str
      Raw file directory to download/contains the input data directory.
      Default: ~/.dgl/
  force_reload : bool
      Whether to reload the dataset.
      Default: False
  verbose: bool
      Whether to print out progress information.
      Default: True.
  transform : callable, optional
      A transform that takes in a :class:`~dgl.DGLGraph` object and returns
      a transformed version. The :class:`~dgl.DGLGraph` object will be
      transformed before every access.
  
  Attributes
  ----------
  graphs : list
      A list of DGLGraph objects
  is_temporal : bool
      Indicate whether the graphs are temporal graphs
  
  Raises
  ------
  UserWarning
      If the raw data is changed in the remote server by the author.
  
  Examples
  --------
  >>> dataset = BitcoinOTCDataset()
  >>> len(dataset)
  136
  >>> for g in dataset:
  ....    # get edge feature
  ....    edge_weights = g.edata['h']
  ....    # your code here
  >>>
code: def download(self):
      gz_file_path = os.path.join(self.raw_dir, self.name + ".csv.gz")
      download(self.url, path=gz_file_path)
      if not check_sha1(gz_file_path, self._sha1_str):
          raise UserWarning(
              "File {} is downloaded but the content hash does not match."
              "The repo may be outdated or download may be incomplete. "
              "Otherwise you can create an issue for it.".format(
                  self.name + ".csv.gz"
              )
          )
      self._extract_gz(gz_file_path, self.raw_path)
  
imports: import datetime
  import gzip
  import os
  import shutil
  import numpy
  from ..None import backend
  from ..convert import graph
  from .dgl_dataset import DGLBuiltinDataset
  from .utils import check_sha1, download, load_graphs, makedirs, save_graphs
label_desc: Use image node_id 2 for calling the BitcoinOTCDataset obj's underlying member method code with example usage: obj.download() without return types