The random tag spoils your mapping because it is a weak link between the possible “data” and the key, that is, the pattern.
SRAI is the linking, like maybe in a mind map, done in the template, not the pattern.
While mind maps may represent an ontology, an ontology cannot represent some mind maps. At most an ontology is a special form of a mind map.
The indexing system for AIML, called Graphmaster, is a special form of graph augmented with some processing of wildcards. This special graph would be very boring as a mind map. Computerizing mind maps has somewhat destroyed the art of making mind maps. Mind maps have the purpose of depicting thoughts with images and links. Actually the more of the five senses employed in a mind map, the better representation it is.
AIMLpad, Program N, combined with Cyc to make CyN. Here’s how:
Other chatbot languages use a grouping function to represent synonyms or “concepts”. AIML can isolate the corresponding input words with wildcard matches. This does not leave classic AIML with a way to match the wildcard, the star, with a list of synonyms or an inherited meaning as might be found in an ontology, because the Graphmaster search is done when the star values can be accessed. So Kino Coursey, the guy who created CyN, made a new tag called <guard>. He put it in the start of a template, but really it could have been anywhere in the category. He also allowed categories with duplicate patterns in the AIML set. So when a pattern matched, the guard tag’s contents, which happens to be a condition, are processed. If the condition is found to be true, the category is matched, thus stopping the search. If the guard is not satisfied, the Graphmaster searching continues, maybe trying a duplicate pattern, or maybe backtracking as it normally would. With the guard’s conditions checking to see if a star is in a list, or in Cyn’s case, is in Cyc as expected (Cyc can even reason about the inputs), the pattern matching is expanded from just the input symbols into also their representation in the ontology. I programmed the guard’s conditional checks to go against WordNet too.