docstr: Return a subgraph of the overall PropertyGraph containing vertices
  and edges that match a selection.
  
  Parameters
  ----------
  create_using : cugraph Graph type or instance, optional
      Creates a Graph to return using the type specified. If an instance
      is specified, the type of the instance is used to construct the
      return Graph, and all relevant attributes set on the instance are
      copied to the return Graph (eg. directed). If not specified the
      returned Graph will be a directed cugraph.MultiGraph instance.
  selection : PropertySelection
      A PropertySelection returned from one or more calls to
      select_vertices() and/or select_edges(), used for creating a Graph
      with only the selected properties. If not speciied the returned
      Graph will have all properties. Note, this could result in a Graph
      with multiple edges, which may not be supported based on the value
      of create_using.
  edge_weight_property : string
      The name of the property whose values will be used as weights on
      the returned Graph. If not specified, the returned Graph will be
      unweighted.
  check_multi_edges : bool (default is True)
      When True and create_using argument is given and not a MultiGraph,
      this will perform an expensive check to verify that the edges in
      the edge dataframe do not form a multigraph with duplicate edges.
  renumber_graph : bool (default is True)
      If True, return a Graph that has been renumbered for use by graph
      algorithms. If False, the returned graph will need to be manually
      renumbered prior to calling graph algos.
  add_edge_data : bool (default is True)
      If True, add meta data about the edges contained in the extracted
      graph which are required for future calls to annotate_dataframe().
  
  Returns
  -------
  A Graph instance of the same type as create_using containing only the
  vertices and edges resulting from applying the selection to the set of
  vertex and edge property data.
  
  Examples
  --------
  >>>
code: def extract_subgraph(
      self,
      create_using=None,
      selection=None,
      edge_weight_property=None,
      default_edge_weight=None,
      check_multi_edges=True,
      renumber_graph=True,
      add_edge_data=True,
  ):
      """
      Return a subgraph of the overall PropertyGraph containing vertices
      and edges that match a selection.
  
      Parameters
      ----------
      create_using : cugraph Graph type or instance, optional
          Creates a Graph to return using the type specified. If an instance
          is specified, the type of the instance is used to construct the
          return Graph, and all relevant attributes set on the instance are
          copied to the return Graph (eg. directed). If not specified the
          returned Graph will be a directed cugraph.MultiGraph instance.
      selection : PropertySelection
          A PropertySelection returned from one or more calls to
          select_vertices() and/or select_edges(), used for creating a Graph
          with only the selected properties. If not speciied the returned
          Graph will have all properties. Note, this could result in a Graph
          with multiple edges, which may not be supported based on the value
          of create_using.
      edge_weight_property : string
          The name of the property whose values will be used as weights on
          the returned Graph. If not specified, the returned Graph will be
          unweighted.
      check_multi_edges : bool (default is True)
          When True and create_using argument is given and not a MultiGraph,
          this will perform an expensive check to verify that the edges in
          the edge dataframe do not form a multigraph with duplicate edges.
      renumber_graph : bool (default is True)
          If True, return a Graph that has been renumbered for use by graph
          algorithms. If False, the returned graph will need to be manually
          renumbered prior to calling graph algos.
      add_edge_data : bool (default is True)
          If True, add meta data about the edges contained in the extracted
          graph which are required for future calls to annotate_dataframe().
  
      Returns
      -------
      A Graph instance of the same type as create_using containing only the
      vertices and edges resulting from applying the selection to the set of
      vertex and edge property data.
  
      Examples
      --------
      >>>
      """
      sg_graph_id = self.__client.extract_subgraph(
          create_using=create_using,
          selection=selection,
          edge_weight_property=edge_weight_property,
          check_multi_edges=check_multi_edges,
          renumber_graph=renumber_graph,
          add_edge_data=add_edge_data,
          default_edge_weight=default_edge_weight,
          graph_id=self.__graph_id,
      )
  
      return RemoteGraph(self.__client, sg_graph_id)
  
imports: import numpy
  import importlib
  from cugraph_service_client.exceptions import CugraphServiceError
  from cugraph_service_client.remote_graph_utils import _transform_to_backend_dtype, _transform_to_backend_dtype_1d, _offsets_to_backend_dtype, MissingModule
label_desc: Use image node_id 36 for calling the RemoteGraph obj's underlying member method code with example usage: obj.extract_subgraph(create_using, selection, edge_weight_property, default_edge_weight, check_multi_edges, renumber_graph, add_edge_data) and returns: RemoteGraph