FIPA Ontology Service
The FIPA specifications include also Ontology Service Specification. The FIPA Ontology Service specification is not mandatory to be implemented in a FIPA compliant platform, and is still in the "experimental" state. It proposes a dedicated ontology agent (OA) to be available in FIPA agent platform for ontology related services. The role of such an agent is to provide some or all of the following services:
- discovery of public ontologies in order to access them
- help in selecting a shared ontology for communication
- maintain (e.g. register with the DF, upload, download, or modify) a set of public ontologies
- translate expressions between different ontologies and/or different content languages
- respond to queries for relationships between terms or between ontologies
- facilitate the identification of a shared ontology for communication between two agents
It is not mandatory that an ontology agent must provide all of these services, but every OA must be able to participate in a communication about these tasks using a defined ontology service ontology. Also, it is not mandatory that every agent platform must contain an ontology agent, but when an ontology agent is present, it must be compliant with the FIPA specifications.
Example scenarios of using OA particular services are:
- Querying the OA for definitions of terms
A user interface agent A wants to receive pictures from picture-archiver agent B to show them to a user. It asks agent B for "citrus". However the agent B discovers that it doesn't have any picture with that description. So it asks the appropriate OA to obtain sub-species of "citrus" within the given ontology. OA answers B that "orange" and "lemon" are sub-species of "citrus", so the agent B can send pictures with these descriptions to agent A and so satisfy his requirements.
- Finding equivalent ontology
An ontology designer declares the ontology "car-product" to the ontology agent OA2 in U.S. in English terms and translates the same ontology to French for the ontology agent OA1 in France. Agent A2 uses the ontology from OA2 and wants to communicate with agent A1 about cars in ontology maintained by OA2. Because agent A1 doesn't know ontology of agent A2, it queries OA1 for ontology equivalent to that one used by A2 (and maintained by OA2 - note that there is an ontology naming that allows to identify these ontologies - for example the English car ontology of agent OA2 can be named as
OA2@http://makers.ford.com/car-product). OA1 returns its French ontology about cars and so A1 can inform A2 that these two ontologies are equivalent and that OA1 can be used as a translator. After that, a dialogue between A1 and A2 can start.
- Translations of terms
An agent A1 wants to translate a given term from an ontology #1 into the corresponding term in an ontology #2 (for example the concept "the name of a part" can be called name in ontology #1 and nomenclature in ontology #2). A1 queries DF for an OA which supports the translation between these ontologies. DF returns the name of an OA that knows the format of these ontologies (e.g. XML) and has capabilities to make translations between them. A1 can then query this OA and request translation of a term from ontology #1 to ontology #2.