Automatic Tools for Mapping Between Ontologies
A Project in the |
Agent communication will eventually require the ability for two or more agents to connect together even though they were not explicitly designed to connect together. There are several facets to this problem, but the hardest part is translating from the data structures of one agent to the data structures of another. We assume that the idea of connecting two agents has been proposed by some other entity, such as a "matchmaker." We also assume that the provider of the agent has specified the content of its inputs and outputs using DAML, the DARPA Agent Markup Language. This project is developing ways to ensure that the messages these agents exchange are meaningful to each, by translating between their published DAML ontologies, and planning tools that can use DAML service descriptions to compose sequences of messages that accomplish user goals.
Developed Software:
Details of approach to translation:
There are two phases in the process of connecting agents:
Once the two content specifications are in the same notation, there remains the task of translating individual instances of the output of one agent to corresponding instances of the input of the other. For example, if the first agent supplies tuples giving (mutual-fund, total-dividends, tax-exempt-dividends), and the second wants a tuple (mutual-fund, taxable-dividends), then we must apply the function
(lambda (m, d, x) (m, d-x))
(map F (map (lambda (m) (m, tax_ex(taxpayer, m, year) + taxable(taxpayer, m, year), tax_ex(taxpayer, m, year))) (mutual-funds taxpayer))) |
= |
(map (lambda (m) (m, taxable(taxpayer,m,year))) (mutual-funds taxpayer)) |
We use a heuristic search to transform the right-hand side of the equation
until the answer is available by inspection.
The latest version of the DRS Guide , an RDF encoding that generalizes the Owl Rules Language (SWRL). Formalized by the DRS OWL Ontology.
Sample DAML Ontologies
XML pages using those ontologies