FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS

 

 

FIPA Ontology Service Specification

 

Document title

FIPA Ontology Service Specification

Document number

XC00086C

Document source

FIP Architecture Board

Document status

Experimental

Date of this status

2000/06/15

Supersedes

FIPA00006

Contact

fab@fipa.org

Change history

2000/06/15

Approved for Experimental

 

 

 

 

 

 

 

 

 

 

 

© 2000 Foundation for Intelligent Physical Agents - http://www.fipa.org/

Geneva, Switzerland

Notice

Use of the technologies described in this specification may infringe patents, copyrights or other intellectual property rights of FIPA Members and non-members. Nothing in this specification should be construed as granting permission to use any of the technologies described. Anyone planning to make use of technology covered by the intellectual property rights of others should first obtain permission from the holder(s) of the rights. FIPA strongly encourages anyone implementing any part of this specification to determine first whether part(s) sought to be implemented are covered by the intellectual property of others, and, if so, to obtain appropriate licenses or other permission from the holder(s) of such intellectual property prior to implementation. This specification is subject to change without notice. Neither FIPA nor any of its Members accept any responsibility whatsoever for damages or liability, direct or consequential, which may result from the use of this specification.

Foreword

The Foundation for Intelligent Physical Agents (FIPA) is an international organization that is dedicated to promoting the industry of intelligent agents by openly developing specifications supporting interoperability among agents and agent-based applications. This occurs through open collaboration among its member organizations, which are companies and universities that are active in the field of agents. FIPA makes the results of its activities available to all interested parties and intends to contribute its results to the appropriate formal standards bodies.

The members of FIPA are individually and collectively committed to open competition in the development of agent-based applications, services and equipment. Membership in FIPA is open to any corporation and individual firm, partnership, governmental body or international organization without restriction. In particular, members are not bound to implement or use specific agent-based standards, recommendations and FIPA specifications by virtue of their participation in FIPA.

The FIPA specifications are developed through direct involvement of the FIPA membership. The status of a specification can be either Preliminary, Experimental, Standard, Deprecated or Obsolete. More detail about the process of specification may be found in the FIPA Procedures for Technical Work. A complete overview of the FIPA specifications and their current status may be found in the FIPA List of Specifications. A list of terms and abbreviations used in the FIPA specifications may be found in the FIPA Glossary.

FIPA is a non-profit association registered in Geneva, Switzerland. As of January 2000, the 56 members of FIPA represented 17 countries worldwide. Further information about FIPA as an organization, membership information, FIPA specifications and upcoming meetings may be found at http://www.fipa.org/.

Contents

1     Scope. 1

2     Ontology Service. 3

2.1      Rationale for Explicit Ontologies. 4

2.2      Benefits for Applications. 5

2.3      Sample Scenarios. 5

2.3.1      Scenario 1 – Definition of Terms Querying. 5

2.3.2      Scenario 2 – Shared Ontology Selection. 6

2.3.3      Scenario 3 – Equivalence Testing. 6

2.3.4      Scenario 4 – Ontology Location. 7

2.3.5      Scenario 5 – Term Translation. 7

3     Ontology Service Reference Model 9

3.1.1      Ontology Agent Services. 9

3.2      Ontology Naming. 10

3.3      Relationships Between Ontologies. 10

3.3.1      Extending Ontologies. 10

3.3.2      Identical Ontologies. 11

3.3.3      Equivalently Ontologies. 11

3.3.4      Weakly Translatable Ontologies. 11

3.3.5      Strongly Translatable Ontologies. 12

3.3.6      Approximately Translatable Ontologies. 13

3.3.7      General Properties. 13

3.4      Registration of the Ontology Agent with the DF. 13

3.4.1      Querying the DF. 15

4     Ontology Service Ontology. 18

4.1      Object Descriptions. 18

4.1.1      Ontology Description. 18

4.1.2      Translation Description. 18

5     Meta Ontology. 19

5.1      The OKBC Knowledge Model 19

5.1.1      Symbols. 32

5.2      Responsibilities, Actions and Predicates Supported by the Ontology Agent 33

5.2.1      Responsibilities of the Ontology Agent 34

5.2.2      Assertion. 34

5.2.3      Retraction. 35

5.2.4      Query. 35

5.2.5      Modify. 36

5.2.6      Translation of the Terms and Sentences between Ontologies. 36

5.2.7      Exceptions. 38

5.3      Interaction Protocol to Agree on a Shared Ontology. 39

5.4      Meta Ontology Predicates and Actions. 40

5.4.1      Predicates. 40

5.4.2      Actions. 40

6     References. 41

7     Informative Annex A — Ontologies and Conceptualizations. 42

7.1      Ontologies vs. Conceptualizations. 42

7.2      A Formal Account of Ontologies and Conceptualizations. 43

7.2.1      What is a Conceptualization. 43

7.2.2      What is an Ontology. 44

7.3      The Ontology Integration Problem.. 45

7.4      Basic Kinds of Ontologies. 46

7.4.1      From Top-Level to Application-Level 46

7.4.2      Shareable Ontologies and Reference Ontologies. 47

7.4.3      Meta-Level Ontologies. 47

7.5      References. 47

8     Informative Annex B — Guidelines to Define a New Ontology. 49

8.1      Set of Principles to Useful in the Development of Ontologies. 49

8.2      Ontology Development Process. 49

8.2.1      Project Management Activities. 49

8.2.2      Development Activities. 50

8.2.3      Integral Activities. 50

8.2.4      Ontology Life Cycle. 50

8.3      Methodology to Build Ontologies. 51

8.3.1      Specification. 51

8.3.2      Knowledge Acquisition. 52

8.3.3      Ontology and Natural Language. 52

8.4      References. 53


1         Scope

The model of agent communication in FIPA is based on the assumption that two agents, who wish to converse, share a common ontology for the domain of discourse. It ensures that the agents ascribe the same meaning to the symbols used in the message. For a given domain, designers may decide to use ontologies that are explicit, declaratively represented (and stored somewhere) or, alternatively, ontologies that are implicitly encoded with the actual software implementation of the agent themselves and thus are not formally published to an ontology service.

 

This FIPA specification deals with technologies enabling agents to manage explicit, declaratively represented ontologies. An ontology service for a community of agents is specified for this purpose. It is required that the service be provided by a dedicated agent, called an Ontology Agent (OA), whose role in the community is to provide some or all of the following services:

 

·         discovery of public ontologies in order to access them,

·         maintain (for example, register with the DF, upload, download, and modify) a set of public ontologies,

·         translate expressions between different ontologies and/or different content languages,

·         respond to query for relationships between terms or between ontologies, and,

·         facilitate the identification of a shared ontology for communication between two agents.

This specification deals only with the communicative interface to such a service while internal implementation and capabilities are left to developers. It is not mandated that every OA be able to execute all those tasks (for example, translation between ontologies, and identification of a shared ontology are in general very difficult and not always possible to realize), but every OA must be able to participate into a communication about these tasks (possibly responding that it is not able to execute the translation task). The interface is specified at the agent communication level (see [FIPAacl] and [FIPA00023]) as opposed to a computational API. Therefore, the specification defines the interaction protocols, the communicative acts and, in general, the vocabulary that agents must adopt when using this service.

 

This specification enables developers to build:

 

·         agents that access such a service,

·         agents that provide it, and,

·         agents able to negotiate at run-time a shared ontology for communication.

The application of this specification does not prevent the existence of agents that, for a given domain, use ontologies implicitly encoded with the implementation of the agents themselves. In these cases full agent communication and understanding can still be obtained, however the services provided by the OA cannot apply to implicit encoded ontologies.

 

It is not intention of this document to mandate that every AP must include an Ontology Agent. However, in order to promote interoperability, if one OA exists, then it must comply with these specification. And, if the services here described are required by a specific agent platform implementation, then they must be implemented in compliance with this specification.

 

In order to keep the applicability of the specification as unrestricted as possible, the approach used is platform independent. In particular, this specification does not mandate the storage format of ontologies but only the way agents access an ontology service. However, in order to specify the service, an explicit representation formalism has been specified. It is the FIPA-Meta-Ontology (see section 5) that allows communication of knowledge between agents. As far as possible, care has been taken to integrate existing formalisms, such as [OKBC] and [W3CRDF].


2         Ontology Service

An OA is an agent that provides access to one or more ontology servers and which provide ontology services to an agent community. As well as all the other agents, the OA registers its service with the DF and it also registers the list of maintained ontologies and their translation capabilities in order to allow agents to query the DF for the specific OA that manages a specific ontology.

 

Every agent can then request the services of the OA by using the communicative interface specified in section 6. In particular, they can request to define, modify or remove terms and definitions of the ontology; they can request to translate expressions between two ontologies for which there exists a mapping; they can query for definitions, or relationships between terms or between ontologies; finally, they can request to find a shared ontology for communication with another agent. Even if any agent requests one of the above services, the OA reserves the right to refuse the request.

 

The realization of this communication obviously needs an agreement on the language to communicate facts about ontologies. This is described in section 3.2, Ontology Naming where the subsumed knowledge model and the FIPA meta-ontology is specified. It describes the primitives, and normatively define their names, used in the communication, like concepts, parameters, relations, etc. It must be noticed that this specification is neutral in respect to the language used to store and represent the ontology (for example, RDF, KIF, ODL, …), while it only specifies the language to communicate about ontologies.

 

Section 5.3, Interaction Protocol to Agree on a Shared Ontology specifies the interaction protocol that two agents can use to agree on a shared ontology for communication.

 

The document concludes with two informative annexes. Section 7, gives a clear definition of what is intended with the term ontology and, in particular, what is the difference between a conceptualization, an ontology, and a knowledge base. Section 8, lists an informative set of guidelines to help developers to define well-founded new ontologies.

 

2.1        Rationale for Explicit Ontologies

The FIPA communication model defined in [FIPA00023] is based on the assumption that communicating agents share an ontology of communication defining speech acts and protocols (see Figure 1). In order to have fruitful communication, agents must also share an ontology of their domain of application. In an open environment, agents are designed around various ontologies (either implicit or explicit). For allowing their communication, explicit ontologies are however necessary, together with a standard mechanism to access and refer to them (such as an access protocol or a naming space).

 

 

Figure 1: Ontology-Based Communication Model

 

Without explicit ontologies, agents need to share intrinsically the same ontology to be able to communicate and this is a strong constraint in an open environment where agents, designed by different programmers or organizations, may enter into communication.

 

An explicit ontology is considered to be declaratively represented as opposed to implicitly, procedurally encoded. It can be then considered as “a referring knowledge” and, as a consequence, could be outside the communicating agents; managed by a dedicated ontology agent.

 

As described in section 7, an ontology is not only a vocabulary but also contains explicit axioms to approximate meaning, that is, to constrain the set of intended models. Explicit axioms allow validation of specifications, unambiguous definition of vocabulary, automation of operations like classification and translation.

 

Several benefits can be envisioned by having explicitly represented ontologies, such as enabling querying for concepts, updating an ontology, reusing ontologies by extending or specializing existing ones, translation between different ontologies, sharing through referring to ontology names and locations, etc.

 

2.2        Benefits for Applications

There are many applications that benefit from having a dedicated agent that manages and controls access to a set of explicit ontologies.

 

In information retrieval applications, the size of some linguistic ontologies may prevent an agent from storing the ontology in its address space, so that agents need to remotely access and refer to ontologies for disambiguation of user queries, for using information about taxonomies of terms or thesauri to enhance the quality of retrieved results, etc. The definition of a standard interface to access and query an ontology service can increase and simplify the interoperability between different systems.


Semantic integration of heterogeneous information sources in an open and dynamic environment, such as the Internet or a digital library, may also benefit from an ontology service. There are already implementations [Bayardo96] that use one domain ontology to integrate several information sources, managed by a dedicated agent, whilst still allowing each source to use its private ontology. Every user can also have their own ontology depending on their preference, their role in the domain or simply their known language. Every used ontology is a subset of the domain ontology or there exists a map between it and the domain ontology; the knowledge about these relationships (subset and mapping) is usually maintained by some ontology-dedicated agents.

 

Some applications use machine learning techniques to adaptively extend an ontology based on the interaction of the user with the system. In this case, at the execution time, several user agents may compete or collaborate to request a dedicated agent to modify an ontology.

 

2.3        Sample Scenarios

2.3.1          Scenario 1 – Definition of Terms Querying

This scenario shows the usage of an Ontology Agent to access definition of terms when using large linguistic ontologies:

 

Let’s consider Agent B able to index pictures based on their captions and send them on a demand basis:

 

1.       Agent A, which for instance is a user interface agent, is willing to get pictures of diseased citrus for its user, who is a farmer and wants to discover a diagnosis for his citrus trees. Agent A, then, requests Agent B, to send pictures of diseased citrus by referring to a given domain ontology, for example, the farmer ontology.

 

2.       Agent B discovers that no pictures under the name citrus are available. Before sending the answer to Agent A, Agent B queries the appropriate OA (where the farmer ontology resides) to obtain sub-species of citrus (which may be also sub-species of the diseased property) within the given ontology.

 

3.       The OA answers Agent B, informing it that oranges and lemon are sub-species of citrus.

 

4.       Then, Agent B finds pictures of diseased lemon and diseased orange and sends them to the Agent A.

 

5.       The scenario might continue with the user, that is, the farmer, looking at the several pictures and finding a match with the problem his trees have. When he has found the problem, he may then ask Agent A to find a diagnosis and a cure for it. Even in this case, the service provided by the OA might be useful again.

 

6.       The existence of an explicit declarative ontology managed by an external agent, the OA, allows Agent B to concentrate on its actual task of indexing and sending pictures rather than on the maintenance of the ontology itself. Agent B may also be more light-weight as it is not necessary for it to encode all the ontology since relations and definition of concepts can be accessed on demand by querying the OA.

 

Even Agent A may need to access the same OA, for instance to explain to its user the type of diseased as in the figure.

 

2.3.2          Scenario 2 – Shared Ontology Selection

Agent SP is the service provider for electronic commerce of a given merchant. It has simple behaviours referring to the sell-products ontology. It has other more complex behaviours referring to the sell-wholesale-products ontology. The complex behaviours are designed as extensions of the simple ones. The sell-wholesale-products ontology is defined explicitly in an ontology server (for example, Ontolingua) as an extension of the sell-products ontology.

 

The ontology server is accessible by agents of a given FIPA compliant platform through an OA named OA1. Following the FIPA ontologies naming scheme, these two ontologies are named as follows: sell-products and sell-wholesale-product. Both of these ontologies refer to the electronic commerce domain.

 

Agent SP would like to sell products. It makes a call for proposal using a call-for-proposals (CFP) communicative act (see [FIPA00042]); the content of this communicative act refers to the sell-wholesale-products ontology.

 

Agent C is a customer. It has only simple behaviours referring to the sell-products ontology. Agent C does not know the sell-wholesale-products ontology and as a consequence has no precise idea of the purpose of this CFP. However Agent C believes that the CFP of Agent SP is interesting to it, for instance because:

 

·         it believes that all CFPs from Agent SP are interesting to it, or,

·         a third party agent knowing the needs of Agent C and understanding this CFP has recommended Agent C to answer this CFP, or,

·         it has behaviour referring to the electronic commerce domain (that is at least the case in this example).

Following the CFP of Agent SP, three different protocols of interaction could be considered:

 

1.       Agent C queries Agent SP to know if other ontologies can be used in this CFP. Agent SP answers that the sell-products ontology can be used. If Agent C does not know this ontology (this general case does not apply in this example), the process of interaction is repeated.

2.       Agent C queries the DF to determine if it knows OAs providing access to electronic commerce domain. The DF answers to Agent C with a list of OAs including OA1. Agent C queries all these OAs about ontologies related to the