reads through the prop attributes and filters them for the associated
    class and returns a dictionary for meta_class __prepare__

    args:
        prop: class object to read
        cls_name: the name of the class to tie the porperty to

def tie_prop_to_class(prop, cls_name):
    """ reads through the prop attributes and filters them for the associated
    class and returns a dictionary for meta_class __prepare__

    args:
        prop: class object to read
        cls_name: the name of the class to tie the porperty to
    """
    attr_list = [attr for attr in dir(prop) if type(attr, Uri)]
    prop_defs = kwargs.pop('prop_defs')
    prop_name = kwargs.pop('prop_name')
    cls_name = kwargs.pop('cls_name')
    if cls_name == 'RdfClassBase':
        return {}
    doc_string = make_doc_string(name,
                                 prop_defs,
                                 bases,
                                 None)
    new_def = prepare_prop_defs(prop_defs, prop_name, cls_name)
    new_def['__doc__'] = doc_string
    new_def['_cls_name'] = cls_name
    new_def['_prop_name'] = prop_name
    if prop_name == 'rdf_type':
        new_def['append'] = unique_append
    # if prop_name == 'rdf_type':
    #     pdb.set_trace()
    new_def['_init_processors'] = get_processors('kds_initProcessor',
                                                 prop_defs)
    new_def['_es_processors'] = get_processors('kds_esProcessor',
                                               prop_defs,
                                               'es_values')
    # pdb.set_trace()
    return new_def