docs: def load_archive(self, archive):
          """Load data from the zip archive of the NCBI taxonomy.
  
          """
  
          # source
          self.load_table(
              'source',
              rows=[('ncbi', DATA_URL)],
              colnames=['name', 'description'],
          )
  
          conn = self.engine.raw_connection()
          cur = conn.cursor()
          cmd = "select id from {source} where name = 'ncbi'".format(**self.tables)
          cur.execute(cmd)
          source_id = cur.fetchone()[0]
  
          # ranks
          log.info('loading ranks')
          self.load_table(
              'ranks',
              rows=((rank, i) for i, rank in enumerate(RANKS)),
              colnames=['rank', 'height'],
          )
  
          # nodes
          logging.info('loading nodes')
          nodes_rows = read_nodes(
              read_archive(archive, 'nodes.dmp'), source_id=source_id)
          self.load_table('nodes', rows=nodes_rows)
  
          # names
          logging.info('loading names')
          names_rows = read_names(
              read_archive(archive, 'names.dmp'), source_id=source_id)
          self.load_table('names', rows=names_rows)
  
          # merged
          logging.info('loading merged')
          merged_rows = read_merged(read_archive(archive, 'merged.dmp'))
          self.load_table('merged', rows=merged_rows)