docs: def left_outer_join(g, h) -> None:
      """Only add components from the ``h`` that are touching ``g``.
  
      Algorithm:
  
      1. Identify all weakly connected components in ``h``
      2. Add those that have an intersection with the ``g``
  
      :param BELGraph g: A BEL graph
      :param BELGraph h: A BEL graph
  
      Example usage:
  
      >>> import pybel
      >>> g = pybel.from_path('...')
      >>> h = pybel.from_path('...')
      >>> left_outer_join(g, h)
      """
      g_nodes = set(g)
      for comp in nx.weakly_connected_components(h):
          if g_nodes.intersection(comp):
              h_subgraph = subgraph(h, comp)
              left_full_join(g, h_subgraph)