code: def load_sgraph(filename, format="binary", delimiter="auto"):
      """
      Load SGraph from text file or previously saved SGraph binary.
  
      Parameters
      ----------
      filename : string
          Location of the file. Can be a local path or a remote URL.
  
      format : {'binary', 'snap', 'csv', 'tsv'}, optional
          Format to of the file to load.
  
          - 'binary': native graph format obtained from `SGraph.save`.
          - 'snap': tab or space separated edge list format with comments, used in
            the `Stanford Network Analysis Platform <http://snap.stanford.edu/snap/>`_.
          - 'csv': comma-separated edge list without header or comments.
          - 'tsv': tab-separated edge list without header or comments.
  
      delimiter : str, optional
          Specifying the Delimiter used in 'snap', 'csv' or 'tsv' format. Those
          format has default delimiter, but sometimes it is useful to
          overwrite the default delimiter.
  
      Returns
      -------
      out : SGraph
          Loaded SGraph.
  
      See Also
      --------
      SGraph, SGraph.save
  
      Examples
      --------
      >>> g = turicreate.SGraph().add_vertices([turicreate.Vertex(i) for i in range(5)])
  
      Save and load in binary format.
  
      >>> g.save('mygraph')
      >>> g2 = turicreate.load_sgraph('mygraph')
      """
  
      if not format in ["binary", "snap", "csv", "tsv"]:
          raise ValueError("Invalid format: %s" % format)
  
      with cython_context():
          g = None
          if format == "binary":
              proxy = glconnect.get_unity().load_graph(
                  _make_internal_url(filename)
              )
              g = SGraph(_proxy=proxy)
          elif format == "snap":
              if delimiter == "auto":
                  delimiter = "\t"
              sf = SFrame.read_csv(
                  filename,
                  comment_char="#",
                  delimiter=delimiter,
                  header=False,
                  column_type_hints=int,
              )
              g = SGraph().add_edges(sf, "X1", "X2")
          elif format == "csv":
              if delimiter == "auto":
                  delimiter = ","
              sf = SFrame.read_csv(
                  filename, header=False, delimiter=delimiter
              )
              g = SGraph().add_edges(sf, "X1", "X2")
          elif format == "tsv":
              if delimiter == "auto":
                  delimiter = "\t"
              sf = SFrame.read_csv(
                  filename, header=False, delimiter=delimiter
              )
              g = SGraph().add_edges(sf, "X1", "X2")
          g.summary()  # materialize
          return g
  
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import absolute_import
  from .._connect import main
  from .sframe import SFrame
  from .sarray import SArray
  from .gframe import GFrame, VERTEX_GFRAME, EDGE_GFRAME
  from .._cython.cy_graph import UnityGraphProxy
  from .._cython.context import debug_trace
  from ..util import _is_non_string_iterable, _make_internal_url
  from .._deps import pandas
  from .._deps import HAS_PANDAS
  import inspect
  import copy
  import sys
label_desc: Use image node_id 1 for calling a global function with example usage: load_sgraph(filename, format, delimiter) and returns: g