<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Searching Web Resources Using Ontology Mappings</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Dragan Gaševi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marek Hatala</string-name>
          <email>mhatala@sfu.ca</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>School of Interactive Arts and Technology, Simon Fraser University Surrey 2400 Central City</institution>
          ,
          <addr-line>10153 King George Hwy, Surrey, BC V3T 2W1</addr-line>
          ,
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <fpage>33</fpage>
      <lpage>40</lpage>
      <abstract>
        <p>This paper proposes an ontology mapping based framerowk that allows searching for web resources using multiple ontologies. The proposed solution uses a mapping ontology that is a part of a recent Semantic Web initiative called the Simple Knowledge Organization System (SKOS). On top of that, we propose the search algorithm that takes arguments from one ontology and generates queries compliant with other ontologies. We evaluated the solution on a web application that allows using a local ontology, which describes content of a web site, to search for web resources in remote digital libraries or object repositories based on more general content ontologies.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Ontology</kwd>
        <kwd>ontology mapping</kwd>
        <kwd>search</kwd>
        <kwd>interoperability</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>
        In a past few years large collections of web resources
became available either through the digital libraries (such as
ACM Portal), community-based object repositories, or
more importantly as widely dispersed web resources in
many individual institutions. Several interoperability
initiatives are trying to address the issue of searching across
multiple object collections. However, the effectiveness of
searching is hampered by the fact that individual web
resources are typically not interconnected into the web and
therefore lacking the context which makes the Google’s
PageRank algorithm [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] so effective. The libraries and
repositories are overcoming this lack of context by
providing explicit semantic information in the form of
subject categories, taxonomies, or ideally richer ontologies.
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that
copies bear this notice and the full citation on the first page. To copy
otherwise, or republish, to post on servers or to redistribute to lists,
requires prior specific permission by the copyright owners.
      </p>
      <p>Copyright 2005</p>
      <p>
        However, one can hardly find two different object
repositories relaying on the same classification.
Furthermore, the previous research showed that community
members have real difficulty of making annotations of their
objects using subject taxonomies [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. On the other hand,
they are more comfortable using their own application
domain space as well as with their local context than
multiple ontologies used in remote repositories.
      </p>
      <p>
        In order to address this problem here we propose the use of
ontology mappings to define relations between concepts
from different ontologies [
        <xref ref-type="bibr" rid="ref16 ref20 ref9">9, 16, 20</xref>
        ]. On top of such
mapping relations we developed a search algorithm that
uses concept of one ontology (i.e. the source ontology) as
query arguments, generates queries compliant with another
ontologies (i.e. target ontologies), and finally gets ranked
search results semantically relevant for the source ontology.
To define mapping relations among ontologies we use
another ontology – mapping ontology – that specifies a set
of relations for relating concepts from different ontologies.
Actually, we use the Mapping Vocabulary [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] of the
Simple Knowledge Organization System (SKOS), a recent
W3C RDF-based initiative [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. We implemented the
search algorithm using Jess [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] and OWLJessKB [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] as a
component. The component can be used in different
semantic web application such as a federated search engine
of object repositories/digital libraries annotated with
different classifications; or applications that allow using a
local web application content ontology to get relevant
results from remote digital libraries based upon another
ontologies.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. METADATA, ONTOLOGIES, AND</title>
    </sec>
    <sec id="sec-3">
      <title>WEB RESOURCES</title>
      <p>Although the present semantic web research try to improve
most of interoperability issues, some problems still exist.</p>
    </sec>
    <sec id="sec-4">
      <title>2.1 Web metadata and domain ontologies</title>
      <p>
        Web resource metadata and domain ontologies (i.e.
taxonomies) are often defined at different ontological
levels. In order to underpin this statement let us consider an
example of combining Dublin Core (DC) metadata schema
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and domain ontologies. Technically, the DC metadata of
a web resource is an instance (i.e. RDF) of the DC RDF
Schema. Additionally, the metadata is enriched with
keywords defined in an domain ontology (e.g. for computer
science domain based on the ACM Computing
Classification System – CCS [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]). If we refer to keywords
Mapping ontology
      </p>
      <p>Legend:</p>
      <p>
        instance of
mri – mapping relation
that are defined as classes in an RDF Schema, we annotate
the metadata (i.e. schema instances) with ontology classes
(i.e. schema). Those keywords are listed in the subject
element of the DC metadata schema. Since ontology
languages do not have a strict separation between
ontological levels [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] this approach is completely
applicable. In fact, this problem of representing classes as
properties values has already been recognized by W3C
Semantic Web Best Practices Working Group as classes as
property values [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. While OWL Full and RDF Schema do
not put any restriction on using classes as property values,
OWL DL and OWL Lite do not generally allow this use,
and thus restrict the use of some Semantic Web reasoners.
Apart from the solutions listed in the W3C note, we can use
specialized ontologies for defining domain taxonomies with
a rich set of properties for defining concept hierarchies such
as SKOS [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
      </p>
    </sec>
    <sec id="sec-5">
      <title>2.2 Mapping among multiple domain ontologies</title>
      <p>
        Currently, there are many different domain ontologies
developed for the use on the Web. Very often developers
are not able to reuse existing ontologies, as they were built
for different purposes. For instance, some sources (e.g.
object repositories, digital libraries) where we look for
some web resources are based on different classifications
(e.g. the ACM CCS in the ACM Digital Library [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]). We
often need to build application-specific ontologies. For
example, in the e-learning domain we can build an ontology
of a course curriculum (e.g Information Management
course) [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] to organize web resources related to the
course. However, the main issue is how to use an
application-specific ontology to search for web resources
annotated with another ontology. In order to overcome such
diversities we have to introduce an additional level of
interoperability among ontologies [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. One solution is to
employ ontology mappings to define how concepts from
different ontologies relate each other.
      </p>
      <p>
        Here we describe only one way for defining mappings,
although there are many practically used ontology mapping
techniques [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. It regards the use of a mapping ontology –
an ontology containing classes and properties (i.e.
primitives) that can express relations between ontology
concepts and properties (see Figure 1). This principle is
suitable for implementation since semantic web reasoning
tools (e.g. FaCT, OWLJessKB) represent the mapping
ontology in the same way (i.e. like facts) as both the source
and target ontologies. Historically, this approach originates
from the explicit representation of relationships between
domain (i.e. source) and method (i.e. target) ontologies
assembled in a specific knowledge application [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. An
example of such a mapping ontology was developed as a
part of the project on reusable problem-solving components
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. MAFRA (MApping FRAmework) is another solution
for mapping distributed ontologies [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Apart from a very
detailed mapping ontology called the semantic bridge
ontology, MAFRA also defines two-dimensional process (5
horizontal and 4 vertical modules) ontology mappings
process. Note also that a mapping ontology is used in the
PROMPT Tab, a plug-in of the Protégé ontology editor for
merging and mapping ontologies, to save discovered
mappings [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. However, none of these mapping ontologies
is standardized. Furthermore, they do not posses a wide
range of primitives for defining different levels of mappings
(e.g. exact match), which can be useful in raking search
results.
      </p>
    </sec>
    <sec id="sec-6">
      <title>3. REPRESENTATION OF ONTOLOGIES</title>
    </sec>
    <sec id="sec-7">
      <title>AND MAPPINGS</title>
      <p>
        In order to address two problems listed in previous section
our solution uses the Simple Knowledge Organization
System (SKOS) [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] for defining different types of
ontologies (e.g. classifications, taxonomies, thesaurus) as
well as mappings of concepts between different domain
ontologies. The SKOS consists of the three RDF
vocabularies that are still under the active development at
the W3C:
· SKOS Core – for expressing the basic structure and
content of concept schemes (taxonomies, terminologies,
etc);
· SKOS Mapping – for describing mappings between
      </p>
      <p>concept schemes;
· SKOS Extension – containing extensions to the SKOS</p>
      <p>Core useful for specialized applications.
&lt;rdf:RDF&gt;
&lt;skos:ConceptScheme rdf:ID="&amp;acm-ccs;acm-ccs"&gt;
&lt;skos:hasTopConcept rdf:resource="&amp;acm-ccs;A" /&gt;
&lt;!-- ... --&gt;
&lt;skos:hasTopConcept rdf:resource="&amp;acm-ccs;K" /&gt;
&lt;/skos:ConceptScheme&gt;
&lt;!-- ... --&gt;
&lt;skos:Concept rdf:ID="&amp;acm-ccs;H.3"&gt;
&lt;skos:prefLabel xml:lang="en"&gt;Information Storage and
Retrieval&lt;/skos:prefLabel&gt;
&lt;skos:inScheme rdf:resource="&amp;acm-ccs;acm-ccs" /&gt;
&lt;skos:broaderGeneric rdf:resource="&amp;acm-ccs;H" /&gt;
&lt;skos:narrowerGeneric rdf:resource="&amp;acm-ccs;H.3.1" /&gt;
&lt;!-- ... --&gt;
&lt;skos:narrowerGeneric rdf:resource="&amp;acm-ccs;H.3.m" /&gt;
&lt;/skos:Concept&gt;
&lt;!-- ... --&gt;
&lt;skos:Concept rdf:ID="&amp;acm-ccs;H.3.3"&gt;</p>
      <p>&lt;skos:prefLabel xml:lang="en"&gt;Information Search and
Retrieval&lt;/skos:prefLabel&gt;
&lt;skos:inScheme rdf:resource="acm-ccs" /&gt;
&lt;skos:broaderGeneric rdf:resource="&amp;acm-ccs;H.3" /&gt;
&lt;skos:narrowerGeneric rdf:resource="&amp;acm-ccs;H.3.3.1" /&gt;
&lt;!-- ... --&gt;
&lt;skos:narrowerGeneric rdf:resource="&amp;acm-ccs;H.3.3.6" /&gt;
&lt;/skos:Concept&gt;
&lt;!-- ... --&gt;
&lt;skos:Concept rdf:ID="&amp;acm-ccs;H.3.3.1"&gt;
&lt;skos:prefLabel xml:lang="en"&gt;Information</p>
      <p>Filtering&lt;/skos:prefLabel&gt;
&lt;skos:inScheme rdf:resource="&amp;acm-ccs;acm-ccs" /&gt;
&lt;skos:broaderGeneric rdf:resource="&amp;acm-ccs;H.3.3" /&gt;
&lt;/skos:Concept
&lt;!-- ... --&gt;
&lt;/rdf:RDF&gt;
&lt;!--IM1.1 - History and motivation for information systems</p>
      <p>-&gt;H.5.m - Miscellaneous --&gt;
&lt;skos:Concept rdf:about="&amp;imc;IM1.1"&gt;
&lt;map:minorMatch&gt;</p>
      <p>&lt;skos:Concept rdf:about= "&amp;acm-ccs;H.5.m"/&gt;
&lt;/map:minorMatch&gt;
&lt;/skos:Concept&gt;
&lt;!-- IM1.2 - Information storage and retrieval (IS&amp;R) -&gt;</p>
      <p>H.3 - Information storage and retrieval--&gt;
&lt;skos:Concept rdf:about="&amp;imc;IM1.2"&gt;
&lt;map:exactMatch&gt;</p>
      <p>&lt;skos:Concept rdf:about= "&amp;acm-ccs;H.3"/&gt;
&lt;/map:exactMatch&gt;
&lt;/skos:Concept&gt;
&lt;!--IM1.6 - Search, retrieval, linking, navigation -&gt;</p>
      <p>Union of H.3.3 - Information Search and Retrieval</p>
      <p>E.2.3 - Linked representations --&gt;
&lt;skos:Concept rdf:about="&amp;imc;IM1.6"&gt;
&lt;map:majorMatch&gt;</p>
      <p>&lt;map:OR about="#OR1"/&gt;
&lt;/map:majorMatch&gt;
&lt;/skos:Concept&gt;
&lt;map:OR ID="OR1"&gt;
&lt;map:memberList rdf:parseType="Collection"&gt;
&lt;skos:Concept rdf:about="&amp;acm-ccs;H.3.3"/&gt;
&lt;skos:Concept rdf:about="&amp;acm-ccs;E.2.3"/&gt;
&lt;/map:memberList&gt;
&lt;/map:OR&gt;
a) b)</p>
      <p>Figure 2. The use of SKOS: a) An excerpt of the ACM CCS in the XML/RDF format of the SKOS. The classification
comprises the 11 top level concepts marked with letters from A to K. Most of the top level concepts are further subdivided
into three more levels with numbers being added to their identifiers; b) an excerpt of the mappings between the ACM CCS
and another ontology (an Information Management course curriculum ontology) defined in the SKOS Mappings
SKOS Core provides a model for expressing the basic exactMatch, majorMatch, minorMatch). Such a rich set of
structure and content of concept schemes. Basically, the semantic relations for expressing mapping is useful in
SKOS Core defines a set of both RDFS properties and ranking search results to reflect the weight of the mapping.
RDFS classes that can be used to express the content and Apart from the properties, the SKOS Mapping has the three
structure of a concept scheme (such as Concept, broader, classes for defining: intersection of concepts (the AND
narrower, related, subject, isSubjectOf). For example, the class), union of concepts (OR), and negation (NOT).
broader property is used to specify that a concept is
broader than another one. In order to define
subclass/superclass relations we can use the SKOS
Extension vocabulary and its properties narrowerGeneric
and broaderGeneric that are sub-properties of the narrower
and broader properties, respectively. The narrowerGeneric
property is semantically equivalent to the rdfs:subClassOf
property, and thus has a slight different meaning from the
narrower property.</p>
      <p>
        In Figure 2b we show how we have used the SKOS
Mapping to express the mapping between an e-learning
relevant course curriculum ontology and the ACM CCS
ontology. The curriculum ontology captures the
Information Management course [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The course contains
14 units (top level SKOS concepts), and each unit contain
several topics (sub-concepts of top level concepts in
SKOS). One can see different match levels between
concepts (i.e. minorMatch, majorMatch, and exactMatch)
in Figure 2b. We also show how one defines the mapping
relation between a concept (e.g. IM1.6) and a union (e.g.
      </p>
      <p>
        OR1) of other concepts (e.g. H.3.3 and E.2.3). As mappings
relations are not symmetric [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] we have to provide two
mapping relations for each pair of concepts in case of
twoway mappings.
      </p>
    </sec>
    <sec id="sec-8">
      <title>3.1 Ontology representation</title>
      <p>
        We use ACM CCS to illustrate the use of SKOS to define
domain ontology. The ACM CCS is probably the most
comprehensive classification in the domain of computer
science [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. An excerpt of the classification in the SKOS is
shown in Figure 2a. Note that we use the SKOS Extension
properties broaderGeneric and narrowerGeneric in order
to have subclass/superclass relations between concepts.
      </p>
    </sec>
    <sec id="sec-9">
      <title>3.2 Ontology mapping</title>
      <p>The SKOS Mapping vocabulary contains a set of properties
for specifying mapping relations among concepts from
different domain ontologies (broadMatch, narrowMatch,</p>
    </sec>
    <sec id="sec-10">
      <title>4. ONTOLOGY MAPPING BASED</title>
    </sec>
    <sec id="sec-11">
      <title>SEARCH ALGORITHM</title>
      <p>The substance of having mappings among different
ontology-based vocabularies is to enable the use of the
ontology A to search web resources annotated with
concepts from another ontology B. Accordingly, we
dedicate this section to the search algorithm we developed.
exactMatch</p>
    </sec>
    <sec id="sec-12">
      <title>4.1 Starting presumptions</title>
      <p>The algorithm is based on the following presumptions:
Input arguments of the search algorithm are concepts of
the source ontology;
Results of the search algorithm are concepts of the target
ontology;
Mapping relations among concepts from both source and
target ontologies are defined using the SKOS Mappings;
For each input argument the search algorithm looks for
target ontology concepts that have defined mappings. We
call those target ontology concepts – matched concepts.
The search algorithm also looks for child concepts of
matched concepts.</p>
      <p>When ranking search results, different kinds of the SKOS
Mappings relations should be taken into account.</p>
    </sec>
    <sec id="sec-13">
      <title>4.2 Initial algorithm</title>
      <p>The input argument of the initial algorithm is a concept
from the source ontology. The algorithm searches for
matched concepts in the target ontology based on all types
of SKOS mappings relation types. Next, the algorithm
looks for child concepts of the matched concepts, but only a
predefined number of levels (dmax) below the matched
concept in the target ontology (see Figure 3a).</p>
      <p>The algorithm creates 5 different lists of matched concepts
called clusters (one for each mapping relation type) as well
as 5 clusters of child concepts (dmax levels below) of the
matched concepts. Finally, the algorithm merges all clusters
respecting the order of clusters listed in the cluster-names
variable in Figure 4 (NB Figure 4 does not illustrate this
algorithm version, but the next one). In fact, the merging is
performed by connecting clusters using the union operator.
Although the algorithm in a rather simple way searches for
the matched concepts in the target ontology as well as ranks
the resulting set of matched concepts, it still has some open
issues: the resulting concept list is completely discrete
structure due to the simple merging; the ranking procedure
treats all children of the matched concepts within the same
cluster in the same way, so concepts within a cluster are
randomly ordered; and searching for child concepts a
predefined number (dmax) levels below the matched node
can take out of consideration some relevant child concepts.</p>
    </sec>
    <sec id="sec-14">
      <title>4.3 Improved algorithm</title>
      <p>First, the improved algorithm uses all the children of
matched concepts in the target ontology regardless their
depth level (see Figure 3b). Second, it uses the weight
factor to determine ranks of both matched concepts and
their children in the resulting list of concepts. The algorithm
calculates the weight factor of a matched concept according
to the type of the mapping relation connecting it with the
source ontology concepts. The weight factor for each type
of mapping relation is predefined (i.e. a constant number)
and is subject to change depending on the tree structure of
the target ontology (i.e. it can be fine tuned). Note also that
referent weight factor is the exactMatch relation, while
others (i.e. major, minor, and broad) are calculated
relatively to it. That is the reason way that value is also an
function search-concept (input-concept, WFEM)
cluster-names := {“exactMatch”, “broadMatch”, “exactMatchChildren”,
“broadMatchChildren” , “narrowMatch”, “narrowMatchChildren” “majorMatch”,
“majorMatchChildren”, “minorMatch”, “minorMatchChildren”};
clusters := create-hash-map();
result := {};
for-each name in cluster-names
matched-concepts := get-matched-concepts(name, input-concept);
clusters[name] := matched-concepts;
end-for-each
for-each name in cluster-names
for-each concept in clusters[name]</p>
      <p>put-in-sorted-list(result, concept, calculate-WF(concept, name));
end-for-each
end-for-each
return result;
end-function
input argument of the search algorithm (WFEM). The weight
factor for every matched concept child depends on (see
Figure 3b): the maximal depth level of the matched (parent)
concept; the distance of the child concept from its parent;
the weight factor of its parent. Accordingly, the weight
factor of the child concept is calculated using the following
formula:</p>
      <p>WFch = WFp – (WFp / (1 + dlmax)) * dch (1)
where:
· WFch – weight factor of the child concept;
· WFp – weight factor of the matched (parent) concept;
· dlmax – maximal depth level of the matched (parent)</p>
      <p>concept;
· dch – distance of the child concept from the matched</p>
      <p>(parent) concept.</p>
      <p>Relaying on the aforementioned facts we revise the
algorithm. In Figure 4 we show a high level description of
the search function (i.e. search-concept) in an informal
pseudo-code. The first part of the algorithm is similar to
the previous version. The difference is that the clusters are
not merged like in the first algorithm, but they are stored to
be members of a hash map – a memory structure keeping
the track about all clusters. Once all clusters are created, the
algorithm puts the concepts from each cluster in the
resulting list (result) using the put-in-sorted-list
procedure. Concepts in the resulting list are sorted
according to their weight factors. Since the same concept</p>
      <p>Source ontology</p>
      <p>Query
argument
can be in more then one cluster (e.g.
broadMatchChildren and majorMatchChildren), the
procedure prevents the repetition of the same concept in the
resulting list by using its best weight factor.</p>
      <p>Although this variant of the algorithm solves the most the
problems we have mentioned for the first one, the algorithm
still has some limitations that are referred in detail in the
next subsection.</p>
    </sec>
    <sec id="sec-15">
      <title>4.4 Final algorithm</title>
      <p>The search algorithm presented in the previous section does
not solve the case when mapping is not defined between the
query argument and the target ontology (see Figure 5).
Although the previous search algorithm variants look for
children of matched concepts in the target ontology, it does
not expand the query arguments that are parts of the source
ontology. In fact, the solution works properly if mapping is
defined between the query argument and one or more
concepts from the target ontology. However, if there are no
mappings defined for the query argument then the query
will return an empty resulting list.</p>
      <p>To overcome this issue, we additionally improved the
search algorithm. The algorithm looks for both child and
parent concepts in the source ontology that have defined
mappings with concepts of the target ontology when the
query argument has no defined mappings. In order to
calculate weight factors of result concepts, the algorithm
takes into account the fact that the distance between the</p>
      <p>Target ontology
query arguments and all its child and parent concepts with
defined matching relations is not the same. Relaying on that
fact we calculate the value of the weight factor (WFi) for
exact match (see the previous subsection) for each parent
and child concept of the query argument in the source
ontology using the following formula:</p>
      <p>WFi = WFEM – abs(dlsc – dli) * step (2)
where:
· WFEM – weight factor of the exact match relation
predefined for the case when there is a mapping relation
between the query argument and the target ontology;
· dlsc – depth level of the query argument;
· dli – depth level of a parent/child concept of the query
argument that has a mapping relation with the target
ontology;
· step – predefined value that specifies the impact of the
distance between the query argument and its child/parent
concept i.</p>
      <p>Once we calculate the weight factor for the exact match
relation, the weight factors of other mapping relations can
be calculated as we have already explained in the previous
subsection. In Figure 6 we show the final version of the
search algorithm capturing the explanation given in this
subsection and employing the search algorithm shown in
Figure 4.</p>
    </sec>
    <sec id="sec-16">
      <title>4.5 A Jess-based implementation of the proposed search algorithm</title>
      <p>
        We implemented the algorithm using OWLJessKB [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], a
Semantic Web reasoning tool, and Jess, a
Javaimplemented rule-based inference engine [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. The use of
the implemented algorithm regards invoking the
corresponding Jess function whose input parameters are: a
concept from the source ontology; and the weight factor for
the exact match mapping relation. The function returns a
ranked list of matched concepts as well as their child
concepts.
      </p>
    </sec>
    <sec id="sec-17">
      <title>5. EVALUATION</title>
      <p>
        In order to evaluate the search algorithm we developed a
web-based application in the domain of e-learning for an
information management course. The course is based on the
ACM/IEEE computer science curriculum recommendation
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The application has a typical organization – the left
pane contains the course structure and the right pane holds
the content of the one particular unit. In fact, the course
structure is represented as a SKOS ontology. The bottom
part of the right pane contains the context sensitive search
for two different collections of web resources: the ACM
Digital Library (DL) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and Merlot learning object
repository (http://www.merlot.org). The ACM DL relays on
the ACM CCS ontology while Merlot has its own
classification. We encoded both classifications in SKOS.
The students can search both collections of web resources
by providing search keywords. However, the search action
collects annotation of the current page in the course
ontology (embedded in the web page in the RDF form) and
applies the ontology mapping based algorithm to the
annotation. Finally, the application sends an expanded
query along with the keywords to chosen collection of web
resources. The results received from collections of web are
related to the current web page within the course.
Figure 7 contains the diagram comparing the search results
we obtain when searching the ACM DL by using keywords
and the combination of keywords and ACM CCS class
identifiers. Note that the “full number” for each query
means the overall number of objects that contain any of
searched keywords in the keyword and ACM CSS
classification fields of their metadata (see [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] for details). It
is obvious that the combination of the keywords and ACM
CCS class identifiers reduces the number of found objects,
and hopefully helps find more relevant web resources.
However, we noticed several peculiarities due to the use of
a specific search engine (i.e. the ACM DL Advanced
Search):
      </p>
      <p>The number of results is decreased when increasing the
number of classifiers in a query. It was completely
opposite to expectations as those query arguments are
connected with the OR logical operator. The reason for
such a behavior is that the ACM DL Advanced Search
uses the Verity indexing engine (http://www.verity.com),
I1M I.1M .I12M .I31M .I41M .I51M .I61M .I17M .I81M I2M .I12M .I22M .I32M .I42M .I52M I3M .13 .23 .33 .4 4M .14 .42 .34
IM IM IM I3M I IM IM IM
which selects only those objects whose weight factors
pass over a specific threshold. Since their weight factors
depend on the number of classification parameters, the
less number of found objects can pass over the threshold
The last level of classification is omitted from the queries
in the web application. Due to a high number of
classification concepts used in queries, the ACM DL
Advanced Search can return an empty list of found
concepts. The effect is especially stressed when using top
level concepts as query arguments. The ACM DL search
engine selects only those objects whose weight factors
pass over a specific threshold. Increasing the number of
classification parameters also increases the threshold and
therefore eliminating some of the objects. However, this
does not affect the best matching results.
concept from the course ontology did not have direct
mapping relations with the target ontology, but they just
inherited mapping relation from their parents.</p>
      <p>
        Finally, say that we could not rank search results according
to our ranking algorithm in either experiment, since we used
two different digital libraries where we did not have any
control in ranking of the found resources. In order to
evaluate our ranking algorithm we are developing
screenscraping functions of both ACM DL and Merlot web pages
showing search results.
500,000
450,000
400,000
350,000
300,000
250,000
200,000
150,000
100,000
50,000
0
Text keyword
With ACM CCS classes
Full number
multiple ontologies, provided we defined mapping between
the source ontology and any number of target ontologies.
Comparing the search algorithm with other solutions we can
find similarities with the Intelligent Product Information
Search that employs ontology mapping to search for
products using web services of several sellers based on
different product ontologies [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. However, this method has
mappings defined in a table, while search procedure just
considers direct mapping without consideration of child
concepts. It further uses run-time discovery of mapping
relations based upon lexical similarities defined in
WordNet. Another similar approach tries to enable the use
of user personalized ontologies to annotate web pages in
order to compose web services [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. The mapping rules
between ontologies are defined in F-Logic. To the best of
our knowledge, the approach just uses simple matching
between related concepts from different concepts, without
consideration of their child concepts.
      </p>
      <p>
        In the future we plan to integrate the developed search
algorithm into the eduSource Communication Layer (ECL)
being developed in our research laboratory as a part of its
federated search engine [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. We also plan to research how
we can automatically generate ontology mapping relations
the search algorithm relays on. The idea is to apply the
concept of semantic signatures as well as content of web
resources to discover relation among ontology concepts [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
    </sec>
    <sec id="sec-18">
      <title>7. ACKNOWLEDGMENTS</title>
      <p>This work was funded by Canada 's LORNET NSERC
Research Network. The authors would especially like to
thank Bernard Rous and Robert Okajima from the ACM
Headquarter Office who provided details about the
Advance Search engine of the ACM Digital Library.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Information</given-names>
            <surname>Management Course Curriculum Recommandation</surname>
          </string-name>
          (
          <year>2001</year>
          ). http://www.computer.org/ education/cc2001/final/im.htm (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>ACM</given-names>
            <surname>Computing Classification</surname>
          </string-name>
          <article-title>System (CCS)</article-title>
          , http://www.acm.org /class/1998/ (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <article-title>[3] Association for Computing Machinery (ACM) Digital Library</article-title>
          , http://www.acm/dl (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4] Dublin Core Metadata Schema, http://dublincore.org/documents/dcmi-terms/ (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Agarwal</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Handschuh</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Staab</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <article-title>Surfing the Service Web</article-title>
          ,
          <source>in Proc. of the 2nd Int'l Semantic Web Conf</source>
          .
          <article-title>(Sanibel Island, FL</article-title>
          , USA,
          <year>2003</year>
          ),
          <fpage>211</fpage>
          -
          <lpage>226</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Bechhofer</surname>
          </string-name>
          , S., van
          <string-name>
            <surname>Harmelen</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Hendler</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , et al.
          <source>OWL Web Ontology Language Reference</source>
          , http://www.w3.org/TR/owl-ref/ (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Brin</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Page</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <article-title>The anatomy of a large-scale hypertextual web search engine</article-title>
          ,
          <source>Computer Networks and ISDN Systems</source>
          <volume>30</volume>
          ,
          <fpage>1</fpage>
          -
          <lpage>7</lpage>
          (
          <year>1998</year>
          ),
          <fpage>107</fpage>
          -
          <lpage>117</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Choi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Hatala</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>Towards Browsing Diastant Metadata Using Semantic Signature</article-title>
          ,
          <source>in Proc. of the KCAP2005 Workshop on Integrating Ontologies (Banff</source>
          , Canada,
          <year>2005</year>
          ),
          <article-title>(forthcoming).</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Crubézy</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Musen</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          <article-title>Ontologies in Support of Problem Solving</article-title>
          ,
          <source>Handbook on Ontologies in Information Systems</source>
          (Berlin: Springer-Verlag,
          <year>2003</year>
          ),
          <fpage>321</fpage>
          -
          <lpage>341</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Friedman-Hill</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <article-title>Jess in Action (Greenwich</article-title>
          , USA: , Manning Publications Co.,
          <year>2003</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Greenberg</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Robertson</surname>
          </string-name>
          , W.D.
          <article-title>Semantic Web Construction: An Inquiry of Authors'Views on Collaborative Metadata Generation</article-title>
          ,
          <source>in Proc. of the Int'l Conf. on Dublin Core</source>
          and
          <article-title>Metadata for e-Communities 2002 (Florence</article-title>
          , Italy,
          <year>2002</year>
          ),
          <fpage>45</fpage>
          -
          <lpage>52</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Hatala</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Richards</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eap</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Willms</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <article-title>The Interoperability of Learning Object Repositories</article-title>
          and
          <article-title>Services: Standards, Implementations and Lessons Learned</article-title>
          ,
          <source>in Proc. of the 13th World Wide Web Conf. (NY</source>
          , USA,
          <year>2004</year>
          ),
          <fpage>19</fpage>
          -
          <lpage>27</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Kalfoglou</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Schorlemmer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>Ontology mapping: the state of the art</article-title>
          ,
          <source>The Knowledge Engineering Review</source>
          <volume>18</volume>
          ,
          <issue>1</issue>
          (
          <year>2003</year>
          ),
          <fpage>1</fpage>
          -
          <lpage>31</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Kim</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Choi</surname>
            ,
            <given-names>D.W.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Park</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <article-title>Product Information Meta-search Framework for Electronic Commerce Through Ontology Mapping</article-title>
          ,
          <source>in Proc. of the 2nd European Semantic Web Conf. (Heraklion</source>
          , Crete, Greece,
          <year>2005</year>
          ),
          <fpage>408</fpage>
          -
          <lpage>422</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Kopena</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Regli</surname>
          </string-name>
          , W.C.
          <article-title>DAMLJessKB: A Tool for Reasoning with the Semantic Web</article-title>
          ,
          <source>IEEE Intelligent Systems</source>
          <volume>18</volume>
          ,
          <issue>3</issue>
          (
          <year>2003</year>
          ),
          <fpage>74</fpage>
          -
          <lpage>77</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Maedche</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Motik</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Silva</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Volz</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <article-title>MAFRA - A MApping FRAmework for Distributed Ontologies</article-title>
          ,
          <source>in Proc. of the 13th Int'l Conf. on Know. Engineering and Know</source>
          . Management,
          <article-title>Ontologies and the Semantic Web (Siguenza</article-title>
          , Spain,
          <year>2002</year>
          ),
          <fpage>235</fpage>
          -
          <lpage>250</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Miles</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Brickley</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>SKOS Mapping Vocabulary</surname>
            <given-names>Specification</given-names>
          </string-name>
          , W3C Document, http://www.w3.org/
          <year>2004</year>
          /02/skos/mapping/spec (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Miles</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Brickley</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>SKOS Core Vocabulary</surname>
            <given-names>Specification</given-names>
          </string-name>
          , W3C Working Draft, http://www.w3.org/TR/swbp
          <article-title>-skos-core-</article-title>
          <string-name>
            <surname>guide</surname>
          </string-name>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Noy</surname>
            ,
            <given-names>N.F.</given-names>
          </string-name>
          <string-name>
            <surname>Representing</surname>
          </string-name>
          <article-title>Classes As Property Values on the Semantic Web</article-title>
          , W3C Working Group Note, http://www.w3.org/TR/swbp
          <article-title>-classes-as-values/ (</article-title>
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Noy</surname>
            ,
            <given-names>N.F.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Musen</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>A. The PROMPT Suite: Interactive Tools For Ontology Merging And Mapping</article-title>
          ,
          <source>Int'l Journal of Human-Computer Studies 59</source>
          ,
          <issue>6</issue>
          (
          <year>2003</year>
          ),
          <fpage>983</fpage>
          -
          <lpage>1024</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>Park</surname>
            ,
            <given-names>J.Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gennari</surname>
            ,
            <given-names>J.H.</given-names>
          </string-name>
          <article-title>and</article-title>
          <string-name>
            <surname>Musen</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>A. Mappings for Reuse in Knowledge-based Systems</article-title>
          ,
          <source>in Proc. of the 11th Workshop on Knowledge Acquisition for Knowledge-Based Systems (Banff, Canada</source>
          ,
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Rasseneur</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jacoboni</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Tchounikine</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Enhancing</surname>
          </string-name>
          <article-title>a Web-based Distance-Learning Curriculum with Dedicated Tools</article-title>
          ,
          <source>in Proc. of the IEEE/WIC Int'l Conf. on Web Intelligence (Halifax</source>
          , Canada,
          <year>2003</year>
          ),
          <fpage>285</fpage>
          -
          <lpage>291</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>