code: def isomorphic(q, g, check_varprops=True):
      
  
      qdg = _make_digraph(q, check_varprops)
      gdg = _make_digraph(g, check_varprops)
      def nem(qd, gd):  # node-edge-match
          return qd.get('sig') == gd.get('sig')
      return nx.is_isomorphic(qdg, gdg, node_match=nem, edge_match=nem)
docs: Return `True` if Xmrs objects *q* and *g* are isomorphic.
  
      Isomorphicity compares the predicates of an Xmrs, the variable
      properties of their predications (if `check_varprops=True`),
      constant arguments, and the argument structure between
      predications. Node IDs and Lnk values are ignored.
  
      Args:
          q: the left Xmrs to compare
          g: the right Xmrs to compare
          check_varprops: if `True`, make sure variable properties are
              equal for mapped predications