<!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>Personalization of Semantic Web Services?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Freddy Le´cue´</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>The University of Manchester Booth Street East</institution>
          ,
          <addr-line>Manchester</addr-line>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Nowadays web users have clearly expressed their wishes to receive and interact with personalized services directly. However, existing approaches, largely syntactic content-based, fail to provide robust, accurate and useful personalized services to its users. Towards such an issue, the semantic web provides enabling technologies to annotate and match services' descriptions with a users' features, interests and preferences, thus allowing for more efficient access to services and then information. The aim of our work, part of service personalization, is on automated instantiation of services which is crucial for advanced usability i.e., how to prepare and present services ready to be executed while limiting useless interactions with users? To this end, we exploit Description Logics reasoning through semantic matching to i) identify useful parts of a user profile that satisfy services requirements (i.e., input parameters) and ii) compute the description required by a service to be executed but not provided by the profile. Finally, the scalability of our approach has been evaluated through its integration in the service consumption of the EC-funded project SOA4All.</p>
      </abstract>
      <kwd-group>
        <kwd>Semantic web</kwd>
        <kwd>web service</kwd>
        <kwd>Personalization</kwd>
        <kwd>Automated reasoning</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Personalization in web-based applications [1], as a global tendency nowadays, aims at
alleviating the burden of information overload by tailoring the information presented
based on an individual and immediate user’s needs. Between the numerous examples
that can be found all across the web, we can highlight the proliferation of personalized
home sites, such as iGoogle (http://www.google.com/ig) or netvibes
(http://www.netvibes.com), but also the fact that many other web applications of different kinds treat user
configuration as one of their most prominent characteristics. From collaborative [2]
and content [3] to hybrid-based [4], various personalization techniques have been
introduced, depending on the data they manipulate and personalization levels they achieve.
In most of these approaches, the user profile, as a collection of data modelling the user
extended with its interests, its preferences and context, is a prominent element to ensure
accurate and efficient personalized access to information.</p>
      <p>In recent years, web service [5], as an emergent technology to consume information
on the web, has benefited from research progress in web personalization. Indeed, many
approaches addressing user-centric and preference-based consumption of services and
more specially their publication [6], discovery [7], selection [8] and execution [9] have
emerged. The possibility to customize their results [10] even goes further by giving
the users the chance to experience those services in a personalized fashion, which is
prominent in order to permit the users to fulfil their desires more suitably.</p>
      <p>However most of these approaches ensure personalization by collecting and
analizing syntactic content of user profile and services description e.g., [11]. This under
specification limits the accuracy of personalization and their automation. Towards this issue,
the semantic web [12], where the semantic content of the information is tagged using
machine-processable languages, provides many advantages over the current ”formatting
only” version of the web, its services and users. OWL [13], as one of its Web
Ontology Language which is based on Description Logics (DLs) [14], aims at modelling
knowledge on the web through ontologies i.e., formal conceptualization of a particular
domain. Therefore, services with their functionalities (i.e., input and output parameters,
preconditions, effects and invariants) and user profile with their interests, preferences
can be both annotated and then enhanced using semantic descriptions. Such annotations
are one important features to enable reasoning on services and user profile descriptions,
hence automation of personalized tasks such as the consumption of services.</p>
      <p>In this work, we address automated instantiation of services, part of personalization
in service consumption, which is crucial for advanced usability. Service instantiation,
which is between in selection and execution, aims at preparing and presenting
preselected services ready to be executed while limiting useless interactions with users.
To this end, execution-time constraints attached to services descriptions are required
to be satisfy before their execution. Most of existing approaches [10] undervalue this
issue by rarely considering suitable and efficient methods for such a personalization
level. Contrary to the latter that consider several levels of interaction to manually collect
information (from the users) required by input parameters of services to be executed,
we consider automation of this process through semantic instantiation of services.</p>
      <p>By addressing the latter, we thus aim at i) improving and easing the user interaction
with services, beneficial for both parties and ii) better supporting the user by
anticipating her needs. To reach the goal of automated and personalized consumption of services
and more specially to suggest accurate and personalized presentations of services to
users, we benefit from the semantic augmentation of service and user profile
descriptions. In this direction, we define a framework, where potential matching between both
descriptions is defined as a reasoning task to be solved for service instantiation (in the
rest of the paper we refer to it as service personalization and adaptation). The semantic
matching, core of our approach, exploits standard DL reasoning [15, 16] and abduction
[17] to i) adapt services to the user by identifying useful parts of its profile that
satisfy the service requirements (i.e., input parameters) and ii) compute the descriptions
required by a service to be executed but not provided by the user profile.</p>
      <p>The remainder of this paper is organised as follows. Section 2 briefly reviews i) DL
reasoning and abduction, both required for automated personalization, ii) semantic web
services and iii) semantic user profiles. Section 3 presents our approach to personalize
semantic web services. Section 4 presents details about the prototype implementation
and reports some experiment results. Section 5 briefly comments on related work.
Finally Section 6 draws some conclusions and talks about possible future directions.</p>
    </sec>
    <sec id="sec-2">
      <title>Background</title>
      <p>In this section we review i) DL as a semantic language and abduction reasoning to
perform personalization. Then we remain the definitions of ii) semantic web service
and iii) semantic user profile, as core elements in our approach.
2.1</p>
      <p>Description Logic and Abduction Reasoning
The model we considered to represent semantics of services and user profiles is
provided by an ontology. In more detail, we focused on DL as a formal knowledge
representation language to define ontologies since the latter offers good reasoning support for
most of its expressive families and compatibility to current W3C standards e.g., OWL.
Terminological Box T (or TBox i.e., intentional knowledge) and Assertional Box A
(or ABox i.e., extensional knowledge) are core elements to represent knowledge in DL
systems. In the following, we will focus on the TBox T (see Fig. 1 as an example) that
supports different level of inference by means of DL reasoning. As a trade-off between
expressivity and complexity, we use the expressiveness of the DL ALC [14] to perform
service personalization, which is the standard DL AL (Attributive Language) extended
with full existential qualification E and concept union U .</p>
      <sec id="sec-2-1">
        <title>British P erson u 9hasSpokenLanguage:English</title>
      </sec>
      <sec id="sec-2-2">
        <title>N ame 9hasF N:F irstN ame u 9hasLN:LastN ame</title>
      </sec>
      <sec id="sec-2-3">
        <title>BusinessAccount Account u 9hasID:OpenID u</title>
      </sec>
      <sec id="sec-2-4">
        <title>9hasSocialN etwork:SocialN etworkAccount</title>
      </sec>
      <sec id="sec-2-5">
        <title>P ersonalAccount Account u 9hasID:ElectronicID u</title>
      </sec>
      <sec id="sec-2-6">
        <title>9hasSocialN etwork:LinkedIn</title>
      </sec>
      <sec id="sec-2-7">
        <title>SkypeAccount v Account AP IKey v &gt;; BankID v &gt;; P erson v &gt;</title>
      </sec>
      <sec id="sec-2-8">
        <title>LinkedIn v SocialN etworkAccount Latitude v &gt;; Longitude v &gt;; ID v &gt;</title>
      </sec>
      <sec id="sec-2-9">
        <title>SocialN etworkAccount v Account BankAccount v Account; English v &gt;</title>
      </sec>
      <sec id="sec-2-10">
        <title>OpenID v ElectronicID v Account GM ail v M aillingAddress v OpenID</title>
      </sec>
      <sec id="sec-2-11">
        <title>F irstN ame v &gt;; LastN ame v &gt;; British v &gt;</title>
        <p>Besides standard DL reasoning approaches such as satisfiability or subsumption
to guarantee consistency of DL knowledge bases or build concepts hierarchy, authors
of [17] suggest computing the Abduction (Definition 1) between concepts C and D,
representing what is underspecified in D in order to completely satisfy C taking into
account the information modelled in a ALN (so compliant with ALC) TBox T .</p>
        <sec id="sec-2-11-1">
          <title>Definition 1 (Concept Abduction Problem)</title>
          <p>Let L be a DL, C, D be two concepts in L, T be a set of axioms in L and A be a set of
assertions. A Concept Abduction Problem (CAP), denoted as hL; D; C; T i (or shortly
CnD) consists in finding a concept B 2 L such that T j= D u B v C.</p>
        </sec>
        <sec id="sec-2-11-2">
          <title>Example 1 (Concept Abduction)</title>
          <p>Let C and D be two ALC descriptions respectively defined by BusinessAccount u
9hasSkype:SkypeAccount and P ersonalAccount (Fig.1). According to Definition
1, the description B required by D to satisfy (or more precisely to be subsumed by) C
is denoted by CnD i.e.,</p>
          <p>
            CnD =: 9hasID:OpenID u 9hasSkype:SkypeAccount
(
            <xref ref-type="bibr" rid="ref1">1</xref>
            )
In other words, D needs an OpenID and a SkypeAccount to satisfy C.
          </p>
          <p>CS11 =: 9hasF N:F irstN ame u 9hasLN:LastN ame
CS1 =: BusinessAccount u 9hasSkype:SkypeAccount</p>
          <p>2
CS1 =: M aillingAddress u 9hasM ail:GM ail</p>
          <p>3</p>
          <p>CS41 =: Location u 9hasLat:Latitude u 9hasLong:Longitude
2.2</p>
          <p>
            Semantic Web Services
Semantics of web services can be expressed by means of different descriptions, from
their process levels [18] (i.e., internal and complex behaviours) and causal levels [19]
(i.e., preconditions and effects on the world) to their functional levels (i.e., simple
interface). In this work we will focus on the latter and more generally their functional input
and output parameters, which are prominent to personalize and execute any service. In
the semantic web, these functional parameters are enhanced with DL concepts that
determine the semantics of the operations they achieve. Therefore, semantic web services
can be expressed as DL concepts in (
            <xref ref-type="bibr" rid="ref2">2</xref>
            ).
          </p>
          <p>Service =: 9requires:Input u 9returns:Output</p>
          <p>This definition confines a semantic web service to being anything that requires
input parameters Input to be processed and returns some output parameters Output.
Both latter parameters are defined in T such that T j= Input v &gt; and T j= Output v
&gt;. According to this model, the OWL-S profile [20], WSMO capability [21] or
SAWSDL [22] can be used to describe the functional level of semantic web services.</p>
        </sec>
        <sec id="sec-2-11-3">
          <title>Example 2 (Semantic Web Service)</title>
          <p>
            Suppose a semantic web service S1 locating friends and professional colleagues of a
specific person, as its main functionality. This service, starting from a FirstName,
LastName, BusinessAccount, SkypeAccount and a GMail address of this
person, returns the list of her nearby ContactPersons according to her Location.
According to (
            <xref ref-type="bibr" rid="ref2">2</xref>
            ), the semantic description of S1 is defined by (
            <xref ref-type="bibr" rid="ref3">3</xref>
            ).
          </p>
          <p>
            :
S1 = 9requires:CS11 u 9requires:CS21 u 9requires:CS31 u 9requires:CS41 u
9returns:ContactP erson
where conjuncts CSi;11 i 4, described by means of TBox T in Fig.1, are defined by:
(
            <xref ref-type="bibr" rid="ref2">2</xref>
            )
(
            <xref ref-type="bibr" rid="ref3">3</xref>
            )
(
            <xref ref-type="bibr" rid="ref4">4</xref>
            )
(
            <xref ref-type="bibr" rid="ref5">5</xref>
            )
(
            <xref ref-type="bibr" rid="ref6">6</xref>
            )
(
            <xref ref-type="bibr" rid="ref7">7</xref>
            )
2.3
          </p>
          <p>
            Semantic User Profile
Semantics of user profile can be expressed on different dimensions, mainly on
information related to her i) identity and possessions, but could be also extended with her
ii) long-term interests in topics [23] and preferences, iii) skills [24], iv) behaviour [25]
and v) knowledge or beliefs in certain domains. Since the description of semantic user
profiles are tailored, in this work, to access services in a personalized way trough their
instantiation, we will focus solely on the former descriptions. Indeed, descriptions from
(ii) to (v) such as the user’s interests and preferences are mainly relevant information for
prioritizing services in a discovery process rather than making services and their (input)
parameters adapted to the user. Therefore, a DL expression of semantic user profiles is
defined by the conjunction of different parts as expressed in (
            <xref ref-type="bibr" rid="ref8">8</xref>
            ).
          </p>
          <p>
            P rof ile =: l 9hasInf o:Inf oi l 8hasInf o:(:N onInf oj)
i j
(
            <xref ref-type="bibr" rid="ref8">8</xref>
            )
          </p>
          <p>
            This definition is based on a single role or property called hasInf o, which describes
the user. While descriptions Inf oi cover a collection of data identifying users,
descriptions expressed by N onInf oj refer to information users are not inclined to provide.
The latter could be sensitive data such as medical record data. All initial information in
(
            <xref ref-type="bibr" rid="ref8">8</xref>
            ) is collected from a short questionnaire [26] and could be also updated. Alternatively,
the profile can be automatically generated from [27].
          </p>
        </sec>
        <sec id="sec-2-11-4">
          <title>Example 3 (Semantic User Profile)</title>
          <p>
            Suppose a British lady identified by her Name, ElectronicID and connected to
the LinkedIn social network (http://www.linkedin.com/), but without any authorized
access to her Bank Account from third parties. Its semantic profile P1 is defined by:
P1 =: F emale u 9hasInf o:CP11 u 9hasInf o:CP21 u 8hasInf o:CP31
(
            <xref ref-type="bibr" rid="ref9">9</xref>
            )
where conjuncts CPi;11 i 3, described by means of TBox T in Fig.1, are defined by:
CP11 =: P erson u (9hasN ame:N ame) u (9hasN ationality:British) (
            <xref ref-type="bibr" rid="ref10">10</xref>
            )
CP1 =: Account u (9hasID:ElectronicID) u (9hasSocialN etwork:LinkedIn) (
            <xref ref-type="bibr" rid="ref11">11</xref>
            )
2
CP31 =: :BankAccount t :(9hasBank:BankID) (
            <xref ref-type="bibr" rid="ref12">12</xref>
            )
The model (
            <xref ref-type="bibr" rid="ref8">8</xref>
            ) we suggest for semantic user profile can be adapted with
straightforward modifications and extensions (e.g., roles) depending on the application [24].
3
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Semantic Web Service Personalization</title>
      <p>
        The formalization of services (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) and user profiles (
        <xref ref-type="bibr" rid="ref8">8</xref>
        ) in DLs is required to compare
their descriptions at a semantic level. The comparison is proceeded through a process of
DL expressions matching, based on [15, 16] and [17]. This section, illustrated with
examples, describes the personalization approach in details. First of all, matching through
standard DL reasoning is employed to adapt services by means of user profiles. Then,
we suggest an approach to compute relevant information which is missing in the user
profile to improve personalization. Finally, we present two ways to extend the user
profile with the latter information.
3.1
      </p>
      <p>
        Personalized Adaptation of Services with Semantic User Profiles
Our approach, based on semantic matching, aims at discovering relevant information in
the semantic user profile that could fit (i.e., be used by) the service (i.e., its functional
input parameters) to be executed. By considering such a personalization, we suggest an
approach which adapts any service to the user. To support this adaptation, the matching
is performed over a service S and a user profile P with respect to a TBox T . Therefore, a
role hierarchy (
        <xref ref-type="bibr" rid="ref13">13</xref>
        ) between requires and hasInf o roles of S (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) and P (
        <xref ref-type="bibr" rid="ref8">8</xref>
        ) is required
in T , at least for satisfiable compatibility reasons [15] between S and P .
      </p>
      <p>
        T j= hasInf o v requires
(
        <xref ref-type="bibr" rid="ref13">13</xref>
        )
      </p>
      <p>
        According to (
        <xref ref-type="bibr" rid="ref13">13</xref>
        ), some information (hasInf o) from the user profile could be used
by services to adapt and then personalized its input parameters (requires).
      </p>
      <p>In detail, our approach achieves such an personalized adaptation by following steps
in Algorithm 1. From a logical point of view, this algorithm evaluates potential
matching between conjuncts CS and CP of respectively S and P . By emphasizing only
robust matching [28] i.e., Exact in line 7 and PlugIn in line 10, this algorithm focuses on
the description required by S and provided by P . Therefore, other matching such as
T j= CP w CS (Subsume) or T 6j= CP u CS v ? (Intersection) are not valued since
they do not fit our service adaptation purpose.</p>
      <p>Algorithm 1: Matching-based Personalized Adaptation: adapt(S; P; T ).
1 Input: A user Service S, a Profile P , a Terminological Box T .
2 Result: match: a set of matching triples (CS; CP ; type) if CS could be adapted by CP
with a matching type, Incompatibility otherwise.
3 begin
4 match ;;
5 foreach 9requires:CS 2 Input(S) do
6 // Exact: The descriptions of user profile and service match perfectly.
7 if there exists 9hasInf o:CP 2 Inf o(P ) such that T j= CP CS then
8 match match [set (CS; CP ;00 0000);</p>
      <p>In Algorithm 1 Exact matching are tested before the PlugIn matching, mainly
because of the logical implication relation between these matching. Indeed, if T j= CP
CS (Exact), then T j= CP v CS (PlugIn). The algorithm is then based on structural
algorithms for satisfiability and subsumption [29]. Since it is reasonable to assume that
users and service providers do not enter contradicting information, we assume that the
services S and users profiles P descriptions are consistent in T .</p>
      <p>The result of this personalized adaptation step is a set of matching triples (CS ; CP ; type)
(referring to match) wherein the description CP in P could be used to adapt the
service parameter CS in S. The latter descriptions are completed with their matching type,
emphasizing the accuracy of the personalized adaptation step (from CP to CS ). In case
S violates some descriptions in P , S and P are returned as incompatible.</p>
      <sec id="sec-3-1">
        <title>Example 4 (Semantic and Personalized Adaptation of Services)</title>
        <p>Suppose the service S1 and user profile P1 in Examples 2 and 3. According to Algorithm
1, the triple (CS11 ; CP11 ; P lugIn) is returned. Indeed, according to the TBox T in Fig.
1, it seems possible to personalized S1 by adapting the FirstName and LastName
input parameters of S1 with information of CP11 in the user profile, and more specially
with its Name.</p>
        <p>Even if our approach is able to personalize services with user profile descriptions
using subsumption-based DL reasoning, the latter profile maybe not always as accurate
as it should be hence limiting its benefits. Indeed, in some cases parts of services could
only partially match or even mismatch the profile.</p>
      </sec>
      <sec id="sec-3-2">
        <title>Example 5 (Limitation of Semantic and Personalized Adaptation of Services)</title>
        <p>
          Even if CS21 and CP21 in Examples 2 and 3 are both related to Account description in
T , CP21 cannot be used to personalize S1 and more specially CS21 because of missing
description (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) in its profile P1 i.e., neither BusinessAccount, nor SkypeAccount.
3.2
        </p>
        <p>Towards Incomplete Semantic User Profile
Since the personalization process may fail because of under specification or missing
description in the user profile (e.g., Example 5), we suggest to extend Algorithm 1 with
Algorithm 2 by exploiting results from non robust matching cases between conjuncts
CS and CP i.e., Intersection and Subsume. Therefore, we aim at i) inferring further
matching triples from the latter matching cases, and ii) discovering descriptions which
are required by services but not provided by the user profile by applying abduction.
Further Matching Triples for Personalized Adaptation of Services: In both
Intersection and Subsume matching cases, simple matching triple (CS ; CP ; type) cannot
be returned as in Algorithm 1 mainly because only a part of CP is required to adapt
(again) a part of CS . Towards this issue, we identify descriptions B and A that need to
be removed respectively from CS and CP to obtain a PlugIn matching between CP and
CS i.e., CP CS (Definition 2, adapted from [30]).</p>
      </sec>
      <sec id="sec-3-3">
        <title>Definition 2 (Symmetric Difference)</title>
        <p>Let L be a DL, C, D be two concepts in L, T be a set of axioms in L and A be a set
of assertions. The symmetric difference between C, D, denoted as C D consists in
finding two concepts A; B 2 L such that</p>
        <p>
          T j= CnA v DnB
(
          <xref ref-type="bibr" rid="ref14">14</xref>
          )
        </p>
      </sec>
      <sec id="sec-3-4">
        <title>Example 6 (Symmetric Difference)</title>
        <p>
          Let CP21 and CS21 be two ALC descriptions respectively defined in Examples 2, 3 with
respect to T in Figure 1. According to Definition 2, C D is defined by A and B i.e.,
A =: 9hasID:ElectronicID
B =: 9hasID:OpenID u 9hasSkype:SkypeAccount
(
          <xref ref-type="bibr" rid="ref15">15</xref>
          )
(
          <xref ref-type="bibr" rid="ref16">16</xref>
          )
Algorithm 2: (Refined) Personalized Adaptation: ref inedAdapt(S; P; T ).
1 Input: A Service S, a user Profile P , a Terminological Box T .
2 Result: A pair (match; miss) where match is set of matching Triples (CS; CP ; type) if
CS could be adapted by CP with a matching type, and miss refers to the set of
missing description in P in order to adapt S.
8
9
10
11
12
13
14
        </p>
        <p>According to Definitions 1 and 2, it is straightforward to identify the parts X 2
P(CS ) and Y 2 P(CP ) respectively from CS and CP (where P(S) refers to power set
of S) which are required to ensure that X can be adapted by Y (in the sense of
Algorithm 1 i.e., T j= CP v CS ). Both descriptions X and Y , parts of the new matching
triples, are defined as CS n(CP CS ) and CP n(CP CS ). Algorithm 2 elaborates these
further matching triples (line 12) from respectively lines 9, 10 and lines 8, 11. The first
element of the matching triples represents the description in CS which subsumes CP ,
whereas the second element represents the part in CP which is subsumed by CS . In
other words, these triples present the descriptions in CP which will be used to further
adapt the descriptions in CS . Finally, as Algorithm 1, results are aggregated in match.</p>
      </sec>
      <sec id="sec-3-5">
        <title>Example 7 (Matching Profile to Service with an Intersection Match)</title>
        <p>According to Example 2, 3 and T in Figure 1, T 6j= CP21 u CS21 v ?. Therefore, only
some parts Y of CP21 can be used to adapt some parts X of CS21 . Applying Algorithm 2
(lines from 8 to 12) and using results from Example 6, Y and X are defined as:
Y
X</p>
        <sec id="sec-3-5-1">
          <title>Account u (9hasSocialN etwork:LinkedIn)</title>
        </sec>
        <sec id="sec-3-5-2">
          <title>Account u (9hasSocialN etwork:SocialN etworkAccount)</title>
          <p>(17)
This simply means that the SocialNetworkAccount of CP21 (i.e., LinkedIn) can
be used to instantiate the SocialNetworkAccount requirement (i.e., input
parameter) of CS21 .</p>
          <p>Computing Missing Description in a User Profile: In addition, Algorithm 2 (lines 13
and 15) computes descriptions which are required by CS and not (or partially) provided
by CP . To this end, abduction is applied between the latter conjuncts (Definition 1) and
then the result is aggregated in a set of missing description miss (Definition 3).</p>
        </sec>
      </sec>
      <sec id="sec-3-6">
        <title>Definition 3 (Set of Missing Description)</title>
        <p>The set of missing description miss of a service personalization problem (S; P; T ) is
defined by:
miss(S; P; T ) =: inffCSnCP jT 6j= CP u CS v ?gnset f&gt;g
v
(19)
where CS and CP are respectively conjuncts of 9hasInf o:CP and 9requires:CS .</p>
        <p>According to Definition 3, miss gathers the most specific descriptions of the set
fCSi nCPj g. Therefore a same description (i.e., the most specific in the service
requirements) can be used to satisfy different abduction problems CSi nCPj and then could be
exposed as a description not provided by P but required by some conjuncts (related by
subsumption) of S. miss does not only explain why services have not been adapted
and personalized (regarding a user profile) but also suggest a solution to extend the
personalization of semantic web services.</p>
      </sec>
      <sec id="sec-3-7">
        <title>Property 1 (Empty Set of Missing Description)</title>
        <p>The set of missing description miss of a web service personalization problem (S; P; T )
with either i) T j= CP CS ; or ii) T j= CP v CS is the empty set.</p>
        <p>Proof. By Definition 1, CS nCP is defined by T j= CP u (CS nCP ) v CS . Therefore,
we obtain in both cases that CS nCP &gt; is a solution i.e., miss is defined by the
empty set according to Definition 3.</p>
        <p>The property 1 justifies our choice of not computing missing descriptions in
Algorithm 1. Indeed, such a computation would reach to the empty set.</p>
      </sec>
      <sec id="sec-3-8">
        <title>Example 8 (Set of Missing Description)</title>
        <p>Since the description in P1 is not enough to totally adapt and personalize S1 (Example
5), Algorithm 2 and Definition 3 are required to discover the missing description miss
in P1. According to the latter definition, miss is constituted by the union of results of
the abduction problems CS21 nCP21 (Example 1), CS41 n&gt; and CS31 nCP21 :
2 2
CS1 nCP1</p>
        <p>4
CS1 n&gt;
3 2
CS1 nCP1</p>
        <sec id="sec-3-8-1">
          <title>Account u 9hasID:OpenID u 9hasSkype:SkypeAccount</title>
        </sec>
        <sec id="sec-3-8-2">
          <title>Location u 9hasLat:Latitude u 9hasLong:Longitude</title>
        </sec>
        <sec id="sec-3-8-3">
          <title>M aillingAddress u 9hasM ail:GM ail</title>
          <p>(20)
(21)
Since GM ail v OpenID, hasM ail v hasID and miss only considers most specific
description (whether subsumption-based comparable), miss is fA; CS41 g where:
A</p>
        </sec>
        <sec id="sec-3-8-4">
          <title>Account u 9hasM ail:GM ail u 9hasSkype:SkypeAccount</title>
          <p>(23)
According to Property 1, conjuncts CSi;11 i 4 and CPj;11 j 2 such that T j= CP1 v CSi1
j
are not considered by Algorithm 2.</p>
          <p>Extending Semantic User Profile with Further (Missing) Descriptions
Once the set of missing descriptions is retrieved through miss, two approaches are
considered. First of all, an intuitive method consists in discovering [31] which new
and appropriate services Si;1 i n would be able to return the missing description.
Following this approach, this description miss could be identified and satisfied by the
conjunction of some output parameters Out Si;1 i n of these services Si;1 i n .
Therefore, depending on the available description in the user profile P and the description
of output parameters of Si;1 i n , we could proceed to the service S personalization.
Indeed, the conjunction C of the output parameters Out Si;1 i n and the user profile
P i.e., dn</p>
          <p>i=1 Out Si u P can be used to adapt and personalize the service S by
applying Algorithm 1 as following: adapt(S; C; T ). However, each input parameter of these
discovered services Si has to be known at run time. To this end, we can imagine use the
description available in P to adapt this new discovered services. In this direction,
Algorithm 1 is applied on the n relevant services as following: adapti;1 i n (Si; P; T ). One
constraint of this method is related to the number of services (and their input parameters
to be satisfied by P ) which are required to satisfy miss.</p>
          <p>In the second approach, the set of missing description is simply suggested to the
user. The user is then responsible of providing the description that the system needed
to adapt and personalize the service. The requested information is also used to populate
the semantic user profile, hence available for further personalization purposes.
4</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Validation</title>
      <p>In this section, we discuss the prototype tool that we developed to provide personalized
adaptation of semantic web services. Moreover we give a preliminary evaluation of the
suggested approach by analyzing some results obtained with the prototype.
4.1</p>
      <p>Architecture and Implementation
1 http://www.soa4all.eu/
description. The MAMAS-tng2 reasoner has been used to compute standard reasoning
and evaluate abduction. This reasoner has been extended to compute symmetric
difference (Definition 2). The SPARQL3 Query Engine module RDF2GO4, is required to
manipulate matching triples i.e., RDF-based CP , CS and miss data returned by
Algorithms 1 and 2. For instance, this module transforms RDF-based CP in CS using a
CONSTRUCT query form of SPARQL in order to adapt CS with CP .</p>
      <p>are described by
Users
Profiles</p>
      <p>Upgraded
Profiles</p>
      <p>User Profile Upgrade with
Semantic Annotations of Services
(LinkedData Principle)</p>
      <p>Services</p>
      <p>Annotations
y
b
d
e
b
i
r
c
s
e
d
e
r
a</p>
      <p>Update of</p>
      <p>Profiles</p>
      <p>OpenID Access
Ontologies</p>
      <p>SPARQL Query</p>
      <p>Engine
(RDF2GO)</p>
      <p>Service to</p>
      <p>Personalize</p>
      <p>Personalization Approach
reason on</p>
      <p>Description Logic</p>
      <p>Reasoning
(Mamas−tng)</p>
      <p>Semantic−based Services Description</p>
      <p>(RDF Repository [32])
___|
___|
___|
___|
___|
Personalized</p>
      <p>Service
Service Discovery
([31])</p>
      <p>Caption
(Impl) := Implementation used</p>
      <p>State−Of−The−Art Tools
Starting Point
End Point
Processing</p>
      <p>
        In addition, a pool of (SA-WSDL) semantic-based services (formalized in (
        <xref ref-type="bibr" rid="ref2">2</xref>
        )),
and semantic user profile (formalized in (
        <xref ref-type="bibr" rid="ref8">8</xref>
        ) and identified by OpenID5 are stored in
two different RDF6 repositories, e.g., [32] for services and a Sesame-based7 for
profiles. Their descriptions are based on different ALC TBoxes, depending on
ontologies used to annotate services. Therefore, the semantic descriptions used to annotate
a service and a profile may differ, even if the annotated element is the same. Towards
this issue of ontology matching [33], we integrated a simple component (User Profile
Upgrade Component) which aims at semi-manually linking profiles and services
descriptions, following the Linked Data principles [34] e.g., by further annotating profiles
with relevant owl:sameAs, rdfs:subClassOf, owl:equivalentProperty
or rdfs:subPropertyOf constructs. To this end, the SPARQL Query Engine
module is used. Finally, once the service personalization process is achieved, the service is
ready to be executed by any execution engine. Moreover, the semantic user profile is
updated in case of missing description (Definition 3). To this end, either the user is able
to provide it, or a service discovery process is performed (Section 3.3).
2 http://dee227.poliba.it:8080/MAMAS-tng/DIG
3 http://www.w3.org/TR/rdf-sparql-query/
4 http://semanticweb.org/wiki/RDF2Go
5 http://openid.net/
6 http://www.w3.org/RDF/
7 http://coconut.tie.nl:8080/storage/repositories/profiles
Evaluation of personalization systems remains a challenge due to the lack of
understanding of what factors affect user satisfaction with a personalization system [35].
Personalization systems are in general evaluated and compared on the accuracy of
predictions. However, a comparison based on the accuracy of our approach and existing
personalization methods is not appropriate. Indeed, our work i) features different
expressivity (compared to syntactic-based approaches), and ii) does not only evaluate if a
user profile and a service match but also explains how they could match and why they
could not (compared to semantic-based approaches).
      </p>
      <p>Therefore we analyze the performances of our approach by i) comparing
abductionwith difference-based [36, 37] personalization using different expressivities of DL, and
ii) studying the impact of the User Profile Upgrade component (Fig.2) on the
personalization process. The experiments have been conducted on Intel(R) Core(TM)2 CPU,
2.4GHz and 2GB RAM.</p>
      <p>Comparing Abduction- and Difference-based Service Personalization: Since other
approaches based on DL difference operator such as [36] or [37] can be used to compute
from a given description all the information different in another description, we suggest
to compare them with abduction to achieve service personalization (Fig.3). The
comparison is driven on three set of ontologies with different DLs used to annotate services
and profiles i.e., ALC, ALN and ALE , from the most to the least expressive. In
particular, the two former ontologies are based on the ALE TBox (formally defined by 1100
concepts and 390 properties) wherein only DL operators changed in descriptions.
Personalization of up to 100 services have been considered in this experiment, especially
for obtaining convincing results towards their applicability in real (industrial) scenarios.</p>
      <p>The [37]’s difference consider a semantic maximum (ordering according to the
subsumption operator) between (only) subsumption-based comparable descriptions. Even
if they provides sufficient condition (i.e., structural subsumption relation) to
characterize the uniqueness of difference, some TBoxes cannot be considered such as ALN . In
addition, this is the most time consuming approach regarding the three set of
experimentation, mainly because they perform an equivalence between two concept descriptions
(T j= D u B C ) whereas abduction computes (only) a subsumption of concept
descriptions (T j= D u B v C). The difference operator of [36] is a refinement of
[37]’s difference that considers the syntactic minimum ( d) between incomparable
descriptions. Such a consideration, limiting the relevance of its results using expressive
DLs, explains its very good performance.</p>
      <p>Even if deciding subsumption, computing abduction and difference in ALE is
NPcomplete, Figure 3 reports the feasibility and the scalability of the personalization
process. However these results depend on size and structure of the used ontologies, size and
complexity of user profile and service descriptions. The choice of abduction to
personalize services is justified by its performance in the three different DLs studied. Indeed,
our process of personalizing services with an expressive DL ALC over performs the
time consuming [37]’s difference-based personalization using ALN or ALE DLs.
Impact of the User Profile Upgrade Component: Since our personalization approach
aims at matching services to user profiles, it is required that their descriptions can be
semantically compared, either using a same ontology, or by establishing
subsumptionbased relationships between some of them. This experiment studies the qualitative
impact of the latter (i.e., User Profile Upgrade component in Fig.2) on personalization.</p>
      <p>To this end, 55 different initial ALN TBoxes (i.e., average of 103 concepts and 61
properties) have been used to annotate 100 services Si;1 i 100 and one profile P . Then,
progressively, some inter-connections have been established between them, favouring
the matching hence the personalization. Roughly speaking, the progression of
connections grows exponentially along 10 rounds Ri;1 i 10 i.e., from adding 21 to 210
connections. After each round, we run our personalization approach on these 100 services
and evaluate the rate of i) input parameters qS that can be adapted given P and ii)
missing description qmiss, both regarding the number of description in Si.</p>
      <p>60
)% 50
(
te 40
aR 30
s
ino 20
t
ircp 10
eD 0 qSqmiss qSqmiss qSqmiss qSqmiss qSqmiss qSqmiss qSqmiss qSqmiss qSqmiss qSqmiss
s</p>
      <p>R1</p>
      <p>R2</p>
      <p>R3</p>
      <p>R4</p>
      <p>R5</p>
      <p>R6</p>
      <p>R7</p>
      <p>R8</p>
      <p>R9</p>
      <p>R10</p>
      <p>Fig. 4. Impact of the User Profile Upgrade Component on Service Personalization.</p>
      <p>As shown in Fig.4, the more interconnections between ontologies, the better
personalization (i.e., qS ). In the same way, the rate of description to be updated in the
user profile (i.e., qmiss) is also improving. Both improvements follow a linear evolution
even if an exponential generation of interconnections is applied. In more detail, 37%
and 98% of service descriptions can be semantically compared (not matched) to profile
description respectively in the first and last round of interconnections generation. The
transition between round 5 and 6 (with 64 new connections) is the most significant with
respectively 53% and 72% of comparable descriptions in services and profile. While our
approach is able to adapt and personalize 44% of services in the last two rounds, the
personalization only reaches 15% of services in the first three rounds. This confirms the
high impact of the user profile upgrade component in our personalization framework.</p>
      <p>qmiss is in general higher than qr since some input parameters of services cannot be
captured by personalization e.g., variables such as flight destination, or sensitive data.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Related Work</title>
      <p>Based on [38], [10] present Personal Reader Framework, an approach for RDF-based
data extraction, combination, visualization and personalization. In particular, they
generate personalized view of data by applying standard subsumption-based matching
between data description, user profile and contextual information. To this end they adopt
TRIPLE [39], a rule language which is designed for querying and transforming RDF
models. Even if their approach is augmented with contextual information, their
matchingbased personalization approach do not consider automated update of user profile.</p>
      <p>Contrary to our approach, [8, 23, 27] perform personalization to obtain more
relevant services during the discovery process. Therefore they do not address services
instantiation (through their personalized adaptation) but rather service selection. The
selection process is based on the compatibility of users’ interests, disinterests and
service descriptions. Services that do not match a certain profile are discarded on the fly.
Since the matching process between the latter descriptions is handled on mobile device,
both approaches [23] sacrifice expressivity of DL and use standard DL inferences [15,
16]. Even more (semantically) limited, [27] consider only one-to-one syntactic
matching of service and profile descriptions for personalization. [8] consider non-functional
parameters, preferences and knowledge that is implicitly given by previous service to
personalize the selection of services.</p>
      <p>[24] present an approach for matching user profiles for applications such as job
recruitment or dating system. The matching, which is performed on a demand profile
Pd and a supply profile PS , aims at evaluating their semantic similarity. In the same
way as our work, abduction is used, but only for weighting, ranking purposes and not
for extracting and reusing relevant parts of Pd and PS . In addition they apply the
nonstandard inference contraction [40] to evaluate the effort (i.e., description) required to
make Pd u Ps satisfiable in H. On the contrary, we assume the latter conjunct to be
satisfiable in H since one goal of our personalization approach is to suggest more specific
descriptions (and so satisfiable) to the user profile regarding the service descriptions.
6</p>
    </sec>
    <sec id="sec-6">
      <title>Conclusion</title>
      <p>In this work we studied service personalization or the way to tailor services to a
particular user. In particular, we addressed automated instantiation of services (through
personalized adaptation) which is crucial for advanced usability i.e., how to prepare and
present services ready to be executed while limiting useless interactions with users?
Towards this issue, we considered a semantic augmentation of services and extensible user
profiles to infer potential matching between both descriptions. The semantic matching,
core of our approach, exploits standard DL reasoning and abduction to i) identify useful
parts of a user profile that satisfy the service requirements (i.e., input parameters) and
ii) compute the descriptions required by a service to be consumed but not provided by
the user profile. Our approach, integrated in the service consumption of the EC-funded
project SOA4All, has been augmented with a process of user profile upgrade in case
heterogeneous ontologies are used to describe services. Such an augmentation, aiming
at linking data description of services and user profile, has been validated by
experimental results. In the same way, the latter results confirm our choice of preferring abduction
rather than other difference operators for scalability and expressivity reasons.</p>
      <p>In future work we will consider a more precise abduction operator, which is also
easy-to-compute in expressive DLs in order to address more complex cases of
personalization and user profile update. We will also focus on the context dimension for
personalization. Another area of investigation is the policy-based control access [41] of
the user profile by third parties during its update. Finally, as reported by experimental
results, automating ontologies alignments is a key issue that need to be address.
17. Noia, T.D., Sciascio, E.D., Donini, F.M., Mongiello, M.: Abductive matchmaking using
description logics. In: IJCAI. (2003) 337–342
18. Pistore, M., Marconi, A., Bertoli, P., Traverso, P.: Automated composition of web services
by planning at the knowledge level. In: IJCAI. (2005) 1252–1259
19. McIlraith, S.A., Son, T.C.: Adapting golog for composition of semantic web services. In:</p>
      <p>KR. (2002) 482–496
20. Ankolenkar, A., Paolucci, M., Srinivasan, N., Sycara, K.: The owl-s coalition, owl-s 1.1.</p>
      <p>
        Technical report (2004)
21. Fensel, D., Kifer, M., de Bruijn, J., Domingue, J.: Web service modeling ontology
submission, w3c submission. (2005)
22. Kopecky´, J., Vitvar, T., Bournez, C., Farrell, J.: Sawsdl: Semantic annotations for wsdl and
xml schema. IEEE Internet Computing 11(
        <xref ref-type="bibr" rid="ref6">6</xref>
        ) (2007) 60–67
23. Kleemann, T., Sinner, A.: User profiles and matchmaking on mobile phones. In: INAP.
      </p>
      <p>
        (2005) 135–147
24. Cal`ı, A., Calvanese, D., Colucci, S., Noia, T.D., Donini, F.M.: A description logic based
approach for matching user profiles. In: Description Logics. (2004)
25. Berendt, B., Spiliopoulou, M.: Analysis of navigation behaviour in web sites integrating
multiple information systems. VLDB J. 9(
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) (2000) 56–75
26. Ghosh, R., Dekhil, M.: Discovering user profiles. In: WWW. (2009) 1233–1234
27. Weiß, D., Scheuerer, J., Wenleder, M., Erk, A., Gu¨lbahar, M., Linnhoff-Popien, C.: A user
profile-based personalization system for digital multimedia content. In: DIMEA. (2008)
281–288
28. Le´cue´, F., Delteil, A.: Making the difference in semantic web service composition. In:
      </p>
      <p>
        AAAI. (2007) 1383–1388
29. Borgida, A., Patel-Schneider, P.F.: A semantics and complete algorithm for subsumption in
the classic description logic. J. Artif. Intell. Res. (JAIR) 1 (1994) 277–308
30. Herzig, A.: The pma revisited. In: KR. (1996) 40–50
31. Benatallah, B., Hacid, M.S., Le´ger, A., Rey, C., Toumani, F.: On automating web services
discovery. VLDB J. 14(
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) (2005) 84–96
32. Pedrinaci, C., Lambert, D., Maleshkova, M., Liu, D., Domingue, J., Krummenacher, R.:
Service Engineering: European Research Results. In: Adaptive Service Binding with
Lightweight Semantic Web Services. (2010)
33. Euzenat, J., Shvaiko, P.: Ontology matching. Springer-Verlag, Heidelberg (DE) (2007)
34. Bizer, C., Heath, T., Berners-Lee, T.: Linked data - the story so far. Int. J. Semantic Web Inf.
      </p>
      <p>
        Syst. 5(
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) (2009) 1–22
35. Anand, S.S., Mobasher, B.: Introduction to intelligent techniques for web personalization.
      </p>
      <p>
        ACM Trans. Internet Technol. 7(
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) (2007) 18
36. Brandt, S., Kusters, R., Turhan, A.: Approximation and difference in description logics. In:
      </p>
      <p>KR. (2002) 203–214
37. Teege, G.: Making the difference: A subtraction operation for description logics. In: KR.</p>
      <p>
        (1994) 540–550
38. Antoniou, G., Baldoni, M., Baroglio, C., Baumgartner, R., Bry, F., Eiter, T., Henze, N.,
Herzog, M., May, W., Patti, V., Schaffert, S., Schindlauer, R., Tompits, H.: Reasoning methods
for personalization on the semantic web. Annals of Mathematics, Computing &amp;
Telefinformatics 2(
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) (2004) 1–24
39. Sintek, M., Decker, S.: Triple - a query, inference, and transformation language for the
semantic web. In: International Semantic Web Conference. (2002) 364–378
40. Colucci, S., Noia, T.D., Sciascio, E.D., Donini, F.M., Mongiello, M.: Concept abduction and
contraction in description logics. In: DL. (2003)
41. Abel, F., Henze, N., Krause, D.: Context-aware ranking algorithms in folksonomies. In:
WEBIST. (2009) 167–174
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Mobasher</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cooley</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Srivastava</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          :
          <article-title>Automatic personalization based on web usage mining</article-title>
          .
          <source>Commun. ACM</source>
          <volume>43</volume>
          (
          <issue>8</issue>
          ) (
          <year>2000</year>
          )
          <fpage>142</fpage>
          -
          <lpage>151</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Goldberg</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nichols</surname>
            ,
            <given-names>D.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oki</surname>
            ,
            <given-names>B.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Terry</surname>
            ,
            <given-names>D.B.</given-names>
          </string-name>
          :
          <article-title>Using collaborative filtering to weave an information tapestry</article-title>
          .
          <source>Commun. ACM</source>
          <volume>35</volume>
          (
          <issue>12</issue>
          ) (
          <year>1992</year>
          )
          <fpage>61</fpage>
          -
          <lpage>70</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Lieberman</surname>
          </string-name>
          , H.:
          <article-title>Letizia: An agent that assists web browsing</article-title>
          .
          <source>In: IJCAI (1)</source>
          . (
          <year>1995</year>
          )
          <fpage>924</fpage>
          -
          <lpage>929</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Pazzani</surname>
            ,
            <given-names>M.J.:</given-names>
          </string-name>
          <article-title>A framework for collaborative, content-based and demographic filtering</article-title>
          .
          <source>Artif. Intell. Rev</source>
          .
          <volume>13</volume>
          (
          <issue>5-6</issue>
          ) (
          <year>1999</year>
          )
          <fpage>393</fpage>
          -
          <lpage>408</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Alonso</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Casati</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuno</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Machiraju</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <source>Web Services: Concepts</source>
          ,
          <source>Architectures and Applictions</source>
          . Springer-Verlag (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Sivashanmugam</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Verma</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sheth</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Miller</surname>
            ,
            <given-names>J.A.</given-names>
          </string-name>
          :
          <article-title>Adding semantics to web services standards</article-title>
          .
          <source>In: ICWS</source>
          . (
          <year>2003</year>
          )
          <fpage>395</fpage>
          -
          <lpage>401</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. Garc´ıa,
          <string-name>
            <given-names>J.M.</given-names>
            ,
            <surname>Ruiz</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          , Corte´s,
          <string-name>
            <surname>A.R.:</surname>
          </string-name>
          <article-title>A model of user preferences for semantic services discovery and ranking</article-title>
          .
          <source>In: ESWC (2)</source>
          . (
          <year>2010</year>
          )
          <fpage>1</fpage>
          -
          <lpage>14</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Balke</surname>
          </string-name>
          , W.T.,
          <string-name>
            <surname>Wagner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Towards personalized selection of web services</article-title>
          .
          <source>In: WWW (Alternate Paper Tracks)</source>
          . (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Mandell</surname>
            ,
            <given-names>D.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McIlraith</surname>
            ,
            <given-names>S.A.</given-names>
          </string-name>
          :
          <article-title>Adapting bpel4ws for the semantic web: The bottom-up approach to web service interoperation</article-title>
          .
          <source>In: ISWC</source>
          . (
          <year>2003</year>
          )
          <fpage>227</fpage>
          -
          <lpage>241</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Baumgartner</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Henze</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Herzog</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>The personal publication reader: Illustrating web data extraction, personalization and reasoning for the semantic web</article-title>
          .
          <source>In: ESWC</source>
          . (
          <year>2005</year>
          )
          <fpage>515</fpage>
          -
          <lpage>530</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Blake</surname>
            ,
            <given-names>M.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nowlan</surname>
            ,
            <given-names>M.F.</given-names>
          </string-name>
          :
          <article-title>A web service recommender system using enhanced syntactical matching</article-title>
          .
          <source>In: ICWS</source>
          . (
          <year>2007</year>
          )
          <fpage>575</fpage>
          -
          <lpage>582</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Berners-Lee</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hendler</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lassila</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          :
          <article-title>The semantic web</article-title>
          .
          <source>Scientific American</source>
          <volume>284</volume>
          (
          <issue>5</issue>
          ) (
          <year>2001</year>
          )
          <fpage>34</fpage>
          -
          <lpage>43</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>M.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Welty</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McGuinness</surname>
            ,
            <given-names>D.L.</given-names>
          </string-name>
          :
          <article-title>Owl web ontology language guide</article-title>
          .
          <source>W3c recommendation</source>
          ,
          <source>W3C</source>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Baader</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nutt</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          <article-title>In: The Description Logic Handbook: Theory, Implementation, and</article-title>
          <string-name>
            <surname>Applications.</surname>
          </string-name>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.:</given-names>
          </string-name>
          <article-title>A software framework for matchmaking based on semantic web technology</article-title>
          .
          <source>In: WWW</source>
          . (
          <year>2003</year>
          )
          <fpage>331</fpage>
          -
          <lpage>339</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Paolucci</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kawamura</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Payne</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sycara</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Semantic matching of web services capabilities</article-title>
          .
          <source>In: ISWC</source>
          . (
          <year>2002</year>
          )
          <fpage>333</fpage>
          -
          <lpage>347</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>