class_docstr: Node of the computational graph, with utilities for dot language.
  
  This class represents a node of computational graph,
  with some utilities for dot language.
  
  Args:
      node: :class: `VariableNode` object or :class: `FunctionNode` object.
      attribute (dict): Attributes for the node.
      show_name (bool): If `True`, the `name` attribute of the node is added
          to the label. Default is `True`.
code: def __init__(self, node, attribute=None, show_name=True):
      assert isinstance(
          node, (variable.VariableNode, function_node.FunctionNode)
      )
      self.node = node
      self.id_ = id(node)
      self.attribute = {"label": node.label}
      if isinstance(node, variable.VariableNode):
          if show_name and node.name is not None:
              self.attribute["label"] = "{}: {}".format(
                  node.name, self.attribute["label"]
              )
          self.attribute.update({"shape": "oval"})
      else:
          self.attribute.update({"shape": "box"})
      if attribute is not None:
          self.attribute.update(attribute)
  
file_path: chainer/chainer/computational_graph.py
imports: import heapq
  from chainer import function_node
  from chainer import variable
label_desc: Use image node_id 1 to create a new DotNode object from inherited base classes: object with example: obj = DotNode(node, attribute, show_name)