code: def __init__(
      self,
      node_type,
      edge_type,
      max_id,
      dims,
      metapath,
      relation_num,
      feature_idx,
      feature_dim,
      embedding_dim,
      num_negs,
      metric,
  ):
      super(UnsupervisedRGCN, self).__init__(
          node_type, edge_type, max_id, num_negs, metric
      )
  
      self.dim = dims[-1]
  
      self.gnn = GNN(
          "relation",
          "relation",
          dims,
          None,
          metapath,
          relation_num,
          max_id,
          feature_idx,
          feature_dim,
          embedding_dim,
      )
  
      self._target_encoder = tf_euler.utils.encoders.ShallowEncoder(
          dim=self.dim,
          feature_idx=-1,
          max_id=max_id,
          embedding_dim=embedding_dim,
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import tensorflow
  import tf_euler
  from tf_euler.python.mp_utils.base import UnsuperviseModel
  from tf_euler.python.euler_ops import mp_ops
  from tf_euler.python.mp_utils.base_gnn import BaseGNNNet
  from tf_euler.python.dataflow import RelationDataFlow
  from tf_euler.python.convolution import RelationConv
label_desc: Use image node_id 1 to create a new UnsupervisedRGCN object from inherited base classes: UnsuperviseModel with example: obj = UnsupervisedRGCN(node_type, edge_type, max_id, dims, metapath, relation_num, feature_idx, feature_dim, embedding_dim, num_negs, metric)