docs: def add_edge(self, source: Node,
                   target: Node,
                   weight: float = 1,
                   save_to_cache: bool = True) -> None:
          """
          Adds an edge between the specified nodes of the graph.
  
          Arguments:
              source (Node): The source node of the edge to add.
              target (Node): 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.
          """
          if self._edges.get_edge(source, target) is not None:
              return
  
          self._edges.add_edge(
              source=source,
              target=target,
              weight=weight,
              save_to_cache=save_to_cache
          )