An ontology similarity algorithm for BioAgent

In the last years, the Web has been evolving, transforming itself in a semantic Web [1]. The new Web aims at guaranteeing almost completely automatic access to information sources, by introducing ontologies [6, 7, 4] and using mobile agents [8]. Ontologies, representing agents’ knowledge, will allow integration of heterogenous resources to support global information systems. The use of ontologies in agent framework is not an easy task, especially as a measurement of ontological similarity. Although several ontology models [3, 2] and several measurements for semantics similarity have been presented in the literature, there is a need for more sensitive measurements which can provide a degree of similarity between concepts in order to perform semantic matching. Such measurements should take into account the structure of the concepts description and the relationships between concepts. Starting from the graphoriented model proposed in ONION [10], the present work proposes an algorithm to assess the semantic similarity between two concepts. The resulting data structure is used to represent agent knowledge, while the similarity algorithm compares concepts placed on different agent platforms. The proposed algorithm has been designed for a biological domain and developed for BioAgent [12], a mobile agent platform for distributed biological applications. Ontology model A lexicon L consists of a finite set of semantically meaningful Concepts, denoted by C and a finite set of Relationships R, i.e. L = C ∪ R. An ontology is a formal specification of a shared conceptualisation, that is, the knowledge structure that describes the semantics of an information source by using a lexicon L. Formally, an ontology can be represented by an ontological graph G = (N,A, λ, δ), a labelled directed graph in which the set of nodes N represents concepts and the set of arcs A ⊂ N ×N ×R represents relationships between concepts. The univocal association of a node to a concept is given by the λ : N → C mapping function, whereas the association of arcs to relationships is given by a δ : A → R mapping function. The δ function is neither injective nor surjective mapping, allowing for unexpressed relationships in the ontological graph. For ease of notation and without missing any meaning, the ontological graph will be addressed by G = (N,A) in the sequel to this paper. BioAgent A BioAgent is a mobile agent framework designed to support the definition of distributed applications in a biological domain. An application consists of one or more agents, properly created to elaborate several tasks such as the retrieval and integration of heterogeneous information. Any information source is interfaced by a BioAgent platform, whose software architecture is sketched in Figure 1. The Core Layer contains features exposed to service agents such as security and resource access and features exposed to agents such as mobility, communication, creation-cloning and domain descriptors. The Service Agents Layer consists of a community of agents have been created to support the access to services locally available. Actually, the BioAgent prototype provides four services of general and wide applicability: Broker Agent, Web Interface, Wrapper and Ontology. The broker agent is a special agent which keeps trace of each running service agents and provides to any new agent the list of all locally ac-