<!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>Processing SPARQL Queries on Deep Web sources</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Andrea Cal</string-name>
          <email>andrea@dcs.bbk.ac.uk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Tommaso Di Noia</string-name>
          <email>tommaso.dinoia@poliba.it</email>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Thomas W. Lynch</string-name>
          <email>thomas.lynch@reasoningtechnology.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Azzurra Ragone</string-name>
          <email>azzurra.ragone@gmail.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dept of Comp. Sci. and Inf. Syst. Birkbeck, Univ. of London</institution>
          ,
          <country country="UK">UK</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Independent Researcher</institution>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Oxford-Man Inst. of Quantitative Finance University of Oxford</institution>
          ,
          <country country="UK">UK</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Reasoning Technology Ltd</institution>
          ,
          <country country="UK">UK</country>
        </aff>
        <aff id="aff4">
          <label>4</label>
          <institution>SisInf Lab Politecnico di Bari</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2018</year>
      </pub-date>
      <fpage>24</fpage>
      <lpage>27</lpage>
      <abstract>
        <p>The Deep Web is constituted by data accessible through dynamic Web pages requested through a Web interface. While Deep Web data sources have been usually modelled as relational in the literature, in many cases it is useful to export Deep Web data as Linked Data sets. In this context, processing queries poses some algorithmic challenges due to the inherent limitations of Deep Web sources which, requiring some inputs to be queried, function as services. In this paper we present a framework and a system to export Deep Web data as Linked Data sets. Further, we characterise a class of SPARQL queries that are executable directly, in spite of the limitations.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The Deep Web (also known as Hidden Web) [
        <xref ref-type="bibr" rid="ref3 ref6 ref9">9, 6, 3</xref>
        ] is constituted by structured
data that are available as dynamically generated Web pages, generated upon
queries usually posed through HTML forms. The Deep Web content cannot
be indexed by search engines and is therefore not immediately searchable or
accessible. The Deep Web is separated from the so-called Surface Web, the latter
being the set of ordinary, static Web pages. It is also known that the Deep Web
is orders of magnitude larger than the Surface Web [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Deep Web data are
normally structured and of great value; however, the limitations in accessing
them make them hard to search and query. Integrating Deep Web sources as a
single database poses several challenges. Normally in this approach, which allows
for processing structured queries [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] as well as keyword queries [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], sources are
federated into a single schema. Normally, in this approach one deals with known
sources, which contain data related to a single domain of interest. Deep Web
sources have been naturally modelled as relational tables that can be queried only
according to so-called access patterns (or access limitations ); more speci cally,
certain attributes are to be selected in the query in order to get an answer |
such a selection corresponds to lling the corresponding attribute in the form
with a value.
      </p>
      <p>
        New ways of exposing structured data have recently emerged, which allow the
composition of services for the creation of new integrated applications
(mashups [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]) and knowledge spaces. Among the various technical proposals and
approaches for data publication on the Web which survived to the present days,
the two most relevant ones are: RESTful services [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and Linked Data (LD) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
RESTful services provide an agile way of exposing data in a request/response
fashion over HTTP, and has been widely adopted by programmers thanks to
its easiness of implementation [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In this context, data are usually returned in
XML or JSON documents after the invocation of a service. Among the issues
related to the pure RESTful approach we mention the following:
{ There is no explicit semantics attached to the returned data.
{ There is no unique query language to invoke services. Each service exposes
its own API, and APIs considerably di er from each other even when they
refer to the same knowledge domain.
{ The integration of di erent data sources is di cult and is often implemented
ad-hoc.
      </p>
      <p>On the other hand, the Linked Data approach is based on the idea that data
can be delivered on the Web together with their explicit semantics, expressed by
means of common vocabularies. Following the Linked Data principles, datasets
should be made accessible through a SPARQL endpoint. Moreover, by using
federated queries an agent is able to automatically integrate data coming from
di erent sources thus creating a data space at a Web scale. Unfortunately, also
the Linked Data approach comes with its drawbacks, among which we may
mention:
{ The e ort in setting up a SPARQL endpoint is bigger than that of adopting
a RESTful approach from service providers. Normally it is much easier to
nd a JSON-based service than a LD-based one.
{ Programmers are usually more familiar with JSON services than with</p>
      <p>SPARQL endpoints.
{ Service providers are usually not interested in exposing all the data they
have; instead, they normally want to expose only a small portion of their
data.</p>
      <p>Based on the above points we can see that, while from the practical point of
view the RESTful approach is the most e cient, if we look at the knowledge
point of view the Linked Data paradigm represents a more suitable solution.</p>
      <p>Actually, with JSON-LD this issue could be solved but this format is not widely
adopted yet.
https://www.w3.org/DesignIssues/LinkedData.html
https://www.w3.org/TR/sparql11-federated-query/</p>
      <p>Following the above observations, we built the PoLDo prototype system, which
is able to export existing RESTful services, even third-party ones, as a SPARQL
endpoint, thus making the underlying Deep Data sources part of the Linked
Data cloud. Thanks to a con gurable query planner, PoLDo is able to break
down a SPARQL query into a sequence of RESTful service invocations and to
orchestrate di erent services to provide a correct answer to the posed query.
Starting from the data it retrieves from services, PoLDo builds a temporary RDF
dataset used to compute the result set for the original SPARQL query.</p>
      <p>In PoLDo, we expose Deep Web sources as services according to the
aforementioned intrinsic restrictions. Rather than limiting ourselves to relational Deep
Web sources, we model sources as Linked Data with access limitations, that is,
SPARQL access points that are only accessible with queries that contain a
certain xed, ground (variable-free) pattern. This poses the problem of determining
whether a query can be evaluated over a set of sources (in the form of SPARQL
endpoints), while returning the complete answers, in the presence of the access
limitations. For other queries, we can only expect to get partial answers.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Modelling and Querying</title>
      <p>In this section we present a model for Linked Data sources that expose Deep
Web data, with their inherent limitations. We characterise a class of queries that
can be evaluated non-recursively on the data, while returning the complete set
of answers (as if they were evaluated in the absence of limitations).</p>
      <p>We rst show how Deep Web sources are represented as relational data.</p>
      <p>
        When dealing with databases with access limitations the relations can be
expressed using the proper access modes. In the case of RESTful services we
have the two access mode i and o (for input and output respectively) stating
that for all the tuples r(c1; : : : ; cn) 2 DB we have some of the arguments of
r mapped to the inputs of the service and some to its outputs. Following [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ],
we denote access modes as superscript of the relation. As an example, a simple
service can be expressed by a relation r1 de ned as r1oio(C1; C2; C3), where C2 is
an input parameter and C1; C3 are output parameters. Let us assume we have
also another service r2ioo(C3; C4; C5), where C3 is an input parameter and C4; C5
are output parameters. Notice that we use the same name for parameters that
are compatible, that is, have as instance values (constants) of the same type;
this is expressed by the notion of abstract domain in Deep Web [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], that is a
domain specifying the class the objects it represents (e.g. telephone number,
person's name etc.) rather than the concrete domain (string, integer etc.). The
annotations that specify input and output parameters are also called access
patterns. Access limitation a ect the computation of the result of a query as
not all data, in the forms of facts of the form r1(c1; c2; c3) where c1; c2; c3 are
constants, may be accessible. Consider the conjunctive query q1 de ned as
q1(X)
      </p>
      <p>
        r1oio(Y; a2; X); r2ioo(X; a4; Z)
. This query can be processed by executing the services corresponding to the
relations r1 and r2 from left to right. Indeed, by invoking the rst service with input
c1 we obtain as output a set of pairs of constants of the type hc1; c3i, each
instantiating Y and X respectively, as a consequence of the fact that r1(c1; a2; c3) 2 DB
. For each such pair, the second value c3 is then used as input to invoke the
service corresponding to r2, thus obtaining as output a new set of pairs of the form
hc4; c5i. Among these pairs, due to the selection with a4 on the second atom of
the query, we are interested only in those such that c4 = a4. So this kind of query
is executable and retrieves a complete answer that contains all solutions to the
query over DB. Notice that if the query is not executable, in some cases it can
be executed from left to right by reordering the subgoals (atoms) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. This kind
of queries are called feasible (or orderable). Feasible queries can be evaluated so
as to return the complete answer to the query. If we had in addition the relation
r3 (and associated service) de ned as r3oio(C5; C4; C6) and a query
q2(X)
      </p>
      <p>r1oio(Y; a2; X); r2ioo(X; a4; Z); r3oio(Z; U; W );
we may not be able to compute all the answers. For example, the instance
fr1(d1; d2; d3); r2(d3; d4; d5); r3(d5; d04; d6)g will provide the answer hd3i for q2,
but such answer cannot be retrieved due to the limitations. In general, the
answers q(D) to a query q on a database D (as computed if the data sources had no
access limitations) is a superset of the answers ans(q; I; D) that can be actually
retrieved through the access patterns, that is ans(q; I; D) q(D), where I is a
set of initial constants available to start the extraction of data from the sources.</p>
      <p>
        When considering Linked Data sets, the limitations of the HTML forms (or
others beyond the relational formalism) are re ected naturally as we explain
below. We refer to the formalisation of SPARQL in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>Data are in the form of triple patterns of the form hs; p; oi 2 (I [ B) I
(I [ B [ L), where B is the set of blank nodes. We assume to have a partial
relation on predicates, where (p1; p2) means that p1 and p2 have compatible
domains; this can be speci ed by the rdfs:domain of an rdf:Property, but we
are not going to expose this in detail in this preliminary paper. The fact that
two predicates have compatible domains re ects the notion of abstract domain
in Deep Web.</p>
      <p>Basic graph patterns (BGPs) are sets of triple graph patterns of the form
t 2 (I [ L [ V) (I [ V) (I [ L [ V) where I, V and L are the sets of IRIs,
variables and labels, respectively.</p>
      <p>
        In the context of integrating set of Deep Web data sources and answering
queries posed on a set of such sources as if it was a single database, we assume
to have a schema S = fS1; : : : ; Sng of Deep Web sources. Each source Si, with
1 6 i 6 n, is an access point that has associated a set i of triple patterns that
are called input triple patterns (ITPs). Intuitively, in order to query a source,
we need to use a SPARQL query that provides constants for the object (the
Analogously to [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], in a \traditional" data integration setting, we assume that we are
integrating a set of known sources related to a domain of interest. We do not address
here the problem of automatic discovery of sources, nor the problem of designing a
global schema that o ers a seamless model of the underlying data. Instead, we take
the union of the sources as our database.
third element in the corresponding triple) of all such patterns. This re ects
the structure of Deep Web sources when represented as relational tables. More
speci cally, to query a source Si, we need a query that contains all input triple
patterns i for Si, with the third element (the object) instantiated to a value.
      </p>
      <p>To start our exposition, we assume that queries are of the form q =
P1 and P2 and : : : and Pn, where, for all i s.t. 1 6 i 6 n, each Pi is a graph
pattern query to be evaluated on Si. We do not di erentiate here between
SELECT and CONSTRUCT query types. Now, we formalise the limitations on
sources and we establish a criterion for determining queries that can be
evaluated so that all answers are computed.</p>
      <p>We consider a schema S = fS1; : : : ; Sng of Deep Web sources with access
limitations = f 1; : : : ; ng. For each Si, 1 6 i 6 n, i is a set of input triple
patterns (ITPs) of the form = hVs; p; Voi 2 V I V. Let D = fD1; : : : ; Dng
be an instance for the schema S, where Di is the instance of Si, , for all i
s.t. 1 6 i 6 n.</p>
      <p>De nition 1.</p>
      <p>(a) A triple pattern t instantiates an ITP = hVs; p Voi if = ( ) such
that is a mapping and (Vo) 2 I L. Notice that in this case (p) = p.
(b) A source S with a set of input triple patterns can be accessed with a
BGP P if for each 2 , there is 2 P such that instantiates .
3</p>
    </sec>
    <sec id="sec-3">
      <title>Processing Queries</title>
      <p>We now focus on queries that can be executed on an instance D according to
the access patterns
De nition 2. Let t1; t2 be triple graph patterns de ned as t1 = hW1; p1; V i; t2 =
hW2; p1; V i, with fW1; W2g I [ L [ V and V 2 V.</p>
      <p>(a) We say that t1 feeds t2 if (p1; p2), that is, p1 and p2 are compatible
(notice that both triple graph patterns have the same variable as third element).
(b) We say that t1 and t2 match if p1 = p2.</p>
      <p>We now identify a class of queries of the form q = P1 and P2 and : : : and Pn
that are executable from left to right, after ordering the graph patternss Pi, on
an instance D for a schema S; we call such queries orderable in accordance with
the relational terminology for queries under access limitations.</p>
      <p>De nition 3. Let q be a query of the form q = P1 and P2 and : : : and Pn, posed
on a schema S as previously de ned. q is said to be orderable if P1; : : : ; Pn can
be ordered as Pi1 ; : : : ; Pin such that:
(a) For every ITP 2 i1 , there is 2 Pi1 such that instantiates ;
(b) For all j such that 1 6 j 6 n, for every ITP 2 ij , either
(i) there is 2 Pij such that instantiates ;
(ii) there are
feeds ; (2)
2 Pij and 2 Pi` , witha 1 6 ` 6 ij
and match.</p>
      <p>1, such that (1)</p>
      <p>Notice that this de nition is analogous to the same one in the context of
relational data under access limitations.</p>
      <p>Proposition 1. Every orderable query on a schema S of the form q =
P1 and P2 and : : : and Pn can be executed on an instance D, after suitably
ordering P1; : : : ; Pn, from left to right so that all answers q(D) are retrieved.</p>
      <p>Proof (sketch). We know q can be ordered as in De nition 3; let us assume
w.l.o.g. then that it is already ordered. It is easily seen that P1 can be
immediately evaluated on D1. Then, for each j such that 2 6 j 6 n, Pj can be evaluated
on Dj according to j because every ITPs of j is either (1) instantiated by
some BGP in Pj or (2) instantiated by a triple pattern 0, obtained from 2 P`,
1 6 ` 6 j 1 (as per De nition 3) by replacing its third element with the values
of the third element of ( ), where 2 P`, for every mapping resulting from
the evaluation of P` on D`.</p>
      <p>P1</p>
      <p>P2
1
2
p2
?X
p1
?W
a
p3
?Z</p>
      <p>Y
p2</p>
      <p>?X
Example 1. Consider the query P1 and P2, where P1; P2 are as in Figure 1 (we
omit variables that appear only once), on a schema S = fS1; S2g with 1 = f 1g,
2 = f 2g, where 1; 2 are again as in Figure 1. The query q is processed by
evaluating P1 on S1 directly and then, for all values v obtained by mapping ?X
in the evaluation of P1, by evaluating P20 (see gure), obtained by replacing ?X
with v in P2.
4</p>
      <p>PoLDo
In this section we brie y present the architecture of PoLDo, a prototype that
processes queries over distributed Deep Web sources that are exposed as Linked
Data sets.</p>
      <p>The high level architecture of PoLDo is shown in Figure 2. The engine is
responsible of getting the SPARQL query and breaking it down to a sequence of
RESTful calls to a remote service. The transformation is made possible thanks
to a mapping le that maps Linked Data URIs to the elements of the signature
of the remote call. While querying the remote service, PoLDo feeds an RDF local
triple store (Jena Fuseki, in its current implementation) which is in charge of
processing the actual SPARQL query. More speci cally, in our system we have
the following components and models.</p>
      <p>PoLDo engine The engine accepts the SPARQL query and extracts all the
constants from the graph template in the WHERE clause. Then, by using the
algorithm sketched in Section 3 , it uses the constants to query the external
service and to get the data that will be used to create a local RDF
representation of the data space. Thanks to the information encoded in the PoLDo
mapping le, the engine is able to feed a local repository of RDF triples.
The engine is also capable to exploit external services to get extracted
resources' URI from mapped API services, that often return data related to
the resource but not the URI.</p>
      <p>Jena The Jena Model is used to save a Linked Data version of the data which
are incrementally retrieved from the RESTful service. The availability of a
third-party RDF model makes PoLDo able to support the full speci cation
of SPARQL query language. Furthermore, it is able to return the data in all
the formats supported by the query engine Jena ARQ.</p>
      <p>PoLDo Mapping Generator The Mapping Generator is responsible for the
generation of the mapping le. Given a RESTful service, it works in four
steps. It analyzes request (HTTP GET) and response (JSON or XML) given
to and by a web service, then extracts all the inputs and outputs. The user
is then allowed to manually assign a class of membership to resources. The
Mapping Generator queries the ontologies (DBpedia and LOV, in our rst
experimentation) and recommend how to link resources. After user con
rmation, the nal mapping le is generated and can to be used by the engine.
PoLDo mapping le This le contains information about how to map the URIs
of the SPARQL query to inputs and outputs of the services. It also describes
the access patterns as represented in Section 2 as well as their mutual
relations (that is which triple graph patterns feed each other).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Vito</given-names>
            <surname>Walter</surname>
          </string-name>
          <string-name>
            <surname>Anelli</surname>
          </string-name>
          , Vito Bellini, Andrea Cal , Giuseppe De Santis, Tommaso Di Noia, and Eugenio Di Sciascio.
          <article-title>Querying deep web data sources as linked data</article-title>
          .
          <source>In Proceedings of the 7th International Conference on Web Intelligence</source>
          , Mining and Semantics,
          <string-name>
            <surname>WIMS</surname>
          </string-name>
          <year>2017</year>
          , Amantea, Italy, June 19-22,
          <year>2017</year>
          , pages
          <issue>32:1</issue>
          {
          <issue>32</issue>
          :
          <fpage>7</fpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Christian</given-names>
            <surname>Bizer</surname>
          </string-name>
          , Tom Heath, and
          <string-name>
            <surname>Tim</surname>
          </string-name>
          Berners-Lee.
          <article-title>Linked data { the story so far</article-title>
          .
          <source>Int. J. Semantic Web Inf. Syst</source>
          ,
          <volume>5</volume>
          (
          <issue>3</issue>
          ):1{
          <fpage>22</fpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Andrea</given-names>
            <surname>Cal</surname>
          </string-name>
          and
          <string-name>
            <given-names>Davide</given-names>
            <surname>Martinenghi</surname>
          </string-name>
          .
          <article-title>Querying data under access limitations</article-title>
          .
          <source>In Proc. of ICDE</source>
          , pages
          <volume>50</volume>
          {
          <fpage>59</fpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Andrea</given-names>
            <surname>Cal</surname>
          </string-name>
          and
          <string-name>
            <given-names>Davide</given-names>
            <surname>Martinenghi</surname>
          </string-name>
          .
          <article-title>Querying the deep web</article-title>
          .
          <source>In Proc. of EDBT</source>
          <year>2010</year>
          , pages
          <fpage>724</fpage>
          {
          <fpage>727</fpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Andrea</given-names>
            <surname>Cal</surname>
          </string-name>
          , Davide Martinenghi, and
          <string-name>
            <given-names>Riccardo</given-names>
            <surname>Torlone</surname>
          </string-name>
          .
          <article-title>Keyword queries over the deep web</article-title>
          .
          <source>In Proc. of ER</source>
          <year>2016</year>
          , pages
          <fpage>260</fpage>
          {
          <fpage>268</fpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Kevin</given-names>
            <surname>Chen-Chuan</surname>
          </string-name>
          <string-name>
            <surname>Chang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Bin</given-names>
            <surname>He</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and Zhen</given-names>
            <surname>Zhang</surname>
          </string-name>
          .
          <article-title>Toward large scale integration: Building a metaquerier over databases on the web</article-title>
          .
          <source>In Proc. of CIDR</source>
          , pages
          <volume>44</volume>
          {
          <fpage>55</fpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Roy</surname>
            <given-names>T</given-names>
          </string-name>
          . Fielding and
          <string-name>
            <given-names>Richard N.</given-names>
            <surname>Taylor</surname>
          </string-name>
          .
          <article-title>Principled Design of the Modern Web Architecture</article-title>
          .
          <source>ACM Transactions on Internet Technology</source>
          ,
          <volume>2</volume>
          (
          <issue>2</issue>
          ):
          <volume>115</volume>
          {
          <fpage>150</fpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Govind</given-names>
            <surname>Kabra</surname>
          </string-name>
          , Zhen Zhang, and
          <string-name>
            <surname>Kevin</surname>
            <given-names>Chen-Chuan</given-names>
          </string-name>
          <string-name>
            <surname>Chang</surname>
          </string-name>
          .
          <article-title>Dewex: An exploration facility for enabling the deep web integration</article-title>
          .
          <source>In Proc. of ICDE</source>
          , pages
          <volume>1511</volume>
          {
          <fpage>1512</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Jayant</given-names>
            <surname>Madhavan</surname>
          </string-name>
          , Loredana Afanasiev, Lyublena Antova, and
          <string-name>
            <surname>Alon</surname>
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Halevy</surname>
          </string-name>
          .
          <article-title>Harnessing the deep web: Present and future</article-title>
          .
          <source>In Proc. of CIDR</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Jorge</surname>
            <given-names>Perez</given-names>
          </string-name>
          , Marcelo Arenas, and
          <string-name>
            <given-names>Claudio</given-names>
            <surname>Gutierrez</surname>
          </string-name>
          .
          <article-title>Semantics and complexity of SPARQL</article-title>
          .
          <source>ACM Trans. on Database Systems</source>
          ,
          <volume>34</volume>
          (
          <issue>3</issue>
          ):
          <volume>16</volume>
          :1{
          <fpage>16</fpage>
          :
          <fpage>45</fpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Ahmet</surname>
            <given-names>Soylu</given-names>
          </string-name>
          , Felix Modritscher, Fridolin Wild, Patrick De Causmaecker, and
          <string-name>
            <given-names>Piet</given-names>
            <surname>Desmet</surname>
          </string-name>
          .
          <article-title>Mashups by orchestration and widgetbased personal environments: Key challenges, solution strategies, and an application</article-title>
          .
          <source>Program</source>
          ,
          <volume>46</volume>
          (
          <issue>4</issue>
          ):
          <volume>383</volume>
          {
          <fpage>428</fpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>