code: def graph_route(self, request):
      
      run = request.args.get('run')
      tag = request.args.get('tag', '')
      conceptual_arg = request.args.get('conceptual', False)
      is_conceptual = True if conceptual_arg == 'true' else False
  
      if run is None:
        return http_util.Respond(
            request, 'query parameter "run" is required', 'text/plain', 400)
  
      limit_attr_size = request.args.get('limit_attr_size', None)
      if limit_attr_size is not None:
        try:
          limit_attr_size = int(limit_attr_size)
        except ValueError:
          return http_util.Respond(
              request, 'query parameter `limit_attr_size` must be an integer',
              'text/plain', 400)
  
      large_attrs_key = request.args.get('large_attrs_key', None)
  
      try:
        result = self.graph_impl(run, tag, is_conceptual, limit_attr_size, large_attrs_key)
      except ValueError as e:
        return http_util.Respond(request, e.message, 'text/plain', code=400)
      else:
        if result is not None:
          (body, mime_type) = result  # pylint: disable=unpacking-non-sequence
          return http_util.Respond(request, body, mime_type)
        else:
          return http_util.Respond(request, '404 Not Found', 'text/plain',
                                   code=404)
docs: Given a single run, return the graph definition in protobuf format.