code: def _serialize(cls, schema, path, checksum=None, attrs=None):
      res = CanonicalObject({"uri": "{}://{}".format(schema, path)})
      if checksum:
          res["checksum"] = checksum
      if attrs:
          res.update(attrs)
      return res
  
imports: from __future__ import absolute_import
  import re
  import sys
  import copy
  import logging
  from .None import tools
  from datetime import date, datetime
  import enum
  import six
label_desc: Use image node_id 14 for calling the ExternalDataInfo obj's underlying member method code with example usage: obj._serialize(cls, schema, path, checksum, attrs) and returns: res