Docstoc

Matching SHIQ Ontologies

Document Sample
Matching SHIQ Ontologies Powered By Docstoc
					                                                               (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                semantic interoperability. Description logics(DL) [1,12] are
facilitate semantic interoperability between Ontologies built in          becoming widely used in Ontologies building, as a language
SHIQ description logic language in an attempt to overcome the             that provides a clear semantic and inference services to
heterogeneity problem of Ontologies. The structural definition of
                                                                          support the design, evolution, maintenance and integration of
Ontologies is used as a key point to predict their similarities. Based
on SHIQ General Concept Inclusion, Ontologies to be mapped are            Ontologies. Despite the merit of description logics as a
translated into hierarchical trees and a graph matching technique         language for Ontologies building, interoperability among
is used to find out similarities between the trees. Similarity between    description logics based Ontologies is still an unsolved
concepts is predicted based on their level of hierarchy and their         problem. Several authors e.g. [2,3] show how description
logical definition. Semantic similarities between concepts are            logics can be used as Ontologies language but there have
evaluated by putting more emphasis on the logical operators used
                                                                          been few effective and efficient proposals on how
in defining concepts with less reference to concepts syntactic
similarities analysis. The obtained result shows that a pure              interoperability among them can really be achieved.
structural comparison based mainly on logical operators used in              An approach to this problem is to determine a platform
defining Ontologies concepts provides a better approximation than         that reconciles different Ontologies. Literatures on how to
a comparison combining the logical and syntactic similarities             reconcile different Ontologies remain scanty [17,11].
analysis evaluated based on the edit distance function.                   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
   Keywords:       Ontology,    Description      logics,    Mapping,
Interoperability, 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
1. Introduction
                                                                          building, some jargon may not be easily interpreted so as to
   Due to heterogeneity of information sources, the need has              derive their meaning from their syntax. Since most natural
arisen for the development of techniques for representing                 languages are not yet standardized, syntactic analysis cannot
information in an unambiguous way and finding approaches                  be seen as a perfect solution.
that allow applications to simultaneously manipulate data                    In this paper, we describe a mapping approach that can be
available in multiple sources. Ontologies [15] have been                  used to achieve interoperability between SHIQ Ontologies
used to provide structured knowledge and information that                 by performing a matching between Ontologies based mostly
give a common understanding of the domain been modeled.                   on the hierarchical structure of Ontologies and constructors
   The non standardization of Ontologies and Ontologies                   used in defining concepts. Textual Ontologies are translated
languages leads to the existence of several incompatible                  into hierarchical trees based on SHIQ general concept
Ontologies systems even those representing the same                       inclusion and graph matching techniques are used to identify
domain. This means that, different ontology builders may                  similar concepts. Similarities between concepts are evaluated
have different approaches to model a given domain or can                  based on their logical definition, the similarities of their
use different terminology to represent the same concept,                  ancestors and that of their successors.
which may be semantically the same but syntactically                      In the next section we present a formal definition of ontology
different. This leads to inconsistent interpretation and                  mapping. Section 3 introduces SHIQ language and it syntax,
incompatibility between Ontologies even those describing                  section 4 describes the proposed SHIQ mapping system and
the same domain. Incompatibility limits the sharing of                    section 5 focuses on the implementation and the discussion
knowledge between machines or humans who do not have                      of the obtained result
the same understanding of what terminology means. One
cannot talk of common understanding of domains as long as                 2. Mapping Ontologies
there is inconsistent interpretation of terminologies.
Consequently, interoperability among Ontologies systems is                Ontology mapping is the main task required to achieve
no longer possible at semantic level unless there is a mean of            interoperability between two agents or services using
matching Ontologies created by different builders.                        different Ontologies. Mapping is a set of formulae that
Ontologies then face the same or even harder problems with                provide the semantic relationship between concepts in the
respect to heterogeneity as any other piece of information                models [10]. Mapping is to establish correspondences among
[16]. Several research works have been undertaking in recent              different Ontologies and to determine the set of overlapping
time in this field to determine how Ontologies should be                  concepts (concepts that are similar in meaning but have
constructed and to attempts to overcome the problem of                    different name or structure) and concepts that are unique to
                                                                          each of the sources [14]. Given two Ontologies O1 and O2,

                                                                    215                            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         n ∈ N, then ( ≤ nr.C) and ( ≥ nr.C) are SHIQ-concepts.
entity in ontology O1, we try to find a corresponding entity,         A general concept inclusion (GCI) is of the form C D,
which has the same intended meaning, in ontology O2.               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
Mapping takes as input two lists of terms from Ontologies O1
                                                                   A is a concept name. It can be seen as an abbreviation for the
and O2 and produces a list of matched pairs. Each pair
contains two terms: one from the source ontology O1 and            two GCIs A C and C A. For example, a subset of the
another from the target ontology O2. Ontology mapping as a         definition of a family can be stated in Tbox using GCI as
task will entail discovering the following properties:             follow:
Property 2.1 Equality:                                                man human ≥haschild.human
Two Ontologies are equal if there exist a mapping that can            woman human female
transform ontology O1 into ontology O2                                man human ¬ woman
Property 2.2 Subsumption:                                             mother woman ≥1haschild.human
Ontology O1 subsumes O2 if a mapping exists that can
                                                                      father man ≥1haschild.human
transform a subset O1′ of O1 into O2.
Property 2.3 Intersection:                                            grandmother mother ∃ haschild.parent
Intersection occurs between ontology O1 and O2 if they have           grandfather father ∃haschild.parent
some overlapping area. That is there exist O1′ and O2′ such           motherwith5children       mother      ≥5haschild.human
that O1′⊆O1 and O2′⊆O2 and a mapping exist that can                ≤ 2haschild. human
transform O1′ into O2′.
                                                                      motherwithoutdaughter mother ∀ haschild.man
Property 2.4 Disjointeness:
                                                                   3.2. Syntax of SHIQ-roles
Ontology O1 and O2 are disjoint when the two Ontologies are           Role is interpreted as binary relation. It uses binary
totally different.                                                 relations (such as Boolean operators, composition, inverse,
                                                                   and transitive closure) as role forming constructors. Syntax
Ontology is made up of a collection of related concepts.           of SHIQ role is defined as follows:
Analyzing the mapping properties between two different                  1 Every role name is a role description (atomic role),
Ontologies is the task of finding the mapping concepts in the                and if R, S are role descriptions, then R, S, R     S
two Ontologies. This allows us to characterize relationship                  (intersection), R     S (union), are normal role.
between Ontologies as relation between their concepts.                       For example, one can express that someone has a
Map⊆C1 x C2 where C1 and C2 are sets of concepts in                          number of male children within the range of 2 and 7
ontology O1 and O2 respectively is regarded as one to one                    by (≥2 has_Child ≤ 7 has_Child).male
function between Ontologies concepts. Each concept of a
                                                                        2 Let R be a set of role names, which is partitioned into
given ontology may be associated with a corresponding
                                                                             a set R+ of transitive roles and a set RP of normal
semantically similar concept in the other ontology.
                                                                             roles. The set of all SHIQ-roles is R {r - / r R},
                                                                             where r- is called the inverse of the role r.
3. Review of SHIQ description logics as                               The inverse role construct allows one to denote the inverse
   ontology language.                                              of a given relation. One can for example one can state with
   Description logics provide languages for the description of       has_child-.doctor that someone has a parent who is a
concepts, relations used to represent knowledge. They can be       doctor, by making use of the inverse of role has_child. The
used in ontology building. They are characterized by the use       inverse relation on binary relations is symmetric, i.e., the
of various constructors to build complex concepts from             inverse of r - is again r.
simpler ones, with an emphasis on the decidability as key             A role inclusion axiom is of the form r s where r and s
reasoning tasks, and by the provision of sound, complete and       are SHIQ-roles. A role hierarchy is a finite set of role
(empirically) tractable reasoning services [5].                    inclusion axioms. Role inclusion is transitive and an
   In contrast to most description logic which concentrates on     inclusion relation between two role transfers to their inverses
constructors to describe concepts, SHIQ DL[5,6,7,8] is an          3.3. Describing Ontologies in SHIQ
expressive knowledge representation formalism that extends            In general, ontology can be formalized in a TBox as
ALC description logics with qualifying number restrictions,        follows:
inverse roles, role inclusion axioms (RIAs) R S, and                  Firstly, we restrict the possible worlds by introducing
transitive roles[6].                                               restrictions on the allowed interpretations using the general
3.1. Syntax of SHIQ concepts                                       concepts inclusion (GCIs).
   Concepts are used to describe the relevant notions of an           Secondly, we can define the relevant notions of our
application domain. The terminology (TBox) introduces              application domain using concept definitions. A concept
abbreviations (names) for complex concepts. In SHIQ, the           name is called defined if it occurs on the left-hand side of a
TBox allows one to state also more complex constraints. Let        definition, and primitive otherwise.
NC be a set of concept names. The set of SHIQ-concepts is             We want our concept definitions to have definitional
the smallest set such that the following hold:                     impact, i.e., the interpretation of the primitive concept and
   1. Every concept name A ∈ NC is a SHIQ-concept.                 role names should uniquely determine the interpretation of
2. If C and D are SHIQ-concepts and r is a SHIQ-role, then         the defined concept names. For this, the set of concept
C D, C D, ¬ C, ∀ r.C, and ∃ r.C are SHIQ-concepts,                 definitions together with the additional GCIs must satisfy
3. If C is a SHIQ-concept, r is a simple SHIQ-role, and            three conditions:

                                                             216                            http://sites.google.com/site/ijcsis/
                                                                                            ISSN 1947-5500
                                                          (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                               Vol. 8, No. 4, July 2010

     - There are no multiple definitions, i.e., each defined         as follow:
        concept name must occur at most once as a left-hand             Conceptdef         conce ptsub           role1.concept1
        side of a concept definition.                                role2.concept2 … rolen.conceptn
     - There are no cyclic definitions, i.e., there is no cyclic        Where n is a positive integer, which may be zero and rolei,
        dependency between the defined names in the set of           used as a generic term that may represent constructors as
        concept definitions.                                         well as role name.
     - The defined names do not occur in any of the additional       The concept definition in this case can be divided into three
        GCIs.                                                        differents parts: The defined concept specified by Conceptdef,
                                                                     which is the concept being defined. It is regarded as a subset
4.   The SHIQ match system.                                          of the parent concept. The parent (or subsuming) concept
  The SHIQ match system takes as input two Ontologies                represented by conceptsub, which is a concept more general
built in SHIQ and produce as output the proposed mapped              than the defined concept and is assumed to have the defined
concept from the two Ontologies.                                     concept as one of its subset. Finally, a sequence of
           Ontology O1        Ontology O2                            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.
                     Trees representation
                                                                        concept                             concept


                      Mapping functions:
                    Similarities evaluations
                                                                                                                                Logical set
                                                                                                                                operator


                  Proposed mapped concepts
                                                                                               Role       Cardina         Number
     Fig.1 structure of the SHIQ match system                                             .               lity            restriction


Textual Ontologies are first translated into trees. Trees are
traversed and similarities are computed between trees
                                                                                                                    quantification
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                   Fig. 2 SHIQ General Concept Inclusion syntax diagram.
values
   4.1. Parsing Ontologies into trees                                Starting from the top concept as a root of the tree, each GCI
   Parsing Ontology into tree takes, for each valid general          line is scanned using the GCI diagram and the concept been
concept inclusion, its constituent parts and adds them into a        defined is added in the tree as a successor node of it parent
tree. This represent ontology as a tree T by a couple T=(N,E)        concept. Any other element of the definition (roles,
where N is a finite set of nodes and E ⊆ N x N is a set of           constructors and any associated concepts) appear at the edges
directed edges. Nodes of the tree represent concept names            linking the two nodes. Note that the parent concept appearing
while edges occurring between two nodes represent the role           in the right side of the concept inclusion symbol of each
as well as associated constructors, which is the relation that       definition. This preserves the hierarchical structure of the
links the two concepts. In other words, a sub-concept                tree, where concepts of higher level are assumed to subsume
becomes a child of the parent concept from which it was              concepts of lower level.
defined, while the node linking them is labeled with
associated constructors that define the sub-concept in terms
of the parent.                                                                    conceptsub
   Ontologies to be mapped are defined in negation normal
form (NNF), that is, negation occurs only in front of concept                                  role1.concept1
names. Any SHIQ concept can easily be transformed to an                                        role2.concept2        …
equivalent one in NNF by pushing negations inwards by                                          rolen.conceptn
using a combination of De Morgan’s laws:
   (B C)= ¬B ¬C
   ¬(B C)= ¬B ¬C                                                                  conceptdef
    and the following equivalences:
     ¬ ( ∃ r.C) = ( ∀ r. ¬ C)
                                                                            Fig.3 Tree representation of General Concept Inclusion
     ¬ ( ∀ r.C ) =( ∃ r. ¬ C)
     ¬ ( ≤ n r.C) = ≥ (n+1) r.C)                                     4.2 Match SHIQ Ontologies from trees.
     ¬ ( ≥ n r.C)= ≤ (n-1) r.C
     In NNF form, concepts defined using GCI is represented          Comparison between the two trees is performed by
                                                                     traversing the two trees simultaneously and evaluating

                                                               217                               http://sites.google.com/site/ijcsis/
                                                                                                 ISSN 1947-5500
                                                               (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                    Vol. 8, No. 4, July 2010

similarities between trees elements. Normally, each node of               concepts (if there exist) based on the similarity metric to be
the first tree is compared with all the node of the second tree,          defined, is considered as the mapped concepts.
to find its similar node from all the nodes of the second tree.
We have adopted an approach that optimizes the total                      Similarity between two concepts is defined as follows:
number of comparison by reducing the searching space by a
                                                                          Sim : ε1 × ε 2 × O1 × O2 ∈ [0, 1]
factor at which concepts are similar.

Nodes to be compared next are selected based on the
similarities of their ancestors. When the current selected                Where ε1, ε2 are the set of concepts of ontology O1 and O2
node of the first tree is compared with all the nodes of the              respectively.
second tree, a decision about its similarity with a node of the
second tree is made. Whenever a node of the second tree is                Sim function returns a degree of similarity between pairs of
perfectly similar with that of the currently selected node of             concepts. The similarity value is between 0 and 1, where 1
the first tree, the next step of comparison takes only their              stands for perfect match and 0 for no match.
sub-trees, taking the two identical nodes as roots. For
instance, in fig. 7, with the matching between woman and                  The hierarchy structure of the tree implies that each concept
femme, all nodes derived from woman should be compared                    was defined only once and then appears only once on the
only with the nodes derived from femme rather than                        tree. Thus each concept of the first ontology may only have
comparing them with all the nodes of the second tree. In case             at most only one similar concept in the second ontology.
there is no perfect match, all its successors are compared                With this assumption, the task of mapping between two
with all the nodes of the second tree                                     Ontologies is reduced to a one to one mapping between their
Comparetreee(tree1,tree2: tree)                                           respective concepts.
Begin
          Select a node of tree1 say node1                                To have a good understanding of the semantic of a particular
          While (there still exist unvisited node in tree2)do             defined concept, there is a need to understand the semantic
          Begin                                                           of all other concepts associated in its definition. For
                    Select a node in tree2 say nodei                      example, with the following representation:
                    Mark nodei as visited
                    Compute_ similarity( node1, nodei)                    Mother    Woman     ≥1haschild.Human
          End
          If (there exist a node of tree2 say nodei where
          computed similarity=1) then                                     mother is defined as a woman having a child which is an
          Begin                                                           instance of a class human. To capture the meaning of the
                    For (all subtree of node1 )do                         concept mother, we need to understand first the meaning of
                              For (all subtree of nodei)do                concept woman and human. SHIQ Ontology is defined using
                                Comparetree(subtree of node1,             concept name, role name, which is a relation occurring
                              subtree of nodei)                           between concepts and possibly constraints on this relation, as
                              End                                         well as constructors to combine those concepts. For each pair
                    End                                                   of concept been compared, a logical comparison is
          End                                                             performed on the logical symbols that associate the concepts
          Else                                                            to their neighbor. This comparison is associated a weight
          Begin                                                           which define the importance of the logical operators in
                    For (all subtree of node1 )do                         determining the similarities of the concepts been defined.
                              Comparetree(subtree of node1,               Because theses operators do not have any relation with the
                    tree2)                                                natural language used, they are considered to be the main
                    End                                                   point at which the comparison is based upon. Their
          End                                                             comparison is based on a direct logical comparison. Our
End                                                                       mapping approach is to make the mapping as free as possible
Pseudo code 1: Algorithm for traversing trees to perform the
comparison.
                                                                          from the syntactic comparison. We assign a high weight to
                                                                          each logical comparison.(fig.5)
It is worth nothing that compute_similarity is a pseudo
method that refers the three methods for computing the                    Whenever there is a need, generally when Ontologies are
similarity between nodes. That is comparedefinition,                      built in the same natural language, syntactic comparison may
Comparesuccessor and importing the parent similarity as                   be used to support the logical comparison but with a very
stated in fig. 4.                                                         low weight. The syntactic comparison may be performed on
                                                                          Meta data used as concepts name or role label. Generally,
This comparison approach reduces the number of                            when two syntactically similar terms are used in the same
comparison to be performed from the Cartesian product of                  context, they have the same meaning. It is observed that, in
all the nodes of the two trees (N x M) to a factor of the                 modeling the same world using the same natural language, it
numbers of successors nodes of the two concepts being                     will be difficult to find that knowledge modelers have used
compared. Any pair of compared nodes is treated as a                      totally different vocabulary to define all of their concepts and
candidate mapping that will be checked and the most similar               role. In some cases, they may used highly syntactically
                                                                          related to represent the same things. As example, one may


                                                                    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                tree is determined and an average value of their similarity is
 while another builder may use “student_name” for the same                obtained as the similarity value of the concept definition. The
 purpose. The edit distance (ed) introduced by Levenshtein is             comparison is achieved by performing a syntactic
 used as a basic measure for the syntactic similarity function.           comparison on the role name, a logical comparison on the set
 The idea behind the edit distance is to measure the minimum              operators used in the definition. Generally, concepti
 number of token insertions, deletions, and substitutions                 appearing in the rolei.concepti is an already defined concept.
 required to transform one string into another. The difference            Their similarity value can be obtained just by referring to
 between two strings can be obtained from the longest                     their already computed value. The pseudo code below
 common subsequence (LCS) by subtracting the double of the                describes the comparison between two definitions.
 length of the LCS from the sum of the length of the two                  Comparedefinition(node1,node2)
 strings.                                                                 Var
                                                                          Resultdefinition: array of record
 Ed(string1,string2) = |string1|+|string2|-                               Role1:string
 2(|LCS(string1,string2)|)                                                Role2:string
                                                                          Score:real
 Based on the edit distance, we define the syntactic similarity           Begin
 function as a maximum value between 0 and the ratio of the                  For i=1 to number of rolei.concepti appearing in the
 minimum value between the lengths of the two strings minus                 edge leading to node1 do
 their edit distance over the minimum length of the two                    begin
 strings.                                                                    For j=1 to number of rolej.conceptj appearing in the
                                                                             edge leading to node2 do
 Simsyntax(string1,string2)=                                                Begin
     min ( string1 , string 2 ) − ed (string1, string 2 )                    Scorerolename ←simsyntax(rolenamei, rolenamej)
 max 0,                                                                      scorecardinality←simlogic(cardinalityi,cardinalityj)
    
                 min ( string1 , string 2 )               
                                                           
                                                                               scorequantification←simlogic(quantificationi,
                                                                              quantificationj)
                                                                              scorenumberrestriction←simlogic(number restrictioni,
                                                                              number restrictionj)
 Simsyntax function returns a degree of similarity of two strings,            scoreassociatedconcept←similarity value of
 which is a value between 0 and 1, where 1 stands for perfect                 (concepti,conceptj)
 match and zero for bad match. It considers the number of                     resultdefinition[k].role1←rolei.concepti
 changes that must be made to transform one string into the                   resultdefinition[k].role2←rolej.conceptj
 other and weights the number of these changes against the                    resultdefinition[k].score←sum(scorerolename*weight
 length of the shorter of the two strings.                                    +scorecardinality*weight+scorequantification*weight+
                                                                              corenumberrestriction*weight+
 The similarity between concepts is captured based on three                   scoreassociatedconcept*weight) /sum(weight)
 major comparisons: Concepts definition, concepts successors                  k←k+1
 and parents’ concepts.                                                     end
                                                                          end

                                                                          for (each rolei.concepti in resultdefinition[i].role1) do
Similarity between                             Similarity between         begin
their definitions                              their parents                  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)
                           Concepts                                           scoreconceptdefinition←averagescore
                           similarity                                         return scoreconceptdefinition
                                                                            end
                                                                          end

                   Similarity between                                     Pseudo code2: Algorithm for comparing the definition of two concepts
                   their successors
                                                                          4.4 Successor’s comparison

 Fig 4. Approach for concepts similarities evaluation                     It is evident that similar concept will also subsume similar
                                                                          children concepts. So, comparison is performed on all the
 4.3 Definition comparison                                                concepts definitions that use each of the two concepts as a
                                                                          parent concept. To achieve this, we compare all the edges
 Comparing definitions means that we find out similarities                departing from both nodes being compared. For two given
 between operators, relations as well as other concepts used in           nodes, we perform a Cartesian product of the number of
 the definitions. In a tree, it implies a comparison between the          children of each node. For instance, in fig.7, if the two nodes
 two edges leading to the nodes being compared. A                         being compared are mother and maman, we find also the
 comparison of all the rolei.concepti of the two definitions is           similarities between the sets (grandmere, merede5enfants)
 performed. A best match for each rolei.concepti of the first             and (grandmother, motherwith5children) as they are

                                                                    219                              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                                                              Similarity operators
first tree, it best match is detected from all the edges of the                                                      (logical comparison)
node of the second tree. An average value is obtained from
the ratio of all the best match value and the number of edges                                                         Similarity concepts associated
departing from the node of the first tree.                                                                            to role (obtained from their
                                                                                                                      mapping result)
Comparesuccessor(node1,node2)                                                          Similarity concept
Var                                                                                    definition
Resultsuccessor: array of record                                                                                     Similarity roles name
concept1:string                                                                                                      (syntactic comparison)
concept2:string
Score:real
Begin                                                                     Total              Similarity of         Similarity roles name
                                                                          similarity         concepts name         (syntactic comparison)
    For i=1 to number of successor of node1 do
                                                                                             (syntactic
    Begin                                                                                    comparison)          Similarity concepts associated to
         For j=1 to number of successor of node2 do                                                               Roles (obtained from their
         Begin                                                                                                    mapping result)
             resultsuccessor [k].concept1← successori                                        Similarity           Similarity successors
             resultsuccessor [k]. concept2← successorj                                       subsumed             (syntactic comparison)
             resultsuccessor[k].score←conceptdefinition(succe                                concepts
             ssori, successorj)
                                                                              Similarity parents
             k←k+1
                                                                              (obtained from mapping
          end                                                                 parent concepts)       Similarity operators
  end                                                                                                (logical comparison)
for (each successori in resultsuccessor[i].concept1) do
begin
  select their best match score in resultsuccessor[i].score                   Fig 5: Summary of comparisons.
  averagescore← sum(all best matches)/( number of
  successor of node1)                                                     5. Implementation and result
  scoresuccessor←averagescore
  return scoresuccessor
                                                                          SHIQ match system consists of a user interface and an
  end
                                                                          associated mapping engine built based on the above
end
Pseudo code3: Algorithm for computing the similarity between
                                                                          described technique of mapping. It provides facilities of
successors’ nodes                                                         building Ontologies to be compared. The system emphasis
                                                                          on the internal matching structure rather than the
4.5 Parent node comparison                                                visualization aspect of transformations occurred on the
                                                                          ontology.
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)                         Fig.6 the SHIQ match system interface for Ontology building

A syntactic comparison (see fig.5), should be avoided                     Taking as example, the two given Ontologies, the first
whenever the two Ontologies are not in the same natural                   describing a subset of a living things and the second
language. The figure 5 below shows all the comparison                     ontology, it subset describing the family bellow:
performed for a given pair of concept to deduce their
similarities


                                                                    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

                                                                                                    The system uses a threshold value to determine similarities
                              Ontology1                                                          between concepts. The comparison between concepts of
Animal living                                                                                    ontology O1 and concepts of ontology O2 provides a tabular
Plant living ┐ animal                                                                            representation of the entire possible matching and their
Tree plant >7 haslength.meters                                                                   similarity values. Each table entry contains the two concepts
smalltree plant ¬ tree                                                                           being compared and their similarity score. Each concept has
Human animal intelligent                                                                         (if exist) only one similar concept in the second tree. A
Parent human haschild.human                                                                     threshold value is set, which gives the minimum value at
Beast animal ¬ human                                                                             which, two concepts can be said to be semantically similar.
Woman human female                                                                               Since the score of similarity between concepts is in the range
man human ┐woman                                                                                 of 0 to 1, the threshold is chosen as a positive value between
father man ≥ 1 haschild.human                                                                    0 and 1.
mother woman ≥ 1 haschild.human                                                                     The system scans the entire table to determine the table
grandfather father ∃ haschild.parent                                                             entry having the highest value. This value is compared with
grandmother mother ∃haschild. Parent                                                             the threshold. If it is greater than the threshold, the
motherwith5children mother ≥5haschild.                                                           corresponding concepts are taken to be the most similar
human     ≤ 5haschild. human                                                                     concepts. For each table entry having one of the two
predators beast ∀ hasnutrition.meat                                                              concepts, they are removed from the table and therefore no
                                                                                                 other concept can be mapped to them. The process is iterated
Ontology2                                                                                        until no value of similarity obtained is above the threshold
parent humain ∃a_enfant.humain                                                                   value.
femme humain feminine                                                                               Figures 8 and 9 below show the result for the two
homme humain ¬ woman                                                                             Ontologies given above. The first result evaluated without
papa homme          ∃a_enfant.humain                                                             syntactic comparison and the second one with syntactic
maman femme ∃a_enfant.humain                                                                     comparison. From the result it is clear that the syntactic
grandpere papa        ∃a_enfant.parent                                                           comparison has introduced a discrepancy in the result which
grandmere maman          ∃a_enfant.parent                                                        is increasing as comparison move downward the tree.
merede5enfant maman          < 5 a_enfant.humain > 5
a_enfant.humain
We expect the system to obtain the mapping bellow (note
that for clarity purpose, edges were not labeled with roles)

                                                                Ontology 2 in a
             Ontology 1 in a


                        living                                        humain




                                                          homme

              plant           anima                                   femme            parent
                              l
                                                                                                   Fig.8 Output with similarity         evaluated   mainly    on    logical
                                                         papa                  maman             comparison(threshold = 0.7)
                tree                                                                                A comparison was performed on the same ontology while
 smalltree                 human       beast
                                                                                                 taken into account the syntactic similarities evaluation and
                                                                                                 the following result was obtained.
                                                         grandpere

 parent
                man                woma        predato
                                   n           r
                                                                 grandmere



             father                mothe                                 Merede
                                   r                                     5enfants



                                 grandmothe                              Connect the
 grandfath
                                 r                                       matched
 er
                                                                         concepts
                       Motherw
                       ith5child
                       ren



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                                        [9] John Li “LOM: A Lexicon-based Ontology Mapping
   This work proposes and evaluates a structural approach,              Tool”. Proceeding of the Performance Metrics for
based on SHIQ description logics language that facilitates              Intelligent     Systems    (PerMIS.’04).     Information
interoperability between Ontologies. Textual Ontologies to              Interpretation and Integration Conference.
be compared are translated into hierarchical trees of concepts      [10]Madhavan, J., Bernstein, P. A., Domingos, P. and
and roles based on SHIQ description GCI. Similarities                   Halevy, A. “Representing and reasoning about
between concepts are evaluated with more emphasis on their              mappings between domain models” Proceedings of the
logical definition and by referring to others related concepts.         Eighteenth National Conference on Artificial
   The success of semantic interoperability largely depends             Intelligence and Fourteenth Conference on Innovative
on the possibility of system to operate less with the semantic          Applications of Artificial Intelligence (AAAI 2002), pp
similarities obtained from the syntactic analysis of                    80–86, Edmonton, Alberta, Canada.. AAAI Press.
information they are processing. It is hoped that, new              [11]Namyoun Choi, Il-Yeol Song, and Hyoi Han “A Survey
intelligent application will deviate from syntatic to logical           on Ontology Mapping” SIGMOD, Vol. 35, No, 3, Sep.
nature of semantic comparison. The framework evaluated in               2006, pp. 34-41
this work, shows that an analytical of semantic similarities        [12]Nardi, D., Brachman, J. An Introduction to Description
between Ontologies based on their logical definition may be             Logics The Description Logic Handbook: Theory,
the expected solution to overcome the problems of                       Implementation,       and    Applications.    Cambridge
interoperability encountered in Ontologies built in SHIQ.               University Press, 2003, pp43–95
The proposed work is limited only on SHIQ language. SHIQ            [13] Noy, N. F. and Musen M. A.” Prompt: algorithm and
is just one of the multitude incompatible Ontology                      tool for automated ontology merging and alignment”
languages. Automatic processing of semantic information                 Proceeding of Seventeenth National Conference on
will not be fully achieved as long as we have several                   Artificial intelligence (AAAI-2000)
incompatible systems. It becomes then a necessity to look at        [14]Noy, Natalya F “Semantic Integration: A Survey of
performing a mapping across different plate form by finding             Ontology Based Approaches.” Stanford Medical
techniques to reconcile existing ontology languages and by              Informatics, 2004. Stanford University.
building theories that define the principle of mapping.             [15]Uschold Mike, Michael Gruninger “ontologies:
                                                                        principles, methods and applications” Knowledge
References                                                              Engineering Review, vol11(2) 1996, pp93-155
[1] Baader, F. and Nutt, W. Basic description logics. The           [16]Valente, A., Russ, T., MacGrecor, R. and Swartout, W.
    Description Logic Handbook: Theory, Implementation,                 “Building and (re)using an ontology for air campaign
    and Applications, 2003.          pp 43–95. Cambridge                planning” IEEE Intelligent Systems, 1999, pp 27
    University Press                                                [17]Yannis Kalfoglou1 and Schorlemmer, M. “Ontology
[2] Baader, F., Horrocks Ian and Ulrike Sattler                         mapping: the state of the art.” The Knowledge
    “Description logics as ontology languages for the                   Engineering       Review,    Vol.     18(1),   2003pp1–
    semantic web.” Mechanizing Mathematical Reasoning:                  31.Cambridge University Press
    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                            http://sites.google.com/site/ijcsis/
                                                                                             ISSN 1947-5500

				
DOCUMENT INFO
Description: The International Journal of Computer Science and Information Security is a monthly periodical on research articles in general computer science and information security which provides a distinctive technical perspective on novel technical research work, whether theoretical, applicable, or related to implementation. Target Audience: IT academics, university IT faculties; and business people concerned with computer science and security; industry IT departments; government departments; the financial industry; the mobile industry and the computing industry. Coverage includes: security infrastructures, network security: Internet security, content protection, cryptography, steganography and formal methods in information security; multimedia systems, software, information systems, intelligent systems, web services, data mining, wireless communication, networking and technologies, innovation technology and management. Thanks for your contributions in July 2010 issue and we are grateful to the reviewers for providing valuable comments. IJCSIS July 2010 Issue (Vol. 8, No. 4) has an acceptance rate of 36 %.