<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_abbreviations(self):
 """ Get abbreviations of the names of the author. :return: a list of strings (empty list if no abbreviations available). """

        abbreviations = []
        try:
            type_abbreviation = self.session.get_resource(BASE_URI_TYPES % "abbreviation"
                                                        , self.session.get_class(surf.ns.ECRM['E55_Type']))
            abbreviations = [unicode(label)
                                for name in self.ecrm_P1_is_identified_by
                                    for abbreviation in name.ecrm_P139_has_alternative_form
                                        for label in abbreviation.rdfs_label
                                            if name.uri == surf.ns.EFRBROO['F12_Name']
                                                and abbreviation.ecrm_P2_has_type.first == type_abbreviation]
        except Exception as e:
            logger.debug("Exception raised when getting abbreviations for %a"%self)
        finally:
            return abbreviations