class_docstr: 考虑不同 Role 之间的顺序，例如关系 
code: def is_equal(gold, pred):
      if gold["type"] != pred["type"]:
          return False
      if gold["spot"] != pred["spot"]:
          return False
      if len(gold["asocs"]) != len(pred["asocs"]):
          return False
      for gold_role, pred_role in zip(gold["asocs"], pred["asocs"]):
          if gold_role != pred_role:
              return False
      return True
  
imports: from collections import defaultdict
  from copy import deepcopy
  from typing import Dict, List
  import sys
label_desc: Use image node_id 1 for calling the OrderedRecordMetric obj's underlying member method code with example usage: obj.is_equal(gold, pred) and returns: True, False, False, False, False