docs: def add_edge_by_index(self, source_index: int, target_index: int,
                            weight: float, save_to_cache: bool = True) -> None:
          """
          Adds an edge between the nodes with the specified indices to the graph.
  
          Arguments:
              source_index (int): The index of the source node of the edge to add.
              target_index (int): The index of the target node of the edge to add.
              weight (float): The weight of the edge.
              save_to_cache (bool): Whether the edge should be saved to the local database. This
                                    argument is necessary (and `False`) when we load edges from
                                    the local cache.
          """
          source: Node = self._nodes.get_node(source_index)
          target: Node = self._nodes.get_node(target_index)
          if source is None or target is None:
              return
  
          self.add_edge(
              source=source,
              target=target,
              weight=weight,
              save_to_cache=save_to_cache
          )