class_docstr: A plain python object modeling a single graph with various
  (optional) attributes:
  
  Args:
      x (Tensor, optional): Node feature matrix with shape :obj:`[num_nodes,
          num_node_features]`. (default: :obj:`None`)
      edge_index (LongTensor, optional): Graph connectivity in COO format
          with shape :obj:`[2, num_edges]`. (default: :obj:`None`)
      edge_attr (Tensor, optional): Edge feature matrix with shape
          :obj:`[num_edges, num_edge_features]`. (default: :obj:`None`)
      y (Tensor, optional): Graph or node targets with arbitrary shape.
          (default: :obj:`None`)
      pos (Tensor, optional): Node position matrix with shape
          :obj:`[num_nodes, num_dimensions]`. (default: :obj:`None`)
  
  The data object is not restricted to these attributes and can be extented
  by any other additional data.
docstr: Iterates over all attributes :obj:`*keys` in the data, yielding
  their attribute names and content.
  If :obj:`*keys` is not given this method will iterative over all
  present attributes.
docstr_tok: ["Iterates","over","all","attributes",":","obj",":","`","*","keys","`","in","the","data",",","yielding","their","attribute","names","and","content",".","If",":","obj",":","`","*","keys","`","is","not","given","this","method","will","iterative","over","all","present","attributes","."]
code: def __call__(self, *keys):
      r"""Iterates over all attributes :obj:`*keys` in the data, yielding
      their attribute names and content.
      If :obj:`*keys` is not given this method will iterative over all
      present attributes."""
      for key in sorted(self.keys) if not keys else keys:
          if self[key] is not None:
              yield key, self[key]
  
imports: import re
  import torch
label_desc: Use image node_id 9 for calling the Data obj's underlying member method code with example usage: obj.__call__() without return types