code: def graph_search(self, run, nodeid, keep_state, is_node):
      client_ip = request.remote_addr
      graph_reader = self.graph_reader_client_manager.get_data(
          client_ip
      )
      if keep_state is not None:
          if keep_state.lower() == "true":
              keep_state = True
          else:
              keep_state = False
      else:
          keep_state = False
  
      if is_node is not None:
          if is_node.lower() == "true":
              is_node = True
          else:
              is_node = False
      else:
          is_node = False
      return lib.get_graph_search(
          graph_reader, run, nodeid, keep_state, is_node
      )
  
imports: import functools
  import gzip
  import json
  import os
  from io import BytesIO
  from flask import request
  from visualdl import LogReader
  from visualdl.python.cache import MemCache
  from visualdl.reader.graph_reader import GraphReader
  from visualdl.server import lib
  from visualdl.server.client_manager import ClientManager
  from visualdl.server.log import logger
label_desc: Use image node_id 47 for calling the Api obj's underlying member method code with example usage: obj.graph_search(run, nodeid, keep_state, is_node) and returns: lib