'Get the details for the specified Frame using the frame\'s name
or id number.
Usage examples:
>>> from nltk.corpus import framenet as fn
>>> f = fn.frame(256)
>>> f.name
\'Medical_specialties\'
>>> f = fn.frame(\'Medical_specialties\')
>>> f.ID
256
>>> # ensure non-ASCII character in definition doesn\'t trigger an encoding error:
>>> fn.frame(\'Imposing_obligation\')
frame (1494): Imposing_obligation...
The dict that is returned from this function will contain the
following information about the Frame:
- \'name\'       : the name of the Frame (e.g. \'Birth\', \'Apply_heat\', etc.)
- \'definition\' : textual definition of the Frame
- \'ID\'         : the internal ID number of the Frame
- \'semTypes\'   : a list of semantic types for this frame
- Each item in the list is a dict containing the following keys:
- \'name\' : can be used with the semtype() function
- \'ID\'   : can be used with the semtype() function
- \'lexUnit\'    : a dict containing all of the LUs for this frame.
The keys in this dict are the names of the LUs and
the value for each key is itself a dict containing
info about the LU (see the lu() function for more info.)
- \'FE\' : a dict containing the Frame Elements that are part of this frame
The keys in this dict are the names of the FEs (e.g. \'Body_system\')
and the values are dicts containing the following keys
- \'definition\' : The definition of the FE
- \'name\'       : The name of the FE e.g. \'Body_system\'
- \'ID\'         : The id number
- \'_type\'      : \'fe\'
- \'abbrev\'     : Abbreviation e.g. \'bod\'
- \'coreType\'   : one of "Core", "Peripheral", or "Extra-Thematic"
- \'semType\'    : if not None, a dict with the following two keys:
- \'name\' : name of the semantic type. can be used with
the semtype() function
- \'ID\'   : id number of the semantic type. can be used with
the semtype() function
- \'requiresFE\' : if not None, a dict with the following two keys:
- \'name\' : the name of another FE in this frame
- \'ID\'   : the id of the other FE in this frame
- \'excludesFE\' : if not None, a dict with the following two keys:
- \'name\' : the name of another FE in this frame
- \'ID\'   : the id of the other FE in this frame
- \'frameRelation\'      : a list of objects describing frame relations
- \'FEcoreSets\'  : a list of Frame Element core sets for this frame
- Each item in the list is a list of FE objects
:param fn_fid_or_fname: The Framenet name or id number of the frame
:type fn_fid_or_fname: int or str
:param ignorekeys: The keys to ignore. These keys will not be
included in the output. (optional)
:type ignorekeys: list(str)
:return: Information about a frame
:rtype: dict'

def frame(self, fn_fid_or_fname, ignorekeys=[]):

    if isinstance(fn_fid_or_fname, string_types):
        f = self.frame_by_name(fn_fid_or_fname, ignorekeys)
    else:
        f = self.frame_by_id(fn_fid_or_fname, ignorekeys)
    return f
