Adding/deleting knowledge bases: def add_kb(kb_name="Untitled", kb_type=None): """ Adds a new kb in database, and returns its id The name of the kb will be 'Untitled#' such that it is unique. @param kb_name the name of the kb @param kb_type the type of the kb, incl 'taxonomy' and 'dynamic'. None for typical (leftside-rightside). @return the id of the newly created kb """ def delete_kb(kb_name): """ Deletes given kb from database @param kb_name knowledge base name """ Mappings: def get_kb_mappings(kb_name="", key="", value="", match_type="s"): """Get mappings from kb kb_name. If key given, give only those with left side (mapFrom) = key. If value given, give only those with right side (mapTo) = value. @param kb_name the name of the kb @param key include only lines matching this on left side in the results @param value include only lines matching this on right side in the results @param match_type s = substring match, e = exact match """ def add_kb_mapping(kb_name, key, value=""): """ Adds a new mapping to given kb @param kb_name the name of the kb where to insert the new value @param key the key of the mapping @param value the value of the mapping """ Using: def get_kba_values(kb_name, searchname="", searchtype="s"): """ Returns an array of values "authority file" type = just values. @param kb_name name of kb @param searchname get these values, according to searchtype @param searchtype s=substring, e=exact """ return bibknowledge_dblayer.get_kba_values(kb_name, searchname, searchtype) def get_kbr_keys(kb_name, searchkey="", searchvalue="", searchtype='s'): """ Returns an array of keys. @param kb_name the name of the knowledge base @param searchkey search using this key @param searchvalue search using this value @param searchtype s = substring, e=exact """ def get_kbr_values(kb_name, searchkey="", searchvalue="", searchtype='s'): """ Returns an array of keys. @param kb_name the name of the knowledge base @param searchkey search using this key @param searchvalue search using this value @param searchtype s = substring, e=exact """ def get_kbr_items(kb_name, searchkey="", searchvalue="", searchtype='s'): """ Returns a list of dictionaries that match the search. @param kb_name the name of the knowledge base @param searchkey search using this key @param searchvalue search using this value @param searchtype s = substring, e=exact @return a list of dictionaries [{'key'=>x, 'value'=>y},..] """ def get_kbd_values(kbname, searchwith=""): """ To be used by bibedit. Returns a list of values based on a dynamic kb. @param kbname name of the knowledge base @param searchwith a term to search with """ def get_kbd_values_for_bibedit(tag, collection="", searchwith=""): """ A specific convenience method: based on a tag and collection, create a temporary dynamic knowledge base a return its values. Note: the performace of this function is ok compared to a plain perform req search / get most popular fields -pair. The overhead is about 5% with large record sets. @param tag the tag like 100__a @param collection collection id @param searchwith the string to search. If empty, match all. """ def get_kbt_items(taxonomyfilename, templatefilename, searchwith=""): """ Get items from taxonomy file using a templatefile. If searchwith is defined, return only items that match with it. @param taxonomyfilename full path+name of the RDF file @param templatefile full path+name of the XSLT file @param searchwith a term to search with """