code: def parse_edge(self, edge_json):
      edge_type = self.gmeta.edge_type_info[str(edge_json["type"])]
      src_id = edge_json["src"]
      self.edges_cnt[int(src_id) % self.partition_num] += 1
      self.nodes[src_id].set_neighbor(
          edge_json["dst"],
          edge_json["weight"],
          edge_type,
          self.gmeta.edge_type_count,
      )
      # no use in neighbor
      # self.nodes[edge_json['dst']].set_in_neighbor(
      #    src_id,
      #    edge_json['weight'],
      #    edge_type,
      #    self.gmeta.edge_type_count)
  
      edge = Edge(
          edge_json["src"],
          edge_json["dst"],
          edge_type,
          edge_json["weight"],
          self.gmeta,
      )
  
      expend_type(self.edge_type_weight, edge_type)
      self.edge_type_weight[edge_type] += float(edge_json["weight"])
      for feature in edge_json["features"]:
          name = feature["type"] + "_" + feature["name"]
          t = feature["type"]
          v = feature["value"]
  
          feature_idx = self.gmeta.edge_meta[name][2]
          feature_type = self.gmeta.edge_meta[name][1]
          edge.set_feature(feature_type, v, feature_idx)
      self.edges.append(edge)
  
file_path: euler/euler/tools/json2partdat.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import errno
  import json
  import sys
  import struct
  from euler.tools.util import *
  from euler.tools.node import Node
  from euler.tools.edge import Edge
  from euler.tools.graph_meta import GraphMeta
  import os
label_desc: Use image node_id 5 for calling the Converter obj's underlying member method code with example usage: obj.parse_edge(edge_json) without return types