The Knowledge Agent Mediation Language (KNAML) is designed for use in multi-agent reasoning systems. Like conceptual graphs, KNAML represents knowledge using concepts, relations, and graphs. Concepts and relations are linked to form graphs, and graphs may be nested within other graphs. Additional constructs are used to support distributed reasoning and ontological concision. KNAML treats ontologies as knowledge domains that happen to be of the ontology domain. It uses an ontology of ontologies to define the concept and relation types available in an ontology. KNAML knowledge resources are modular to facilitate rapid development and efficient inter-agent processing. KNAML supports ontological specification of an extensible set of knowledge modalities, such as workflows, decision trees, and graphs that reflect the processing specializations of various knowledge agents and supports multi-modal knowledge authoring. Implemented in Java, KNAML supports subsumption, unification, and binding o...