Hi Padriag,
I think you might find my previous postings on "Editing Database Files" useful in answering your questions.
Ultra Hal has quite a few different database structures. He has databases that consist of individual line entries, that get accessed randomly for certain purposes. He has databases that consist of potential responses, paired with preceding remarks from earlier conversations. He has databases that contain fairly complex comma-delimited sets of character strings to trigger (and avoid triggering) pre-planned responses.
When Hal evaluates entries in these "big databases" he reads the entire database, scores all the content according to relevance criteria, and selects the "best" from the entire database. This works well, but it requires a LOT of processing every time.
Vonsmith's XTF brain, and my Auto-Topic-Focus brain, give Hal extra logic to automatically create mini-databases under mini-headings: there might be a database for "pink poodles" and a database for "steamed broccoli" and a database for "tall buildings". This results in more discrete files, but once Hal pre-qualifies a topic, he has much less searching and evaluating to do in order to select a response from what's inside that database, hence there's a speed gain!
Try searching on "Ferguson" on this forum's search engine; I'll also see if I can find one of those older postings and temporarily "bring it to the top."
Sincerely,
Don