class_docstr: Initialize the Distributed Graph Server
  
  Args:
      root_dir: the graph data dir 
  
      node_types: the node type configs
  
      edge_types: the edge type configs.
  
      symmetry: whether the edges are symmetry
  
      slots: the node feature slot 
  
      token_slot: for erniesage token slot input
  
      slot_num_for_pull_feature: total slot feature number we should pull
  
      num_parts: the sharded parts of graph data
  
      metapath_split_opt: whether use metapath split optimization
docstr: doc
docstr_tok: ["doc"]
code: def get_sorted_metapath_and_dict(self, metapaths):
      """doc"""
      first_node_type = util.get_first_node_type(metapaths)
      node_type_size = self.graph.get_node_type_size(first_node_type)
      edge_type_size = self.graph.get_edge_type_size()
      sorted_metapaths = util.change_metapath_index(
          metapaths, node_type_size, edge_type_size
      )
      log.info("after change metapaths: %s" % sorted_metapaths)
  
      metapath_dict = {}
      for i in range(len(sorted_metapaths)):
          first_node = sorted_metapaths[i].split("2")[0]
          if first_node in metapath_dict:
              metapath_dict[first_node].append(sorted_metapaths[i])
          else:
              metapath_dict[first_node] = []
              metapath_dict[first_node].append(sorted_metapaths[i])
      return sorted_metapaths, metapath_dict
  
imports: import sys
  import time
  from paddle.fluid.core import GraphGpuWrapper
  from pgl.utils.logger import log
  import helper
  import util
  from place import get_cuda_places
label_desc: Use image node_id 7 for calling the DistGraph obj's underlying member method code with example usage: obj.get_sorted_metapath_and_dict(metapaths) and returns: sorted_metapaths,  metapath_dict