Knowledge Query and Manipulation Language | |
---|---|
Desenvolvido por | Tim Finin, Jay Weber |
Lançamento | 1994[1] |
Tipo de formato | Inteligência Artificial |
Página oficial | http://www.cs.umbc.edu/csee/research/kqml/ |
KQML, (Knowledge Query and Manipulation Language), é uma linguagem e protocolo de comunicação entre agentes e sistemas baseados em conhecimento.[2] KQML foi concebida como um formato de mensagem e um protocolo de tratamento de mensagens de suporte, em tempo de execução, ao compartilhamento de conhecimentos entre agentes.[3]
Ela foi desenvolvida no início de 1990 sendo parte do DARPA knowledge Sharing Effort,[4] que teve como objetivo desenvolver técnicas para a construção de bases de conhecimento em larga escala que são compartilháveis e reutilizáveis. Embora originalmente concebida como uma interface para sistemas baseados em conhecimento, logo foi reaproveitada como uma linguagem de comunicação entre agentes.
O trabalho na KQML foi liderado por Tim Finin da Universidade de Maryland, Baltimore County e Jay Weber de EITech e envolveu contribuições de muitos pesquisadores.
KQML foi substituída pela FIPA-ACL.[4]
Mensagens em KQML são chamadas performativos (em inglês, performatives) que é um termo proveniente da teoria de atos da fala.[5] Existem vários tipos de atos da fala que incluem:
A linguagem fornece um grande conjunto de primitivas através das quais os agentes podem contar fatos a outros agentes, avaliar expressões, para outros agentes ou requisitar serviços. Exemplos de primitivas são: tell, evaluate, subscribe e next (para obter respostas de forma sequencial).[6]
O formato de mensagem KQML e o protocolo pode ser usado para interagir com um sistema inteligente, quer por um software aplicativo, ou por outro sistema inteligente.
(tell :sender Ricardo :receiver Ana_Beatriz :in-reply-to msg777 :ontology Bioinformatica :language Prolog :content "virus(H1N2, InfluenzaA)" )
(ask-one :sender Ricardo :content (valor = produto.getValor()) :receiver servidor :reply-with estoque :language Java :ontology BASE-ALFA )