The Knowledge Query and Manipulation Language, or KQML, is a language and protocol for communication among software agents and knowledge-based systems.[1] It was developed in the early 1990s as part of the DARPA knowledge Sharing Effort, which was aimed at developing techniques for building large-scale knowledge bases which are shareable and reusable. While originally conceived of as an interface to knowledge based systems, it was soon repurposed as an Agent communication language.[2][3]