code: def create_node_tables(self):
          
          self.cursor.execute('PRAGMA foreign_keys=1')
          self.cursor.execute('''
              CREATE TABLE IF NOT EXISTS datasets (
                  id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
                  key TEXT NOT NULL
              )
          ''')
          self.cursor.execute('''
              CREATE TABLE IF NOT EXISTS nodes (
                  id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
                  value TEXT NOT NULL
              )
          ''')
          self.cursor.execute('''
              CREATE TABLE IF NOT EXISTS links (
                  dataset REFERENCES datasets (id),
                  source REFERENCES nodes (id),
                  target REFERENCES nodes (id),
                  value TEXT,
                  bvalue TEXT,
                  count INTEGER NOT NULL DEFAULT 1
              )
          ''')
          self.cursor.execute(
              'CREATE UNIQUE INDEX IF NOT EXISTS node ON nodes (value)'
          )
          self.cursor.execute(
              'CREATE INDEX IF NOT EXISTS link_source ON links (source, dataset)'
          )
          self.cursor.execute(
              'CREATE INDEX IF NOT EXISTS link_target ON links (target, dataset)'
          )
docs: Create node and link tables if they don't exist.