An Overview of KQML: A Knowledge Query and Manipulation Language

Reference: KQML Advisory Group — Tim Finin, Don McKay, Rich Fritzson (and Hans Chalupsky, Stuart Shapiro, Gio Wiederhold) (1992/1993). Technical report, DARPA Knowledge Sharing Effort. Source file: kqmloverview.pdf. URL

Summary

This foundational technical report introduces KQML, the language and protocol designed under the DARPA-sponsored Knowledge Sharing Effort to enable interoperability among heterogeneous intelligent agents and knowledge-based systems. It identifies the canonical module types — End User Applications (EUAs), Knowledge-Based Systems (KBs), Knowledge Base Repositories (KBRs), Databases (DBs), and Active Sensors (ASs) — and enumerates the fifteen possible interfaces between them, selecting KB-to-KB knowledge interchange as the central target.

KQML is organized as three layers: a content layer (domain content in KIF or other logic), a message layer (performatives like tell, ask-one, subscribe, advertise, register), and a communication layer (sender, receiver, reply-ids, transport). The report details performatives, facilitators/routers (SKTP), ontology/topic matching, and a Prolog-based implementation. It set the vocabulary and architectural template for nearly all subsequent agent-communication work.

Key Ideas

  • Three-layer design: content, message, communication.
  • Performatives as named speech-act-like primitives (tell, ask, subscribe, advertise).
  • Facilitators/mediators (SKTP) for routing and knowledge-based-service discovery.
  • Module taxonomy: EUA, KB, KBR, DB, AS.
  • Separation of content language (KIF) from communication language (KQML).

Connections

Conceptual Contribution

Tags

#kqml #knowledge-sharing #darpa #performatives

Backlinks