(IJCSIS) International Journal of Computer Science and Information Security, Vol. 8, No.

4, July 2010

Matching SHIQ Ontologies
B.O. Akinkunmi, A.O. Osofisan, and A.F. Donfack Kana
ope34648@yahoo.com ,nikeosofisan@gmail.com, donfackkana@yahoo.fr
Department of Computer Science, University of Ibadan, Nigeria.

Abstract- This paper proposes and evaluates an approach to facilitate semantic interoperability between Ontologies built in SHIQ description logic language in an attempt to overcome the heterogeneity problem of Ontologies. The structural definition of Ontologies is used as a key point to predict their similarities. Based on SHIQ General Concept Inclusion, Ontologies to be mapped are translated into hierarchical trees and a graph matching technique is used to find out similarities between the trees. Similarity between concepts is predicted based on their level of hierarchy and their logical definition. Semantic similarities between concepts are evaluated by putting more emphasis on the logical operators used in defining concepts with less reference to concepts syntactic similarities analysis. The obtained result shows that a pure structural comparison based mainly on logical operators used in defining Ontologies concepts provides a better approximation than a comparison combining the logical and syntactic similarities analysis evaluated based on the edit distance function.

Keywords: Ontology, Interoperability, Semantic.

Description

logics,

Mapping,

1. Introduction
Due to heterogeneity of information sources, the need has arisen for the development of techniques for representing information in an unambiguous way and finding approaches that allow applications to simultaneously manipulate data available in multiple sources. Ontologies [15] have been used to provide structured knowledge and information that give a common understanding of the domain been modeled. The non standardization of Ontologies and Ontologies languages leads to the existence of several incompatible Ontologies systems even those representing the same domain. This means that, different ontology builders may have different approaches to model a given domain or can use different terminology to represent the same concept, which may be semantically the same but syntactically different. This leads to inconsistent interpretation and incompatibility between Ontologies even those describing the same domain. Incompatibility limits the sharing of knowledge between machines or humans who do not have the same understanding of what terminology means. One cannot talk of common understanding of domains as long as there is inconsistent interpretation of terminologies. Consequently, interoperability among Ontologies systems is no longer possible at semantic level unless there is a mean of matching Ontologies created by different builders. Ontologies then face the same or even harder problems with respect to heterogeneity as any other piece of information [16]. Several research works have been undertaking in recent time in this field to determine how Ontologies should be constructed and to attempts to overcome the problem of
215

semantic interoperability. Description logics(DL) [1,12] are becoming widely used in Ontologies building, as a language that provides a clear semantic and inference services to support the design, evolution, maintenance and integration of Ontologies. Despite the merit of description logics as a language for Ontologies building, interoperability among description logics based Ontologies is still an unsolved problem. Several authors e.g. [2,3] show how description logics can be used as Ontologies language but there have been few effective and efficient proposals on how interoperability among them can really be achieved. An approach to this problem is to determine a platform that reconciles different Ontologies. Literatures on how to reconcile different Ontologies remain scanty [17,11]. Mapping of Ontologies elements is often used as an attempt for that purpose. A review of existing systems for ontology mapping reveal that most systems evaluate the semantic similarities by performing a deep analysis of syntactic comparison or by using class instance comparison[4,9,13]. The main drawback of this approach is that, in ontology building, some jargon may not be easily interpreted so as to derive their meaning from their syntax. Since most natural languages are not yet standardized, syntactic analysis cannot be seen as a perfect solution. In this paper, we describe a mapping approach that can be used to achieve interoperability between SHIQ Ontologies by performing a matching between Ontologies based mostly on the hierarchical structure of Ontologies and constructors used in defining concepts. Textual Ontologies are translated into hierarchical trees based on SHIQ general concept inclusion and graph matching techniques are used to identify similar concepts. Similarities between concepts are evaluated based on their logical definition, the similarities of their ancestors and that of their successors. In the next section we present a formal definition of ontology mapping. Section 3 introduces SHIQ language and it syntax, section 4 describes the proposed SHIQ mapping system and section 5 focuses on the implementation and the discussion of the obtained result

2. Mapping Ontologies
Ontology mapping is the main task required to achieve interoperability between two agents or services using different Ontologies. Mapping is a set of formulae that provide the semantic relationship between concepts in the models [10]. Mapping is to establish correspondences among different Ontologies and to determine the set of overlapping concepts (concepts that are similar in meaning but have different name or structure) and concepts that are unique to each of the sources [14]. Given two Ontologies O1 and O2,
http://sites.google.com/site/ijcsis/ ISSN 1947-5500

(IJCSIS) International Journal of Computer Science and Information Security, Vol. 8, No. 4, July 2010

mapping Ontologies O1 onto ontology O2 means that for each entity in ontology O1, we try to find a corresponding entity, which has the same intended meaning, in ontology O2. Mapping takes as input two lists of terms from Ontologies O1 and O2 and produces a list of matched pairs. Each pair contains two terms: one from the source ontology O1 and another from the target ontology O2. Ontology mapping as a task will entail discovering the following properties: Property 2.1 Equality: Two Ontologies are equal if there exist a mapping that can transform ontology O1 into ontology O2 Property 2.2 Subsumption: Ontology O1 subsumes O2 if a mapping exists that can transform a subset O1′ of O1 into O2. Property 2.3 Intersection: Intersection occurs between ontology O1 and O2 if they have some overlapping area. That is there exist O1′ and O2′ such that O1′⊆O1 and O2′⊆O2 and a mapping exist that can transform O1′ into O2′. Property 2.4 Disjointeness: Ontology O1 and O2 are disjoint when the two Ontologies are totally different. Ontology is made up of a collection of related concepts. Analyzing the mapping properties between two different Ontologies is the task of finding the mapping concepts in the two Ontologies. This allows us to characterize relationship between Ontologies as relation between their concepts. Map⊆C1 x C2 where C1 and C2 are sets of concepts in ontology O1 and O2 respectively is regarded as one to one function between Ontologies concepts. Each concept of a given ontology may be associated with a corresponding semantically similar concept in the other ontology.

n ∈ N, then ( ≤ nr.C) and ( ≥ nr.C) are SHIQ-concepts. A general concept inclusion (GCI) is of the form C D, where C and D are SHIQ-concepts. A finite set of GCIs is called a TBox. Concept definition is of the form A C, where A is a concept name. It can be seen as an abbreviation for the two GCIs A C and C A. For example, a subset of the definition of a family can be stated in Tbox using GCI as follow: man human ≥haschild.human woman human female man human ¬ woman mother woman ≥1haschild.human father man ≥1haschild.human grandmother mother ∃ haschild.parent grandfather father ∃haschild.parent motherwith5children mother ≥5haschild.human

≤ 2haschild. human

3. Review of SHIQ description logics as ontology language.
Description logics provide languages for the description of concepts, relations used to represent knowledge. They can be used in ontology building. They are characterized by the use of various constructors to build complex concepts from simpler ones, with an emphasis on the decidability as key reasoning tasks, and by the provision of sound, complete and (empirically) tractable reasoning services [5]. In contrast to most description logic which concentrates on constructors to describe concepts, SHIQ DL[5,6,7,8] is an expressive knowledge representation formalism that extends ALC description logics with qualifying number restrictions, inverse roles, role inclusion axioms (RIAs) R S, and transitive roles[6]. 3.1. Syntax of SHIQ concepts Concepts are used to describe the relevant notions of an application domain. The terminology (TBox) introduces abbreviations (names) for complex concepts. In SHIQ, the TBox allows one to state also more complex constraints. Let NC be a set of concept names. The set of SHIQ-concepts is the smallest set such that the following hold: 1. Every concept name A ∈ NC is a SHIQ-concept. 2. If C and D are SHIQ-concepts and r is a SHIQ-role, then C D, C D, ¬ C, ∀ r.C, and ∃ r.C are SHIQ-concepts, 3. If C is a SHIQ-concept, r is a simple SHIQ-role, and

motherwithoutdaughter mother ∀ haschild.man 3.2. Syntax of SHIQ-roles Role is interpreted as binary relation. It uses binary relations (such as Boolean operators, composition, inverse, and transitive closure) as role forming constructors. Syntax of SHIQ role is defined as follows: 1 Every role name is a role description (atomic role), S and if R, S are role descriptions, then R, S, R (intersection), R S (union), are normal role. For example, one can express that someone has a number of male children within the range of 2 and 7 by (≥2 has_Child ≤ 7 has_Child).male 2 Let R be a set of role names, which is partitioned into a set R+ of transitive roles and a set RP of normal roles. The set of all SHIQ-roles is R {r - / r R}, where r- is called the inverse of the role r. The inverse role construct allows one to denote the inverse of a given relation. One can for example one can state with has_child-.doctor that someone has a parent who is a doctor, by making use of the inverse of role has_child. The inverse relation on binary relations is symmetric, i.e., the inverse of r - is again r. A role inclusion axiom is of the form r s where r and s are SHIQ-roles. A role hierarchy is a finite set of role inclusion axioms. Role inclusion is transitive and an inclusion relation between two role transfers to their inverses 3.3. Describing Ontologies in SHIQ In general, ontology can be formalized in a TBox as follows: Firstly, we restrict the possible worlds by introducing restrictions on the allowed interpretations using the general concepts inclusion (GCIs). Secondly, we can define the relevant notions of our application domain using concept definitions. A concept name is called defined if it occurs on the left-hand side of a definition, and primitive otherwise. We want our concept definitions to have definitional impact, i.e., the interpretation of the primitive concept and role names should uniquely determine the interpretation of the defined concept names. For this, the set of concept definitions together with the additional GCIs must satisfy three conditions:
http://sites.google.com/site/ijcsis/ ISSN 1947-5500

216

(IJCSIS) International Journal of Computer Science and Information Security, Vol. 8, No. 4, July 2010

- There are no multiple definitions, i.e., each defined concept name must occur at most once as a left-hand side of a concept definition. - There are no cyclic definitions, i.e., there is no cyclic dependency between the defined names in the set of concept definitions. - The defined names do not occur in any of the additional GCIs. The SHIQ match system. The SHIQ match system takes as input two Ontologies built in SHIQ and produce as output the proposed mapped concept from the two Ontologies. Ontology O2 Ontology O1 4.

Trees representation Mapping functions: Similarities evaluations

as follow: conce ptsub role1.concept1 Conceptdef role2.concept2 … rolen.conceptn Where n is a positive integer, which may be zero and rolei, used as a generic term that may represent constructors as well as role name. The concept definition in this case can be divided into three differents parts: The defined concept specified by Conceptdef, which is the concept being defined. It is regarded as a subset of the parent concept. The parent (or subsuming) concept represented by conceptsub, which is a concept more general than the defined concept and is assumed to have the defined concept as one of its subset. Finally, a sequence of rolei.concepti separated by a set operator ( ). Each rolei.concepti term represents a specialization of the parent concept. That is, they specify an attribute of the defined concept that makes it a special kind of the parent concept.
concept concept

Logical set operator

Proposed mapped concepts
Fig.1 structure of the SHIQ match system

.

Role

Cardina lity

Number restriction

Textual Ontologies are first translated into trees. Trees are traversed and similarities are computed between trees elements based on some metrics to be defined. Finally, the system proposes to the users the matching between concepts of the two Ontologies based on their obtained similarity values 4.1. Parsing Ontologies into trees Parsing Ontology into tree takes, for each valid general concept inclusion, its constituent parts and adds them into a tree. This represent ontology as a tree T by a couple T=(N,E) where N is a finite set of nodes and E ⊆ N x N is a set of directed edges. Nodes of the tree represent concept names while edges occurring between two nodes represent the role as well as associated constructors, which is the relation that links the two concepts. In other words, a sub-concept becomes a child of the parent concept from which it was defined, while the node linking them is labeled with associated constructors that define the sub-concept in terms of the parent. Ontologies to be mapped are defined in negation normal form (NNF), that is, negation occurs only in front of concept names. Any SHIQ concept can easily be transformed to an equivalent one in NNF by pushing negations inwards by using a combination of De Morgan’s laws: (B C)= ¬B ¬C ¬(B C)= ¬B ¬C and the following equivalences:

quantification

Fig. 2 SHIQ General Concept Inclusion syntax diagram.

Starting from the top concept as a root of the tree, each GCI line is scanned using the GCI diagram and the concept been defined is added in the tree as a successor node of it parent concept. Any other element of the definition (roles, constructors and any associated concepts) appear at the edges linking the two nodes. Note that the parent concept appearing in the right side of the concept inclusion symbol of each definition. This preserves the hierarchical structure of the tree, where concepts of higher level are assumed to subsume concepts of lower level.

conceptsub role1.concept1 role2.concept2 rolen.conceptn conceptdef

¬ ( ∃ r.C) = ( ∀ r. ¬ C) ¬ ( ∀ r.C ) =( ∃ r. ¬ C) ¬ ( ≤ n r.C) = ≥ (n+1) r.C) ¬ ( ≥ n r.C)= ≤ (n-1) r.C

Fig.3 Tree representation of General Concept Inclusion

4.2 Match SHIQ Ontologies from trees. Comparison between the two trees is performed by traversing the two trees simultaneously and evaluating
http://sites.google.com/site/ijcsis/ ISSN 1947-5500

In NNF form, concepts defined using GCI is represented
217

(IJCSIS) International Journal of Computer Science and Information Security, Vol. 8, No. 4, July 2010

similarities between trees elements. Normally, each node of the first tree is compared with all the node of the second tree, to find its similar node from all the nodes of the second tree. We have adopted an approach that optimizes the total number of comparison by reducing the searching space by a factor at which concepts are similar. Nodes to be compared next are selected based on the similarities of their ancestors. When the current selected node of the first tree is compared with all the nodes of the second tree, a decision about its similarity with a node of the second tree is made. Whenever a node of the second tree is perfectly similar with that of the currently selected node of the first tree, the next step of comparison takes only their sub-trees, taking the two identical nodes as roots. For instance, in fig. 7, with the matching between woman and femme, all nodes derived from woman should be compared only with the nodes derived from femme rather than comparing them with all the nodes of the second tree. In case there is no perfect match, all its successors are compared with all the nodes of the second tree Comparetreee(tree1,tree2: tree) Begin Select a node of tree1 say node1 While (there still exist unvisited node in tree2)do Begin Select a node in tree2 say nodei Mark nodei as visited Compute_ similarity( node1, nodei) End If (there exist a node of tree2 say nodei where computed similarity=1) then Begin For (all subtree of node1 )do For (all subtree of nodei)do Comparetree(subtree of node1, subtree of nodei) End End End Else Begin For (all subtree of node1 )do Comparetree(subtree of node1, tree2) End End End
Pseudo code 1: Algorithm for traversing trees to perform the comparison.

concepts (if there exist) based on the similarity metric to be defined, is considered as the mapped concepts. Similarity between two concepts is defined as follows: Sim : ε1 × ε 2 × O1 × O2 ∈ [0, 1] Where ε1, ε2 are the set of concepts of ontology O1 and O2 respectively. Sim function returns a degree of similarity between pairs of concepts. The similarity value is between 0 and 1, where 1 stands for perfect match and 0 for no match. The hierarchy structure of the tree implies that each concept was defined only once and then appears only once on the tree. Thus each concept of the first ontology may only have at most only one similar concept in the second ontology. With this assumption, the task of mapping between two Ontologies is reduced to a one to one mapping between their respective concepts. To have a good understanding of the semantic of a particular defined concept, there is a need to understand the semantic of all other concepts associated in its definition. For example, with the following representation: Mother Woman

≥1haschild.Human

mother is defined as a woman having a child which is an instance of a class human. To capture the meaning of the concept mother, we need to understand first the meaning of concept woman and human. SHIQ Ontology is defined using concept name, role name, which is a relation occurring between concepts and possibly constraints on this relation, as well as constructors to combine those concepts. For each pair of concept been compared, a logical comparison is performed on the logical symbols that associate the concepts to their neighbor. This comparison is associated a weight which define the importance of the logical operators in determining the similarities of the concepts been defined. Because theses operators do not have any relation with the natural language used, they are considered to be the main point at which the comparison is based upon. Their comparison is based on a direct logical comparison. Our mapping approach is to make the mapping as free as possible from the syntactic comparison. We assign a high weight to each logical comparison.(fig.5) Whenever there is a need, generally when Ontologies are built in the same natural language, syntactic comparison may be used to support the logical comparison but with a very low weight. The syntactic comparison may be performed on Meta data used as concepts name or role label. Generally, when two syntactically similar terms are used in the same context, they have the same meaning. It is observed that, in modeling the same world using the same natural language, it will be difficult to find that knowledge modelers have used totally different vocabulary to define all of their concepts and role. In some cases, they may used highly syntactically related to represent the same things. As example, one may

It is worth nothing that compute_similarity is a pseudo method that refers the three methods for computing the similarity between nodes. That is comparedefinition, Comparesuccessor and importing the parent similarity as stated in fig. 4. This comparison approach reduces the number of comparison to be performed from the Cartesian product of all the nodes of the two trees (N x M) to a factor of the numbers of successors nodes of the two concepts being compared. Any pair of compared nodes is treated as a candidate mapping that will be checked and the most similar

218

http://sites.google.com/site/ijcsis/ ISSN 1947-5500

(IJCSIS) International Journal of Computer Science and Information Security, Vol. 8, No. 4, July 2010

decide to use “studentname” to represent the student name while another builder may use “student_name” for the same purpose. The edit distance (ed) introduced by Levenshtein is used as a basic measure for the syntactic similarity function. The idea behind the edit distance is to measure the minimum number of token insertions, deletions, and substitutions required to transform one string into another. The difference between two strings can be obtained from the longest common subsequence (LCS) by subtracting the double of the length of the LCS from the sum of the length of the two strings. Ed(string1,string2) = |string1|+|string2|2(|LCS(string1,string2)|) Based on the edit distance, we define the syntactic similarity function as a maximum value between 0 and the ratio of the minimum value between the lengths of the two strings minus their edit distance over the minimum length of the two strings. Simsyntax(string1,string2)=

 min ( string1 , string 2 ) − ed (string1, string 2 )   max 0,   min ( string1 , string 2 )  

Simsyntax function returns a degree of similarity of two strings, which is a value between 0 and 1, where 1 stands for perfect match and zero for bad match. It considers the number of changes that must be made to transform one string into the other and weights the number of these changes against the length of the shorter of the two strings. The similarity between concepts is captured based on three major comparisons: Concepts definition, concepts successors and parents’ concepts.

tree is determined and an average value of their similarity is obtained as the similarity value of the concept definition. The comparison is achieved by performing a syntactic comparison on the role name, a logical comparison on the set operators used in the definition. Generally, concepti appearing in the rolei.concepti is an already defined concept. Their similarity value can be obtained just by referring to their already computed value. The pseudo code below describes the comparison between two definitions. Comparedefinition(node1,node2) Var Resultdefinition: array of record Role1:string Role2:string Score:real Begin For i=1 to number of rolei.concepti appearing in the edge leading to node1 do begin For j=1 to number of rolej.conceptj appearing in the edge leading to node2 do Begin Scorerolename ←simsyntax(rolenamei, rolenamej) scorecardinality←simlogic(cardinalityi,cardinalityj) scorequantification←simlogic(quantificationi, quantificationj) scorenumberrestriction←simlogic(number restrictioni, number restrictionj) scoreassociatedconcept←similarity value of (concepti,conceptj) resultdefinition[k].role1←rolei.concepti resultdefinition[k].role2←rolej.conceptj resultdefinition[k].score←sum(scorerolename*weight +scorecardinality*weight+scorequantification*weight+ corenumberrestriction*weight+ scoreassociatedconcept*weight) /sum(weight) k←k+1 end end for (each rolei.concepti in resultdefinition[i].role1) do begin select their best match score in resultdefinition[i].score averagescore← sum(all best matches)/(number of rolei.concepti appearing in the edge that lead to node1) scoreconceptdefinition←averagescore return scoreconceptdefinition end end
Pseudo code2: Algorithm for comparing the definition of two concepts

Similarity between their definitions

Similarity between their parents

Concepts similarity

Similarity between their successors

4.4 Successor’s comparison
Fig 4. Approach for concepts similarities evaluation

4.3 Definition comparison Comparing definitions means that we find out similarities between operators, relations as well as other concepts used in the definitions. In a tree, it implies a comparison between the two edges leading to the nodes being compared. A comparison of all the rolei.concepti of the two definitions is performed. A best match for each rolei.concepti of the first
219

It is evident that similar concept will also subsume similar children concepts. So, comparison is performed on all the concepts definitions that use each of the two concepts as a parent concept. To achieve this, we compare all the edges departing from both nodes being compared. For two given nodes, we perform a Cartesian product of the number of children of each node. For instance, in fig.7, if the two nodes being compared are mother and maman, we find also the similarities between the sets (grandmere, merede5enfants) and (grandmother, motherwith5children) as they are
http://sites.google.com/site/ijcsis/ ISSN 1947-5500

(IJCSIS) International Journal of Computer Science and Information Security, Vol. 8, No. 4, July 2010

successor’s node of maman and mother respectively. For each edge departing from the node being compared in the first tree, it best match is detected from all the edges of the node of the second tree. An average value is obtained from the ratio of all the best match value and the number of edges departing from the node of the first tree. Comparesuccessor(node1,node2) Var Resultsuccessor: array of record concept1:string concept2:string Score:real Begin For i=1 to number of successor of node1 do Begin For j=1 to number of successor of node2 do Begin resultsuccessor [k].concept1← successori resultsuccessor [k]. concept2← successorj resultsuccessor[k].score←conceptdefinition(succe ssori, successorj) k←k+1 end end for (each successori in resultsuccessor[i].concept1) do begin select their best match score in resultsuccessor[i].score averagescore← sum(all best matches)/( number of successor of node1) scoresuccessor←averagescore return scoresuccessor end end
Pseudo code3: Algorithm for computing the similarity between successors’ nodes

Similarity operators (logical comparison) Similarity concepts associated to role (obtained from their mapping result)

Similarity concept definition

Similarity roles name (syntactic comparison)

Total similarity

Similarity of concepts name (syntactic comparison)

Similarity roles name (syntactic comparison) Similarity concepts associated to Roles (obtained from their mapping result) Similarity successors (syntactic comparison)

Similarity subsumed concepts

Similarity parents (obtained from mapping Similarity operators parent concepts) (logical comparison)

Fig 5: Summary of comparisons.

5. Implementation and result SHIQ match system consists of a user interface and an associated mapping engine built based on the above described technique of mapping. It provides facilities of building Ontologies to be compared. The system emphasis on the internal matching structure rather than the visualization aspect of transformations occurred on the ontology.

4.5 Parent node comparison In a real world, two things are similar if they produce the same elements. Since Ontology is just the modeling of the real world, if two concepts are similar, then there should be a similarity between their parents. For each pair of concepts being compared, we refer to the similarity of their parents to predict their own similarity. With the comparison been evaluated at three different level, we obtain, three values for a candidate pair of concepts from the two Ontologies. We define an aggregate value that gives the similarity value for that mapping. These values are assigned different weights that represent the importance for each of those above obtained value, to influence the final similarity value. We define the result of similarity between two concepts as follow:

Weight parent(score parent)+ weight concept definition(score concept definition)+weight concepts subsumption(score concept subsumption) /Σ(weight)
A syntactic comparison (see fig.5), should be avoided whenever the two Ontologies are not in the same natural language. The figure 5 below shows all the comparison performed for a given pair of concept to deduce their similarities

Fig.6 the SHIQ match system interface for Ontology building

Taking as example, the two given Ontologies, the first describing a subset of a living things and the second ontology, it subset describing the family bellow:

220

http://sites.google.com/site/ijcsis/ ISSN 1947-5500

(IJCSIS) International Journal of Computer Science and Information Security, Vol. 8, No. 4, July 2010

Ontology1 Animal living Plant living ┐ animal Tree plant >7 haslength.meters smalltree plant ¬ tree Human animal intelligent Parent human haschild.human Beast animal ¬ human Woman human female man human ┐woman father man ≥ 1 haschild.human mother woman ≥ 1 haschild.human grandfather father ∃ haschild.parent grandmother mother ∃haschild. Parent motherwith5children mother ≥5haschild. human ≤ 5haschild. human predators beast ∀ hasnutrition.meat Ontology2 parent humain ∃a_enfant.humain femme humain feminine homme humain ¬ woman papa homme ∃a_enfant.humain maman femme ∃a_enfant.humain grandpere papa ∃a_enfant.parent grandmere maman ∃a_enfant.parent < 5 a_enfant.humain > 5 merede5enfant maman a_enfant.humain We expect the system to obtain the mapping bellow (note that for clarity purpose, edges were not labeled with roles)
Ontology 1 in a Ontology 2 in a

The system uses a threshold value to determine similarities between concepts. The comparison between concepts of ontology O1 and concepts of ontology O2 provides a tabular representation of the entire possible matching and their similarity values. Each table entry contains the two concepts being compared and their similarity score. Each concept has (if exist) only one similar concept in the second tree. A threshold value is set, which gives the minimum value at which, two concepts can be said to be semantically similar. Since the score of similarity between concepts is in the range of 0 to 1, the threshold is chosen as a positive value between 0 and 1. The system scans the entire table to determine the table entry having the highest value. This value is compared with the threshold. If it is greater than the threshold, the corresponding concepts are taken to be the most similar concepts. For each table entry having one of the two concepts, they are removed from the table and therefore no other concept can be mapped to them. The process is iterated until no value of similarity obtained is above the threshold value. Figures 8 and 9 below show the result for the two Ontologies given above. The first result evaluated without syntactic comparison and the second one with syntactic comparison. From the result it is clear that the syntactic comparison has introduced a discrepancy in the result which is increasing as comparison move downward the tree.

living

humain

homme

plant

anima l
papa

femme

parent

maman

Fig.8 Output with similarity comparison(threshold = 0.7)

evaluated

mainly

on

logical

tree
smalltree

human

beast

grandpere

A comparison was performed on the same ontology while taken into account the syntactic similarities evaluation and the following result was obtained.

parent man woma n predato r
grandmere

father

mothe r

Merede 5enfants

grandfath er

grandmothe r Motherw ith5child ren

Connect the matched concepts

Fig.7 Ontologies represented in a graph with matched concepts

Fig.9 Output with similarity evaluated based on logical and syntactic comparison (threshold= 0.7)
221 http://sites.google.com/site/ijcsis/ ISSN 1947-5500

(IJCSIS) International Journal of Computer Science and Information Security, Vol. 8, No. 4, July 2010

6. Summary and Conclusion This work proposes and evaluates a structural approach, based on SHIQ description logics language that facilitates interoperability between Ontologies. Textual Ontologies to be compared are translated into hierarchical trees of concepts and roles based on SHIQ description GCI. Similarities between concepts are evaluated with more emphasis on their logical definition and by referring to others related concepts. The success of semantic interoperability largely depends on the possibility of system to operate less with the semantic similarities obtained from the syntactic analysis of information they are processing. It is hoped that, new intelligent application will deviate from syntatic to logical nature of semantic comparison. The framework evaluated in this work, shows that an analytical of semantic similarities between Ontologies based on their logical definition may be the expected solution to overcome the problems of interoperability encountered in Ontologies built in SHIQ. The proposed work is limited only on SHIQ language. SHIQ is just one of the multitude incompatible Ontology languages. Automatic processing of semantic information will not be fully achieved as long as we have several incompatible systems. It becomes then a necessity to look at performing a mapping across different plate form by finding techniques to reconcile existing ontology languages and by building theories that define the principle of mapping. References [1] Baader, F. and Nutt, W. Basic description logics. The Description Logic Handbook: Theory, Implementation, and Applications, 2003. pp 43–95. Cambridge University Press [2] Baader, F., Horrocks Ian and Ulrike Sattler “Description logics as ontology languages for the semantic web.” Mechanizing Mathematical Reasoning: Essays in Honor of Jörg Siekmann on the Occasion of His 60th Birthday, volume 2605 of Lecture Notes in Artificial Intelligence, 2005, Pp 228-248 [3] Baader, F., Horrocks Ian, Ulrike Sattler “Description Logics for the Semantic Web”. KI - Künstliche Intelligenz, 2002 pp 57-59 [4] Ehrig Marc and Steffen Staab “ QOM: Quick Ontology Mapping.” International Semantic Web Conference, 2004 pp 683– 697 [5] Horrocks Ian “Reasoning with expressive description logics: Theory and practice” Proceeding of the 19th International Conference on Automated Deduction (CADE 2002), number 2392 in Lecture Notes in Artificial Intelligence, pp 1-15 [6] Horrocks Ian, Ulrike Sattler “Decidability of SHIQ with Complex Role Inclusion Axioms” journal of Artificial Intelligence, vol. 160(1-2) ,2004, pp79-104 [7] Horrocks Ian, Ulrike Sattler. “A description logic with transitive and inverse roles and role hierarchies.” Journal of Logic and Computation, vol. 9(3),1999, pp385–410 [8] Horrocks Ian, Ulrike Sattler, Tobies, S. “ Reasoning with individuals for the description logics SHIQ” Proceeding. of the 17th International Conference on Automated Deduction (CADE 2000), number 1831 in Lecture Notes in Artificial Intelligence, pp 482-496
222

[9] John Li “LOM: A Lexicon-based Ontology Mapping Tool”. Proceeding of the Performance Metrics for Intelligent Systems (PerMIS.’04). Information Interpretation and Integration Conference. [10]Madhavan, J., Bernstein, P. A., Domingos, P. and Halevy, A. “Representing and reasoning about mappings between domain models” Proceedings of the Eighteenth National Conference on Artificial Intelligence and Fourteenth Conference on Innovative Applications of Artificial Intelligence (AAAI 2002), pp 80–86, Edmonton, Alberta, Canada.. AAAI Press. [11]Namyoun Choi, Il-Yeol Song, and Hyoi Han “A Survey on Ontology Mapping” SIGMOD, Vol. 35, No, 3, Sep. 2006, pp. 34-41 [12]Nardi, D., Brachman, J. An Introduction to Description Logics The Description Logic Handbook: Theory, Implementation, and Applications. Cambridge University Press, 2003, pp43–95 [13] Noy, N. F. and Musen M. A.” Prompt: algorithm and tool for automated ontology merging and alignment” Proceeding of Seventeenth National Conference on Artificial intelligence (AAAI-2000) [14]Noy, Natalya F “Semantic Integration: A Survey of Ontology Based Approaches.” Stanford Medical Informatics, 2004. Stanford University. [15]Uschold Mike, Michael Gruninger “ontologies: principles, methods and applications” Knowledge Engineering Review, vol11(2) 1996, pp93-155 [16]Valente, A., Russ, T., MacGrecor, R. and Swartout, W. “Building and (re)using an ontology for air campaign planning” IEEE Intelligent Systems, 1999, pp 27 [17]Yannis Kalfoglou1 and Schorlemmer, M. “Ontology mapping: the state of the art.” The Knowledge Engineering Review, Vol. 18(1), 2003pp1– 31.Cambridge University Press

http://sites.google.com/site/ijcsis/ ISSN 1947-5500

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master Your Semester with a Special Offer from Scribd & The New York Times

Cancel anytime.