<!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>Exploiting Semantic Technology in Computational Logic-based Service Contracting</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Marco Alberti</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Massimiliano Catta¯</string-name>
          <email>massimiliano.cattafi@student.unife.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco Gavanelli</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Evelina Lamma</string-name>
          <email>evelina.lamma@unife.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>ENDIF, University of Ferrara Via Saragat</institution>
          ,
          <addr-line>1 - 44100 Ferrara</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Dynamic composition of web services requires an automated step of contracting, i.e., the computation of a possibly fruitful interaction between two (or more) services, based on their policies and goals. In previous work, the SCIFF abductive logic language was used to represent the services' policies, and the associated proof procedure to perform the contracting. In this paper, we build on that work in order to exploit the results of the Description Logics research area to represent domain speci¯c knowledge, either by importing the knowledge encoded in an ontology into a SCIFF knowledge base, or by interfacing the SCIFF proof procedure to an existing ontological reasoner.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Service Oriented Architectures, exploiting the Internet as a means of
communication, are emerging as a simple and e®ective paradigm for distributed application
development. Heterogeneous entities, in terms of hardware and software settings,
can interoperate e®ectively following well established communication standards.</p>
      <p>Service providers can expose their policies, in order for potential customers
to evaluate the feasibility of a fruitful interaction. Such an evaluation can be
performed manually, if the service's interface is bound not to change over time.</p>
      <p>However, a more promising approach is for customers to choose the
appropriate service provider at run-time, based on the service provider's exposed policies.</p>
      <p>This approach requires a reasoning engine that reasons on the provider and
customer's goals and policies, in order to devise a sequence of actions that lets
both achieve their goals, while respecting their policies.</p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], Alberti et al. proposed a contracting architecture based on the SCIFF
abductive logic framework [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. In that work, the policies were expressed by means
of integrity constraints, and the domain knowledge was expressed in SCIFF's
logic clauses. The sound and complete SCIFF proof procedure was employed to
¯nd, if possible, a course of action that was satisfactory for both.
      </p>
      <p>However, in a practical perspective, we envisage a possible improvement in
representing the domain speci¯c knowledge exploiting the vast body of results
from the Knowledge Representation ¯eld and, in particular, Description Logics.
In this way, we can address the Ontology layer of the Semantic Web stack.</p>
      <p>In this paper, we propose two di®erent approaches to let SCIFF access
existing knowledge, expressed by means of an ontology:
{ by translating (part of) an ontology into SCIFF clauses, which can
subsequently be handled by the SCIFF proof procedure in the usual way;
{ by interfacing SCIFF with ontological reasoners, distinguishing syntactically
the ontology-related predicates and delegating their computation to the
external reasoners.</p>
      <p>This approach bears two main practical advantages: ¯rst, it makes the
knowledge encoded in ontologies available to SCIFF, and second (with the second
approach) it takes advantage of the formal properties enjoyed by the existing
ontological reasoners for the associated computational tasks, in particular
concerning decidability and e±ciency.</p>
      <p>
        Our approach di®ers from the one proposed by Matzner and Hitzler in
PrOWLog [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] which integrates OWL into Prolog by means of the
any-worldassumption, in that we do not propose an embedding of the OWL language into
a logic programming framework.
      </p>
      <p>
        An integration of ontological reasoning into SCIFF, following the ontology
importing approach, is also proposed by Chesani et al. [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>
        The paper is structured as follows: in Sect. 2 we brie°y recall the SCIFF
approach to contracting, in Sect. 3 we show how the relevant domain knowledge
can be expressed by means of an ontology, and in Sect. 4 we describe the two
di®erent approaches to access ontologies from SCIFF: importing an ontology into
a SCIFF knowledge base (Sect. 4.1), and interfacing the SCIFF proof procedure
with the Pellet [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] ontological reasoner (Sect. 4.2). Conclusions follow.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Contracting with S CIFF</title>
      <p>
        In this section, we brie°y recall the SCIFF-based contracting framework [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
2.1
      </p>
      <sec id="sec-2-1">
        <title>The SCIFF framework</title>
        <p>
          A web service's policy is de¯ned, in the SCIFF language, as an abductive logic
program (ALP). An ALP is de¯ned as the triplet hKBS ; A; ICi, where KBS
is a logic program in which the clauses can contain special atoms, that belong
to the set A and are called abducibles. Such atoms are not de¯ned by means of
clauses in the KBS , and, as such, they cannot be proven: their truth value can be
only hypothesized. In order to avoid unconstrained hypotheses, a set of integrity
constraints (IC) must always be satis¯ed. Integrity constraints, in our language,
are in the form of implications, and can relate abducible literals, de¯ned literals,
as well as constraints with Constraint Logic Programming [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] semantics.
        </p>
        <p>In particular, the integrity constraints can relate the web services'
information exchanges with the expected input from peer web services. The possible
relations can be of various types, and include temporal relations, such as
deadlines, linear constraints, disequalities and inequalities, all de¯ned by means of
constraints. The de¯nitions stated in this way are then used to make assumptions
on the possible evolutions of the interaction.</p>
        <p>A web service can reason about happened events, denoted with H(S; R; M; T ),
meaning that a Sender S sends message M to a Receiver R in some time T .
All the parameters can be logical terms, or variables, possibly subject to
constraints. Also, the policy might describe that a peer should provide some input,
by sending a message. Such expectation of the incoming message is represented
as E(S; R; M; T ), and it will be satis¯ed in case the message, in the form of H
atom, actually arrives. In some cases, the expectation could be negative, as in
EN(S; R; M; T ): the policy says in this case that a matching H event would be
unwelcome, as it would contradict other assumptions.</p>
        <p>For example, an integrity constraint can state that, if a peer web service
sends me a request, then I will accept:</p>
        <p>H(S; me; request(X); T ) ! H(me; S; accept(X); Ta):
Another rule can say that, if I send a request, I expect the peer either to accept
or to refuse, within 5 time units:</p>
        <p>H(me; S; request(X); T ) ! E(S; me; accept(X); Ta); Ta &lt; T + 5</p>
        <p>E(S; me; ref use(X); Tr); Tr &lt; T + 5</p>
        <p>Once the speci¯cation of a policy is de¯ned by means of integrity constraints
and expectations, they are processed by the SCIFF proof procedure, the
operational counterpart of the language. The proof-procedure performs abductive
reasoning, i.e., it can make assumptions and generate hypotheses. In particular,
it can hypothesise that some message will be sent, or that some expectation will
be raised. In case the expectations are matched by corresponding events, the
abductive process succeeds, otherwise the current branch will fail, and another
alternative will be selected (if there exists one). In this way, the SCIFF
proofprocedure is able to ¯nd if there exists at least a set of events that satis¯es a
given ALP, and provides in output both the abduced events and expectations.</p>
        <p>In contracting applications, the potential interacting services expose their
policies (in a format resulting from the extension of RuleML), and SCIFF
operates on the merging of the policies. A successful computation yields a sequence
of actions that satis¯es all the parties' policies.
2.2</p>
        <p>
          A contracting scenario
In [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] the SCIFF framework is applied to contracting in an e-commerce
scenario, which we extend in this paper in order to demonstrate our approach to
integration.
        </p>
        <p>The two actors are eShop (which wants to sell a device) and alice (a potential
customer for that device), each with policies expressed as SCIFF ICs. SCIFF
is used as a reasoner in a component that acts as a mediator, considering the
actors' policies and trying to devise a course of action that will let both reach
their goals. The two actors' policies, expressed in SCIFF integrity constraints,
are as follows.
alice's policy. \If the shop asks me to pay cash, I will, but if the shop asks me to
pay by credit card, I will require evidence of the shop's a±liation to the Better
Business Bureau.\</p>
        <sec id="sec-2-1-1">
          <title>H(tell(Shop; alice; ask(pay(Item; cc))); T a) !</title>
        </sec>
        <sec id="sec-2-1-2">
          <title>H(tell(alice; Shop; request guar(BBB)); T rg)^</title>
        </sec>
        <sec id="sec-2-1-3">
          <title>E(tell(Shop; alice; give guar(BBB)); T g) ^ T g &gt; T rg ^ T rg &gt; T a:</title>
        </sec>
        <sec id="sec-2-1-4">
          <title>H(tell(Shop; alice; ask(pay(Item; cc))); T a)^</title>
        </sec>
        <sec id="sec-2-1-5">
          <title>H(tell(Shop; alice; give guar(BBB)); T g) !</title>
        </sec>
        <sec id="sec-2-1-6">
          <title>H(tell(alice; Shop; pay(Item; cc)); T p) ^ T p &gt; T a ^ T p &gt; T g:</title>
        </sec>
        <sec id="sec-2-1-7">
          <title>H(tell(Shop; alice; ask(pay(Item; cash))); T a) !</title>
        </sec>
        <sec id="sec-2-1-8">
          <title>H(tell(alice; eShop; pay(Item; cash)); T r) ^ T a &lt; T r:</title>
          <p>eShop's policy. \If an acceptable customer requests an item from me, then I
expect the customer to pay for the item with an acceptable means of payment.
If the customer is not acceptable, I will inform him/her of the failure. If an
acceptable customer pays with an acceptable means of payment, I will deliver
the item. If a customer requests evidence of my a±liation to the Better Business
Bureau (BBB), I will provide it."</p>
        </sec>
        <sec id="sec-2-1-9">
          <title>H(tell(Customer; eShop; request(Item)); T r) ^ accepted payment(How) !</title>
          <p>accepted customer(Customer) ^ H(tell(eShop; Customer; ask(pay(Item; How))); T a)^</p>
        </sec>
        <sec id="sec-2-1-10">
          <title>E(tell(Customer; eShop; pay(Item; How)); T p) ^ T p &gt; T a ^ T a &gt; T r _ rejected customer(Customer) ^ H(tell(eShop; Customer; inf orm(f ail)); T i) ^ T i &gt; T r:</title>
          <p>H(tell(Customer; eShop; pay(Item; How)); T p)
^ accepted customer(Customer) ^ accepted payment(How) !</p>
        </sec>
        <sec id="sec-2-1-11">
          <title>H(tell(eShop; Customer; deliver(Item)); T d) ^ T d &gt; T p:</title>
        </sec>
        <sec id="sec-2-1-12">
          <title>H(tell(Customer; eShop; request guar(BBB)); T rg) !</title>
        </sec>
        <sec id="sec-2-1-13">
          <title>H(tell(eShop; Customer; give guar(BBB)); T g) ^ T g &gt; T rg:</title>
          <p>(1)
(2)</p>
          <p>
            The notion of acceptability for customers and payment methods from
eShop's viewpoint, de¯ned by the accepted customer/1 and accepted payment/1
predicates, is de¯ned in eShop's knowledge base. In [
            <xref ref-type="bibr" rid="ref1">1</xref>
            ], only EU residents are
accepted customers, as de¯ned by the following clauses:
accepted_customer(Customer):resident_in(Customer, Location),
accepted_destination(Location).
rejected_customer(Customer):resident_in(Customer, Location),
not accepted_destination(Location).
accepted_destination(european_union).
accepted_payment(cc).
accepted_payment(cash).
          </p>
          <p>This knowledge is merged with that provided by the customer, for example
resident_in(alice,european_union).</p>
          <p>so that in the resulting knowledge base, on which SCIFF operates,
accepted customer(alice) is true.</p>
          <p>However, this method would not work in case the customer declared
resident in(alice,italy), as italy does not unify with european union.
One could, of course, add to the knowledge base accepted destination/1 facts
for all the current EU members, but such knowledge should be updated when
new countries join the EU. In other cases, acceptability could be de¯ned by a
transitive, symmetric relation, which could introduce cycles in the knowledge
base, possibly leading to loops.
3</p>
          <p>
            Representing domain knowledge with ontologies
An alternative way to represent (part of) the domain speci¯c knowledge is to
use technology and concepts developed, with focus on this very purpose, in
the Knowledge Representation ¯eld, and to rely, in particular, on ontologies.
The W3C recommendation for ontology representation on the Web is the Web
Ontology Language (OWL) [
            <xref ref-type="bibr" rid="ref7">7</xref>
            ] based on the well established semantics of
Description Logics [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ] and on XML and RDF syntax. Using OWL for domain
knowledge representation improves expressivity (with such features as stating
subclassing relations, constructing classes on property restrictions or by set
operators, de¯ning transitive properties and so on) yet keeping decidability (if using
OWL Lite or OWL DL) in a straight-forward and domain modeling-oriented
notation. Moreover, since OWL is tailored for the Web, it provides support for
expressing knowledge in distributed contexts (identi¯ed by URIs) and its
recognized standard status is a warranty on interoperability and reuse issues. As a
plus, it can be mentioned that community driven development of Semantic Web
tools already provides good support for OWL ontology management tasks such
as editing [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ] also for not KR-skilled users.
          </p>
          <p>For instance, in Fig. 1 we show a possible ontological representation of
eShop's policies concerning acceptable customers and means of payments, merged
with alice's own knowledge.</p>
          <p>The following OWL clause says that the acceptedCustomer class is a
subclass of the potentialCustomer class, and that it is disjoint from the
rejectedCustomer class:
&lt;owl:Class rdf:about="#acceptedCustomer"&gt;
&lt;rdfs:subClassOf rdf:resource="#potentialCustomer" /&gt;
&lt;owl:disjointWith rdf:resource="#rejectedCustomer" /&gt;
&lt;/owl:Class&gt;
The following clause states that cash is an instance of the acceptedPayment
class:
&lt;owl:Thing rdf:about="#cash"&gt;</p>
          <p>&lt;rdf:type rdf:resource="#acceptedPayment" /&gt;
&lt;/owl:Thing&gt;
The following clause declares the paysWith property:
&lt;owl:ObjectProperty rdf:ID="paysWith"&gt;
&lt;rdfs:domain rdf:resource="#potentialCustomer" /&gt;
&lt;rdfs:range rdf:resource="#payment" /&gt;
&lt;/owl:ObjectProperty&gt;
The following clause states that alice is an instance of italian, with value
ae1254 for the paysWith property:
&lt;owl:Thing rdf:about="#alice"&gt;
&lt;rdf:type rdf:resource="#italian" /&gt;
&lt;paysWith rdf:resource="#ae1254" /&gt;
&lt;/owl:Thing&gt;
It can be noticed that the ontological notation for the KB makes it possible
to infer that alice is European (and therefore an accepted customer) even if
she just states being Italian, while if we had put resident in(alice, italy)
instead of resident in(alice, europe) in the KB at the end of Sect. 2.2 she
would not have been recognized as such.</p>
          <p>Moreover, we de¯ned a class premiumCustomer representing the accepted
customers who pay with a credit card, and which we could use to add re¯nement
to policies (for instance providing a faster delivery). Since alice is an accepted
customer and pays with her credit card, the ontological reasoning allows to
recognize her as a premiumCustomer.
4</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Handling semantic knowledge with SCIFF</title>
      <p>We implemented the SCIFF access to OWL ontologies in two di®erent ways, that
we describe in this section. In both cases it should be noticed that even if OWL
relies on the Open World Assumption, when SCIFF comes to reasoning involving
it, the logic programming peculiar Closed World Assumption is reintroduced,
thus assuming to have all (relevant) information on the domain available at that
time and providing usual features such as negation as failure. In this section we
present the two approaches, and their experimental evaluation.</p>
      <sec id="sec-3-1">
        <title>4.1 Importing ontologies into the SCIFF KBS</title>
        <p>
          Considering that Logic Programming (LP) and Description Logics (DL) have a
common root in First Order Logic, a ¯rst approach is to ¯nd their intersection
and to translate ontologies to LP clauses. These two problems have already been
addressed by Grosof et al. [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] who named this intersection DLP (Description
Logics Program) and by Hustadt et al. [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] who proposed a method for
translation. On these basis, the dlpconvert [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] tool was developed and made available
by the Karlsruhe University, which converts (the DLP fragment of) OWL
ontologies to datalog clauses. We used dlpconvert to traslate domain knowledge
described in OWL documents to SCIFF clauses. Reasoning is then performed
by SCIFF in the usual way. However, this solution limits ontological
expressivity. First of all, since the DLP fragment is a proper subset of DL, some OWL
axioms are not included. For instance, out of the features mentioned as available
in [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] by Vrandecic et al., DisjointClasses and the important DL (and OWL)
feature of class de¯nition by restriction on properties are missing. Moreover,
some axioms' translation is not actually suitable for reasoning with goal-driven
operational semantics, such as as resolution or unfolding, employed in SCIFF,
because it leads to loops. As an example, consider
        </p>
        <p>For all these reasons the e-commerce ontology must be modi¯ed, in particular
removing the premiumCustomer class, and the DisjointClasses axioms.</p>
      </sec>
      <sec id="sec-3-2">
        <title>4.2 Interfacing SCIFF and ontological reasoners</title>
        <p>An approach that aims to overcome the limitations described in Sect. 4.1
consists of interfacing SCIFF with an external speci¯c ontology-focused component
which can be, when necessary, queried by SCIFF and which performs the actual
ontological reasoning and gives back results. As represented in Fig. 2, the
architecture for this solution involves a Prolog meta-predicate which invokes the
ontological reasoning on desired goals, an intercommunication interface from SCIFF
to the external component (which incorporates a query and results translation
schema) and the actual reasoning module. Both modules can access both local
and networked knowledge.</p>
        <p>
          Goals given to the meta-predicate are handled like suggested in [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] and [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]
considering single arity predicates as \belongs to class (with same name of
predicate)" queries and double arity ones as \are related by property (with same name
of predicate)" queries. To reduce the overhead caused by external
communication, our implementation of the meta-predicate provides a caching mechanism: it
is ¯rst checked if a similar query (i.e., involving the same predicate) has been
performed before and, only if not, the external reasoner is invoked and answers are
cached by storing them as Prolog facts (by means of asserta/1}).The OWL
reasoning module uses the Pellet [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] API, while the communication interface
uses the Jasper Prolog-Java library [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. This solution enables access to the full
OWL(-DL) expressivity, including features such as equivalence of classes and
properties, transitive properties, declaration of classes on property restriction
and property-based individual classi¯cation.
Both approaches were tested successfully in simple contracting scenaria.
        </p>
        <p>Performance comparisons of the two approaches are hardly signi¯cant, as
they mainly di®er in expressive power. However, to assess their scalability, we
experimented with randomly generated ontologies. Each ontology, composed of
N classes, was built starting from its root node, and recursively attempting, for
each node, ¯ve attempts of child generation, each with probability 1=3.</p>
        <p>The reasoners were queried about the belonging of an entity to the hierarchy
root class. For both approaches, we report in Tab. 1 the time spent for loading
the ontology into the reasoner1 and for the actual query. Both approaches appear
to scale reasonably (on PC equipped with an Intel Celeron 2.4 GHz CPU). In
both cases, the loading time is higher than the query time; for the importing
approach, this is particularly noticeable, and encouraging, as in real applications
the ontology would be imported only once.
5</p>
        <p>Conclusions
In this paper, we proposed an integration of the previously developed SCIFF
reasoning framework for service contracting with Description Logics standards.
1 For the importing approach, the load time is the time spent for translating the
ontology and parsing the resulting clauses and ICs, while for the Pellet-based
approach it is the time spent for parsing ICs and loading the ontology into a persistent
OWLOntology object.
We proposed two approaches: ¯rst, to translate ontological knowledge into the
SCIFF formalism; second, to interface the SCIFF reasoner to ontological
reasoners, delegating the ontological reasoning to them. In this way, we make the results
(in terms of representation capability and computational e±ciency) obtained in
the Description Logics area available to the SCIFF contracting framework.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Alberti</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chesani</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gavanelli</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lamma</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mello</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Montali</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Torroni</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Web service contracting: speci¯cation and reasoning with sci®</article-title>
          . In
          <string-name>
            <surname>Franconi</surname>
          </string-name>
          , E.,
          <string-name>
            <surname>Kifer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>May</surname>
          </string-name>
          , W., eds.
          <source>: Proceedings of the 4th European Semantic Web Conference (ESWC)</source>
          .
          <source>Volume 4519 of Lecture Notes in Arti¯cial Intelligence</source>
          ., Innsbr uck, Springer-Verlag (
          <year>2007</year>
          )
          <volume>68</volume>
          {
          <fpage>83</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Alberti</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chesani</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gavanelli</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lamma</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mello</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Torroni</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Veri¯able agent interaction in abductive logic programming: the SCIFF framework</article-title>
          .
          <source>ACM Transactions on Computational Logics</source>
          <volume>9</volume>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Matzner</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hitzler</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Any-World Access to OWL from Prolog</article-title>
          .
          <source>In: KI 2007: Advances in Arti¯cial Intelligence, 30th Annual German Conference on AI, KI</source>
          <year>2007</year>
          , OsnabruÄck, Germany,
          <source>September 10-13</source>
          ,
          <year>2007</year>
          , Proceedings. Volume
          <volume>4667</volume>
          of Lecture Notes in Computer Science., Springer (
          <year>2007</year>
          )
          <volume>84</volume>
          {
          <fpage>98</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Chesani</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mello</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Montali</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Torroni</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Integrating ontological reasoning and abductive logic programming for service discovery and contracting</article-title>
          . Submitted to SWAP'
          <volume>08</volume>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. :
          <article-title>Pellet: the open source OWL DL reasoner</article-title>
          . http://pellet.owldl.com/ (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. Ja®ar, J.,
          <string-name>
            <surname>Maher</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>Constraint logic programming: a survey</article-title>
          .
          <source>Journal of Logic Programming</source>
          <volume>19</volume>
          -
          <fpage>20</fpage>
          (
          <year>1994</year>
          )
          <volume>503</volume>
          {
          <fpage>582</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. :
          <article-title>W3c recommendation: Owl, web ontology language</article-title>
          . http://www.w3.org/TR/owl-guide/ (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Lutz</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Description logic resources</article-title>
          . http://dl.kr.org (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Noy</surname>
            ,
            <given-names>N.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sintek</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Decker</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , Crub¶ezy,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Fergerson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.W.</given-names>
            ,
            <surname>Musen</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.A.</surname>
          </string-name>
          :
          <article-title>Creating semantic web contents with prot¶eg¶e-2000</article-title>
          .
          <source>IEEE Intelligent Systems</source>
          <volume>16</volume>
          (
          <year>2001</year>
          )
          <volume>60</volume>
          {
          <fpage>71</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Grosof</surname>
            ,
            <given-names>B.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Volz</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Decker</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>Description logic programs: combining logic programs with description logic</article-title>
          .
          <source>In: WWW '03: Proceedings of the 12th international conference on World Wide Web</source>
          , New York, NY, USA, ACM (
          <year>2003</year>
          )
          <volume>48</volume>
          {
          <fpage>57</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Hustadt</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Motik</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sattler</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Reducing</surname>
            <given-names>SHIQ</given-names>
          </string-name>
          ¡
          <article-title>description logic to disjunctive datalog programs</article-title>
          . In Dubois, D.,
          <string-name>
            <surname>Welty</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Williams</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>A</article-title>
          ., eds.
          <source>: Proceedings of the 9th International Conference on Knowledge Representation and Reasoning (KR2004)</source>
          , AAAI Press (
          <year>2004</year>
          )
          <volume>152</volume>
          {
          <fpage>162</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Motik</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vrandecic</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hitzler</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sure</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Studer</surname>
          </string-name>
          , R.:
          <article-title>Dlpconvert - Converting OWL DLP statements to logic programs</article-title>
          .
          <source>System Demo at the 2nd European Semantic Web Conference</source>
          , Iraklion, Greece (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Vrandecic</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Haase</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hitzler</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sure</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Studer</surname>
          </string-name>
          , R.:
          <article-title>Dlp - an introduction</article-title>
          . http://www.aifb.uni-karlsruhe.de/WBS/phi/pub/dlpintro.pdf (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. :
          <article-title>SICStus prolog user manual</article-title>
          ,
          <source>release 4.0.4</source>
          (
          <issue>2008</issue>
          ) http://www.sics.se/isl/sicstus/.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>