def METHOD_NAME(name: Identifier) -> tuple:
    """ split model name to parts
        Examples:
            >>> resolve_model_identifier(['a', 'b'])
            ('a', 'b', None)
            >>> resolve_model_identifier(['a', '1'])
            (None, 'a', 1)
            >>> resolve_model_identifier(['a'])
            (None, 'a', None)
            >>> resolve_model_identifier(['a', 'b', 'c'])
            (None, None, None)  # not found
        Args:
            name (list): Identifier parts
        Returns:
            tuple: (database_name, model_name, model_version, describe)
    """
    name = name.parts
    database_name = None
    model_name = None
    model_version = None
    parts_count = len(name)
    if parts_count == 1:
        database_name = None
        model_name = name[0]
        model_version = None
    elif parts_count == 2:
        if name[-1].isdigit():
            database_name = None
            model_name = name[0]
            model_version = int(name[-1])
        else:
            database_name = name[0]
            model_name = name[1]
            model_version = None
    elif parts_count == 3:
        database_name = name[0]
        model_name = name[1]
        if name[2].isdigit():
            model_version = int(name[2])
        else:
            # not found
            return None, None, None
    return database_name, model_name, model_version