Short for Knowledge Query and Manipulation Language. KQML is a language and protocol for exchanging information and knowledge. Programs use KQML to communicate attitudes about information, such as querying, stating, believing, requiring and subscribing. It is both a message format and a message-handling protocol that supports run-time knowledge sharing among agents. KQML can be used as a language for an application program to interact with an intelligent system or for disparate intelligent systems to share knowledge in support of cooperative problem solving. The language is indifferent to the format of the information itself, thus KQML expressions can contain subexpressions in other languages. It also is complementary to newer approaches to distributed computing such as CORBA.
KQML is part of the ARPA Knowledge Sharing Effort, which is a consortium to develop conventions facilitating the sharing and reuse of knowledge bases and knowledge-based systems. Its goal is to define, develop, and test infrastructure and supporting technology to enable participants to build much bigger and more broadly functional systems than could be achieved working alone.