code: def get_experiment_root_links(experiments: list) -> _Graph:
      """Generate experiments graphs based on experiment roots."""
      special_root_key = ("__root__",)
      graph = _Graph(
          {
              **{_get_exp_key(exp): exp for exp in experiments},
              **{special_root_key: None},
          }
      )
      exp_id_to_key = {
          exp["_id"]: _get_exp_key(exp) for exp in experiments
      }
      for exp in experiments:
          root_id = _get_exp_root_id(exp)
          if root_id is not None:
              if root_id == exp["_id"]:
                  # If root is exp, use a special root key
                  root_key = special_root_key
              else:
                  root_key = exp_id_to_key[root_id]
              child_key = _get_exp_key(exp)
              graph.add_link(root_key, child_key)
      return graph
  
imports: import logging
  import os
  import shutil
  from typing import Any, Dict, List
  from orion.core.io.database import DatabaseError
  from orion.core.io.database.pickleddb import PickledDB
  from orion.core.utils import generate_temporary_file
  from orion.core.utils.tree import TreeNode
  from orion.storage.base import BaseStorageProtocol, setup_storage
label_desc: Use image node_id 10 for calling a global function with example usage: get_experiment_root_links(experiments) and returns: graph