code: def repr_node(self, dist, level=1):
          
          output = [self._repr_dist(dist)]
          for other, label in self.adjacency_list[dist]:
              dist = self._repr_dist(other)
              if label is not None:
                  dist = '%s [%s]' % (dist, label)
              output.append('    ' * level + str(dist))
              suboutput = self.repr_node(other, level + 1)
              subs = suboutput.split('\n')
              output.extend(subs[1:])
          return '\n'.join(output)
docs: Prints only a subgraph