code: def _urn_to_db_refs(urn):
      if urn is None:
          return {}, None
      m = URN_PATT.match(urn)
      if m is None:
          return None, None
      urn_type, urn_id = m.groups()
      db_refs = {}
      db_name = None
      if urn_type == 'agi-cas':
          chebi_id = get_chebi_id_from_cas(urn_id)
          if chebi_id:
              db_refs['CHEBI'] = 'CHEBI:%s' % chebi_id
              db_name = get_chebi_name_from_id(chebi_id)
      elif urn_type == 'agi-llid':
          hgnc_id = get_hgnc_from_entrez(urn_id)
          if hgnc_id is not None:
              db_refs['HGNC'] = hgnc_id
              uniprot_id = get_uniprot_id(hgnc_id)
              if uniprot_id is not None:
                  db_refs['UP'] = uniprot_id
              db_name = get_hgnc_name(hgnc_id)
      elif urn_type in ['agi-meshdis', 'agi-ncimorgan', 'agi-ncimtissue',
                        'agi-ncimcelltype']:
          if urn_id.startswith('C') and urn_id[1:].isdigit():
              db_refs['UMLS'] = urn_id
          else:
              urn_mesh_name = unquote(urn_id)
              mesh_id, mesh_name = mesh_client.get_mesh_id_name(urn_mesh_name)
              if mesh_id:
                  db_refs['MESH'] = mesh_id
                  db_name = mesh_name
              else:
                  db_name = urn_mesh_name
      elif urn_type == 'agi-gocomplex':
          db_refs['GO'] = 'GO:%s' % urn_id
      elif urn_type == 'agi-go':
          db_refs['GO'] = 'GO:%s' % urn_id
      db_sometimes_maps_to_famplex = ['GO', 'MESH']
      for db in db_sometimes_maps_to_famplex:
          if db in db_refs:
              key = (db, db_refs[db])
              if key in famplex_map:
                  db_refs['FPLX'] = famplex_map[key]
      if urn.startswith('urn:agi-enz'):
          tokens = urn.split(':')
          eccode = tokens[2]
          key = ('ECCODE', eccode)
          if key in famplex_map:
              db_refs['FPLX'] = famplex_map[key]
      key = ('MEDSCAN', urn)
      if key in famplex_map:
          db_refs['FPLX'] = famplex_map[key]
      if 'FPLX' in db_refs:
          db_name = db_refs['FPLX']
      elif 'GO' in db_refs:
          db_name = go_client.get_go_label(db_refs['GO'])
      return db_refs, db_name