Everything is Bot Libre is always persistent. So you would only need to call “load animals” once, ever, and the data would be loaded for all future conversations.
In this example you would just call the “load animals” once when training the bot, then probably delete the script, as now the bot has the knowledge.
Defining knowledge in AIML is not really that nice though, better to use a “response list” and the “script” tag to make an import script. We are also working on a raw XML knowledge import/export format.
Here is a response list examples to loads some data using Self scripts,
https://www.botlibre.com/script?id=11781705
You can also import data from Freebase, or Wikidata, either dynamically from Self using Call or Service, or using SRAIX in AIML, or statically from your bot’s Adim Console’s “Web” page.
For example to import all animals from Freebase enter the following Freebase URL in the Web import, from the Adim Console,
http://www.freebase.com/biology/animal
This may take a while, but the bot will now know everything about every animal defined in Freebase.
I created an example bot that did this, you can talk to it here,
http://animals.botlibre.com/
You can ask it things like,
“what is a horse?”
-> The horse is one of two extant subspecies of Equus ferus.
“is a snake an animal?”
-> You are correct, the snake is an animal.
“what is snake’s scientific name?”
-> To my knowledge snake’s scientific name is Serpentes.
“what is snake’s higher classification”
-> I known that snake’s higher classification is Ophidia.
Unfortunately Freebase has more technical info, than common sense info, like “is a snake smooth?” “does a snake have scales?” it would not know, as Freebase does not have this info. But you can import such knowledge, or teach the bot using language i.e. “snake is smooth”.