<!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>
      <journal-title-group>
        <journal-title>April</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Querying the Web of Interlinked Datasets using VOID Descriptions</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ziya Akar</string-name>
          <email>ziya.seagent@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Tayfun Gökmen Halaç</string-name>
          <email>tayfunhalac@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Oguz Dikenelli</string-name>
          <email>oguz.dikenelli@ege.edu.tr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Erdem Eser Ekinci</string-name>
          <email>erdemeserekinci@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer, Engineering, Ege University</institution>
          ,
          <addr-line>35100 Bornova, Izmir</addr-line>
          ,
          <country country="TR">Turkey</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2012</year>
      </pub-date>
      <volume>16</volume>
      <issue>2012</issue>
      <abstract>
        <p>Query processing is an important way of accessing data on the Semantic Web. Today, the Semantic Web is characterized as a web of interlinked datasets, and thus querying the web can be seen as dataset integration on the web. Also, this dataset integration must be transparent from the data consumer as if she is querying the whole web. To decide which datasets should be selected and integrated for a query, one requires a metadata of the web of data. In this paper, to enable this transparency, we introduce a federated query engine called WoDQA (Web of Data Query Analyzer) which discovers datasets relevant with a query in an automated manner using VOID documents as metadata. WoDQA focuses on powerful dataset elimination by analyzing query structure with respect to the metadata of datasets. Dataset and linkset descriptions in VOID documents are analyzed for a SPARQL query and a federated query is constructed. By means of linkset concept of VOID, links between datasets are incorporated into selection of federated data sources. Current version of WoDQA is available as a SPARQL endpoint.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>
        While the web is evolving through a structured data space,
many applications are publishing and linking their data, and
the cloud of this linked and open data will be gigantic as
times go. In this interlinked and structured data space,
query execution becomes one of the most important research
problems and di erent query execution approaches and tools
have been proposed in the literature [
        <xref ref-type="bibr" rid="ref11 ref7">11, 7</xref>
        ]. The query
execution on the web of data is basically depends on searching
for resources that satisfy our needs, but we need to discover
which parts of linked open data cloud may have such
resources. To make this discovery e ectively, which resources
and vocabularies reside in a dataset and which datasets are
interlinked to others via interested links should be taken into
account. If dataset publishers provide such information by
describing metadata of their datasets, relevant datasets can
be selected e ectively in an automated manner. To enable
this automation, Vocabulary of Interlinked Datasets (VOID)
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] is published as W3C Semantic Web Interest Group note1.
VOID is an RDF vocabulary and is used to describe
metadata of RDF datasets, in a sense, metadata of the web of
data. Linked open data cloud is represented as a graph of
datasets in which datasets are represented as nodes and sets
of links between datasets are represented as edges. Since
VOID bases on graph based soul of web of data, it provides
a strong way of describing metadata that allows to discover
datasets which queries are distributed over.
      </p>
      <p>In this paper, we present a federated query engine called
WoDQA (Web of Data Query Analyzer) which is developed
to execute a query on distributed datasets without missing
answers using VOID metadata of datasets in linked open
data cloud. WoDQA focuses on e ective dataset selection
for a query and analyzes query structure to eliminate
irrelevant datasets. Relevant datasets are selected by analyzing
VOID documents and considering which dataset includes a
resource related with the query and which links between
datasets allow to nd a result to the query. VOID
metadata provides dataset descriptions representing content of
a dataset and linkset descriptions representing relationships
between datasets which are used by WoDQA for e ective
dataset selection.</p>
      <p>
        There are two main approaches which enable automated
query processing on the web of data and prevent data
consumers from searching for relevant datasets. The rst
approach called follow-your-nose (link traversal) [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] is based
on following links between data to discover potentially
relevant data, and the second one is query federation [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] which
is based on dividing a query into sub-queries and
distributing sub-queries to relevant datasets which are selected using
metadata about datasets.
      </p>
      <p>
        Follow-your-nose approach conceptualizes the web as a
graph of documents which contains dereferenceable URIs.
This approach is based on executing queries on relevant
documents which are retrieved by following links between
resources in di erent documents. But, this method raises
completeness and performance issues. Although some
heuristic query planning methods can be used to answer di erent
kinds of queries [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], this approach cannot guarantee
nding all results because relevant documents vary according
to the starting point and the path. Also, although
followyour-nose requires nothing other than linked data principles
to process a query, another disadvantage is that
encountering large documents causes retrieval problems. The other
approach, query federation, has raised from database
literature, and is composed of two main steps before
performing a query. Firstly, query is divided into sub-queries and
datasets relevant with sub-queries are selected using some
metadata which re ects dataset content. Then, the query
evaluation plan is changed using statistics about datasets
in the query optimization step. For the purpose of
executing sub-queries on distributed data sources, query
federation requires accessing datasets via SPARQL endpoints.
Contrary to follow-your-nose approach, in this approach, all
results can be found under the assumption of metadata of
all datasets is complete and accurate, and queries can be
optimized before execution by estimating execution using
dataset metadata. To nd all results in an e ective way,
query federation determines relevant datasets before
execution using well-de ned dataset metadata such as VOID
documents.
      </p>
      <p>In the light of these ideas, WoDQA executes queries by
analyzing VOID documents which constitute a projection of
the web of data and incorporates follow-your-nose approach
into query federation by considering links between datasets
in metadata. WoDQA does not change the evaluation order
of a query because the main focus of this initial version of
WoDQA is only eliminating much more irrelevant datasets
in dataset selection without query optimization. Current
RDF federation implementations select relevant datasets by
considering only predicate and type indexes. Since
vocabularies in the Semantic Web should be common, there can
be a lot of datasets which use a speci c property or class.
Therefore, using such indexes causes selection of redundant
datasets. The main contribution of WoDQA is incorporating
both links between data through linkset concept and
relationships between triple patterns of a query into dataset
selection to eliminate irrelevant datasets e ectively. We serve
WoDQA as a SPARQL endpoint and a simple web form2
to execute raw queries by analyzing datasets in the VOID
stores.</p>
      <p>Remaining sections are organized as follows. In Section 2,
related work is discussed. Section 3 introduces general
architecture of WoDQA and details dataset selection approach.
In Section 4, usage of WoDQA is shown with a working
example. Finally, Section 5 concludes the paper.</p>
    </sec>
    <sec id="sec-2">
      <title>RELATED WORK</title>
      <p>
        The Semantic Web querying approaches can be classi ed
as centralized and distributed. Centralized querying is based
on collecting linked data into a single central data store, and
querying the data from this store. This approach includes
data warehousing which collects pre-selected data sources
and search engines which crawl the Web by following RDF
links and index discovered data [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. But, the main
disadvantage of this approach is that queried data is not live, i.e.
duplicate of original sources. On the other hand, search
engines cannot crawl all the web and cannot answer complete
structured queries.
2The simple web form and up-to-date endpoint address can
be found on http://seagent.ege.edu.tr/etmen/wodqa.html
page.
      </p>
      <p>
        On the other hand, distributed querying depends on
processing query parts directly on original data and managing
results retrieved from distributed data. Query federation
[
        <xref ref-type="bibr" rid="ref7 ref9">9, 7</xref>
        ] and follow-your-nose [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] are mainstream distributed
querying approaches. DARQ [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], FedX [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] and
SPLENDID [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] are the example implementations of the query
federation approach. DARQ distributes a query using dataset
metadata called Service Descriptions3 which are constructed
manually by query developer, and bene ts from triple and
entity counts and selectivity estimates to optimize the query
plan. Since DARQ uses predicates to select relevant datasets,
the success of the query execution depends on associating
datasets with predicates, and triple patterns which have
unbound predicates cannot be handled4. On the other hand,
FedX is an extended version of Federation SAIL provided
by AliBaba5. Datasets which will be queried are given to
FedX, and it checks each triple pattern existence on each
dataset by ASK queries to decide about which triple
pattern will be queried on which datasets [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. These two query
federation implementations also stand up to self-descriptive
nature of linked data since metadata of datasets should be
described by data publishers as is in describing and
linking their data. The last query federation implementation is
SPLENDID which indexes dataset using VOID descriptions,
eliminates datasets by ASK queries for triple patterns, and
bene ts from statistical data in VOID to optimize federated
queries.
      </p>
      <p>Although aforementioned query federation
implementations aim to query linked datasets, they do not consider links
between data for dataset selection. For this reason, there
are some shortcomings of these implementations from
querying web of data perspective. The rst one is that deciding
datasets via only predicate indexes causes inability to select
datasets e ectively for triple patterns which have unbounded
predicates or have so general predicates such as owl:sameAs
and foaf:page that are extensively used in datasets6. The
second shortcoming is that so many datasets may be selected
for triple patterns, and executing ASK queries in such a case
increases the cost notably. One need to take the structure of
the query into account to eliminate right irrelevant datasets
in the web of data context.</p>
      <p>
        The second distributed querying approach is
follow-yournose [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] whose basic idea is traversing RDF links between
data to discover relevant datasets. There is no need to any
prior metadata about datasets in advance as in query
federation, but it needs initial URIs in some triple patterns to
start exploring datasets. The main disadvantages of this
approach are in nite link discovery, trying to retrieve large
RDF graphs, failing to discover relevant data for queries
with only bound predicates (?s foaf:friend ?o) or type
statements (?s rdf:type foaf:Person). These restrictions cause less
comprehensive result sets. One of well-known
follow-yournose implementations is SQUIN [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] that traverse RDF links
on the y, i.e. during query execution. Hartig et al. improve
this work using some heuristic methods that modify query
3Service Description introduced in that paper contains
information about triples in the dataset, limitations on access
patterns, and statistical information about dataset.
4http://darq.sourceforge.net/#Limitations and known issues
5http://www.openrdf.org/doc/alibaba/2.0-beta6/alibabasail-federation/
6SPLENDID also uses type indexes, but it is still not enough
since vocabularies can be used frequently.
evaluation order to reduce execution cost and to provide
more comprehensive results [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], but the results strictly
depend on the starting point and the evaluation order. On the
other hand, Bouquet et al. formalize the web of data and
suggest three di erent querying methods exploiting their
web of data formalization [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. These methods based on
merging relevant graphs to execute queries on them. One of
these methods uses follow-your-nose approach which
species and merges relevant graphs by looking up URIs before
query execution.
      </p>
      <p>WoDQA aims to query the web of interlinked datasets
using VOID dataset and linkset descriptions to decide relevant
datasets for a query. At rst, it assumes that all datasets
are relevant with a query, then irrelevant datasets are
eliminated by analyzing query structure in the light of
metadata of datasets. Its novelty is considering query structure
and links between datasets to select relevant datasets
before query execution, and thus it incorporates
follow-yournose approach into the query federation. To the best of
our knowledge, WoDQA is the rst query engine which uses
datasets and linksets together that are critical elements of
VOID to describe dataset metadata.</p>
    </sec>
    <sec id="sec-3">
      <title>WODQA INTERNAL ARCHITECTURE</title>
      <p>In this section, query processing architecture of WoDQA
is explained in detail. Since it is impractical to perform a
query on all published datasets on the web, WoDQA aims
to transform a query into a federated query which is
evaluated only on relevant datasets. In this direction, to process a
query on the linked data cloud, WoDQA contains three main
modules as seen in Figure 3.1: DatasetAnalyzer,
QueryReorganizer and Jena ARQ 7.</p>
      <p>Dataset publishers construct the VOID documents of their
datasets and the Semantic Web programmers can access
these documents through services called VOID store such
as voiD Browser8, CKAN9 and voiDStore10. A VOID store
generates a projection of Linked Open Data, and thus this
structure obliges dataset publishers to create well-de ned
VOID document which re ects actual content of the dataset
to enable including the dataset in relevant queries.
DatasetAnalyzer is the module which is responsible for
discovering relevant datasets and eliminating irrelevant ones using
VOID documents of datasets in the VOID stores. We
assume that dataset publishers update the description
documents in the VOID stores to make VOID stores
up-todate for dataset selection when datasets are changed. In the
current version of WoDQA, DatasetAnalyzer discovers the
VOID documents from the CKAN net, and analyzes dataset
and linkset descriptions for each triple pattern in the query.
This analysis eliminates irrelevant datasets which de nitely
do not contain any result contributing to the result of the
query by assuming that accurate and complete VOID
documents of datasets are available. Dataset analysis is achieved
by a rule-based approach. We explain the rules which
discovers relevant datasets Subsection 3.1.</p>
      <p>The second module is QueryReorganizer which rewrites
queries depending on results of DatasetAnalyzer. This
rewriting process constructs federated SPARQL queries including
7http://jena.sourceforge.net/ARQ/
8http://kwijibo.talis.com/voiD/
9http://ckan.net/
10http://void.rkbexplorer.com/
SERVICE expressions11. Details of QueryReorganizer are
given in Subsection 3.2.</p>
      <p>The last module is query executor which directly uses Jena
ARQ to execute SPARQL queries including the SERVICE
expressions inserted by the QueryReorganizer. The
federated query constructed by QueryReorganizer is passed to
ARQ to be executed. Results of query execution are
returned to the querior. In the following subsections, the rst
two modules which implement WoDQA analysis and
reorganization phases are explained.
3.1</p>
    </sec>
    <sec id="sec-4">
      <title>Dataset Analyzer</title>
      <p>This section introduces the details of the
DatasetAnalyzer module which is the core and the innovative part of
the current version of WoDQA. Unlike other query
federation approaches, WoDQA considers triple pattern relations
and links between datasets while selecting datasets. Thanks
to dataset analysis of WoDQA, relevant datasets are
specied while plenty of irrelevant ones are excluded. Output of
dataset analysis is a subset of all published datasets on the
web of data, and thus the query is performed only on this
subset including related ones. For the purpose of explaining
how this subset is constructed, we give a formalization in
this section.</p>
      <p>
        We rstly give a de nition of the web of data to formalize
our dataset selection approach. In summary, the web of data
is an RDF graph which is constructed by typed links between
data from di erent sources. Basically an RDF graph (G) is
formally represented as a set of triples in the form of hs; p; oi:
G = fhs; p; oi j hs; p; oi2 (I [ B) I (I [ B [ L)g where I
is the set of IRIs[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], B is the set of blank nodes, L is the
set of literals, and all are RDF terms T = I [ B [ L . In
this direction, web of data is the global graph (Gwod) which
consists of the triples constructed from IRIs, blank nodes
and literals on the web. Gwod is a model of mathematical
RDF construct for the web of data.
      </p>
      <p>
        From another perspective, the web of data means web
of interlinked datasets [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. A dataset ( ) is a meaningful
set of RDF triples [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] which decreases granularity of the
web. Rather than publishing information only as single
resources and connecting these resources, datasets are the way
of publishing information as sub-graphs of Gwod. These
subgraphs, i.e. datasets, are connected via RDF triples which
connect resources in di erent datasets [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. The publishers
create their resources and deploy them into the datasets on
the web, and consumers use these resources while creating
their datasets. With regard to this, to formalize a dataset,
we use subj (G) which represents the set of resources which
11http://www.w3.org/TR/sparql11-federated-query/
are the subjects of triples in a graph.
      </p>
      <p>De nition 1. A dataset is a sub-graph of web of data,
x Gwod, and the resources which are included by x are
speci ed as follows: 8r; i (r 2 subj ( x) ! Owner ( x; r)).</p>
      <p>VOID describes a dataset with well-de ned properties12,
and we formalize a VOID dataset description as a tuple
hLspace; Ivoci 2 L I. The rst dataset property Lspace
corresponding to void:uriSpace set which contains string
literals that all entity IRIs in a dataset start with. The other
one is Ivoc corresponding to void:vocabulary which denotes
the set of vocabularies used by the dataset13.</p>
      <p>The triples whose object is a resource in another dataset
make the web of data a graph of interlinked datasets. We
call such triples link triples, and de ne the set of link triples
as LT = f(s; p; o) jowner (s) 6= owner (o)g where s; o 2 I.
This de nition leads us to de ne link predicate (plink)
concept which corresponds to void:linkPredicate used to de ne
a linkset which is an important contribution of VOID
effort. Set of link predicates Plink includes all the predicates
which are used in a link triple: Plink = fplinkj9 s; plink; o 2
LT g. A linkset represents link triples which connect
resources in di erent datasets using the same link predicate.
We formalize the linkset, , as a tuple D from; to; plinkE
2</p>
      <p>Plink where is the set of all datasets on the web.
In this de nition, from is the referrer dataset which is the
owner of subject of link triples in the linkset, to is the
referenced dataset which is the owner of object of link triples in
the linkset, and plink is the link predicate of all link triples
in the linkset.</p>
      <p>DatasetAnalyzer uses both dataset and linkset
descriptions of VOID metadata to select the relevant datasets, in
other words sub-graphs, which may contain the results of
the query. By this means, the query is transformed into a
federated query and executed on the relevant datasets on
the web. Accordingly, we exclude the datasets which do not
contain any result for the query while querying the global
graph, Gwod. Beside analyzing relationships between VOID
descriptions (datasets, linksets) and triple pattern,
relationships between triple patterns in a query are considered. For
this reason, we need to give a formal de nition of SPARQL
queries.</p>
      <p>
        We consider a subset of SPARQL queries which
corresponds to a basic graph pattern for formalization [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. A
basic graph pattern consists of triple patterns, BGP = ftpij
hstpi ; ptpi ; otpi i 2 (I [ V) (I [ V) (I [ L [ V)g. A triple
pattern is slightly di erent from RDF triple since it contains
at least one and at most three variables that are elements
of in nite set V14. While performing a query, its variables
are replaced by RDF terms. Thus, according to semantics
of SPARQL, a query result is a set of solution mappings,
f j : V ! T g, where a solution mapping, , is a partial
function from variables to RDF terms.
      </p>
      <p>To perform a query on the web of data, in the worst
case, each triple pattern has to be queried on all published
12DatasetAnalyzer of the current version of WoDQA
considers only these properties for the sake of simplicity. We plan
to integrate other properties such as statistics in the future
to make optimized queries.
13Note that schemas of the Semantic Web languages such as
RDFS and OWL are not speci ed in Ivoc.
14We exclude blank nodes in query.
datasets. Since this is impractical, our purpose is
eliminating irrelevant datasets for each triple pattern. By
elimination of irrelevant datasets, we construct a federated query
which distributes sub-queries to only relevant ones. In
order to eliminate irrelevant datasets, we introduce a set of
rules which discover the relevant datasets in dataset analysis,
called relevant dataset discovery rules. A relevant dataset
for a triple pattern is formalized as an assertion ( x; tpi)
which denotes that the dataset x may contain a result for
the triple pattern tpi. We need to discuss how relevant
dataset assertions ( ) inferred by discovery rules used for
eliminating irrelevant datasets. To explain the method of
eliminating irrelevant datasets, assume that Qtpi is the set
of datasets selected to be queried for tpi which we call
selected set, and this set initially contains all datasets on the
web, Qitnpiit (all datasets in a VOID store in our case).
Each rule analyzes datasets in Qtpi of each triple pattern.
After applying a rule, elements of Qtpi which the rule does
not infer relevant dataset assertion about are removed from
Qtpi . But, if the rule does not imply any relevant dataset
assertion, Qtpi remains the same. Irrelevant dataset
elimination method is formalized as Qtnpeiw below to denote such
an update of selected set subsequent to executing a rule.
Qtnpeiw =
9 a ( ( a; tpi)) ;
90 a ( ( a; tpi)) ;
f xj ( x 2 Qtpi ) ^ (tpi; x)g</p>
      <p>Qtpi</p>
      <p>In the following subsection we give relevant dataset
discovery rules in detail and we use some queries to exemplify
application of rules. Figure 3.2 shows VOID models of a set of
datasets which are used in these examples. This model
contains simpli ed VOID descriptions of ve datasets and the
linksets connecting these datasets by link predicates. Link
predicates are showed by arrows between dataset
descriptions which are represented with squares. Also we create a
sample dataset called Facebook which keeps the data about
Facebook users in our local store. This data is about that
movie resources located in LinkedMDB dataset are liked by
which users. Although there can be a lot of linksets, in
Figure 3.2, only a few linksets are taken into account to explain
our rules are depicted.
3.1.1</p>
      <sec id="sec-4-1">
        <title>Relevant Dataset Discovery Rules</title>
        <p>This subsection presents a set of rules each of which
represents an analysis method of the DatasetAnalyzer module to
discover relevant datasets e ectively. Each relevant dataset
discovery rule aims to analyze datasets from di erent
perspectives and combinations of them to infer relevant dataset
( ) assertions for triple patterns. These perspectives can
be classi ed into three groups. The rst one is analyzing
IRIs in the triple patterns. We call this perspective
IRIbased Analysis where namespaces of IRIs and vocabularies
in the VOID documents are considered to determine relevant
datasets. The second one is considering linked resources.
We call this perspective Linking Analysis which considers
whether a triple links two resources in the same dataset
(internal) or in di erent datasets (external) to eliminate
irrelevant datasets. The last perspective is Shared Variable
Analysis. Since triple patterns share some variables, each triple
pattern a ects relevant datasets of other triple patterns that
include same variables. Relevant dataset discovery rules of
all perspectives are introduced in this section.</p>
        <p>The rst two rules are under the IRI-based analysis
perspective each of which considers vocabularies Ivoc of VOID
metadata. The rst discovery rule checks whether IRIs in
triple patterns are RDFS (or OWL) classes or properties in
the vocabulary set (Ivoc) of VOID documents. To give the
rule, we de ne has Ivxoc; r function which represents that a
resource r 2 I (a property or a class IRI) is included by one
of the vocabularies in Ivxoc. Using has expression, relevance
of a dataset x to an IRI r is represented with V ocM atch as
shown in De nition 2.</p>
        <p>De nition 2. 8 x(has(Ivxoc; r) ! V ocM atch( x; r)) where
r 2 I</p>
        <p>For a triple pattern such as ?s dbpprop:name15 \Nikola
Tesla", dbpprop:name RDFS property in the predicate
position obliges that matching triple patterns can only be in
datasets which uses dbpprop vocabulary. Therefore, we can
eliminate datasets which do not use dbpprop vocabulary.
This situation is handled by Rule 1 which is similar to
predicate indexes.</p>
        <p>Rule 1. If there is a dataset in which one of its
vocabularies includes the predicate of a triple pattern, then it is
relevant for the triple pattern.
8tpi; x (V ocM atch ( x; ptpi ) !
( x; tpi))</p>
        <p>According to Figure 3.2, DBpedia uses dbpprop
vocabulary, and the rule decides that it is relevant for such a triple
pattern. In web of data, lots of datasets which uses dbpprop
vocabulary can be found, and they can be eliminated using
outputs of other discovery rules.</p>
        <p>To introduce Rule 2, consider another triple pattern,
?producer rdf:type linkedMDB:producer, which contains a type
de nition for the variable ?producer. In such cases, the
object of the triple pattern is a class de nition, it makes sense
to eliminate the datasets which do not use the vocabulary
of this class. Rule 2 resembling type indexes is used to
specify relevant datasets for such triple patterns. The example
triple pattern is queried from the datasets that use
linkedMDB vocabulary, i.e. LinkedMDB dataset for our example
model. Other datasets do not include a resource which is
an instance of linkedMDB:producer class, and therefore they
are eliminated by output of this rule.</p>
        <p>Rule 2. If there is a dataset in which one of its
vocabularies includes the object of a triple pattern when the
predicate of the triple pattern is rdf:type, then the dataset is
relevant for the triple pattern.
8tpi; x(V ocM atch( x; otpi ) ^ (ptpi = rdf:type) !
( x; tpi))
15All pre xes used in the paper are de ned in Table 1.</p>
        <p>Another perspective to discover relevant datasets is
Linking Analysis. Since a triple links two resources in the same
dataset or in di erent datasets, this perspective is separated
into two kinds of analyses, each of which considers di erent
kind of triples. The rst one is Internal Linking Analysis
which considers triples linking resources in the same dataset.
A relevant dataset found by this analysis is called internal
relevant dataset, and is represented with int ( x; tpi). On
the other hand, External Linking Analysis considers link
triples which connect resources in di erent datasets. In this
case, linkset descriptions of VOID documents are taken into
account to discover relevant datasets, and a dataset found
by this analysis is called external relevant dataset which is
represented as ext ( x; tpi). Internal and External
Linking analyses are both executed for a triple pattern in whole
Linking Analysis process, and then produced internal and
external relevant datasets for a triple pattern are uni ed as
relevant datasets for the triple pattern as shown in Rule 3.</p>
        <p>Rule 3. Union of external and internal datasets for a
triple pattern constitutes relevant datasets for the triple
pattern.
8 x; tpi
int ( x; tpi) _
ext ( x; tpi) !
( x; tpi)</p>
        <p>Irrelevant dataset elimination method considers relevant
datasets which are speci ed by Rule 3 to eliminate irrelevant
datasets from selected set of a triple pattern (Qtpi ).
Internal and external datasets are intermediate results to infer
relevant datasets in a Linking Analysis.</p>
        <p>The rst two rules under Linking Analysis perspective
are linking-to-IRI discovery rules. Consider the example
triple pattern, ? lm owl:sameAs dbpedia:A Fistful of Dollars,
which can be matched with a triple that links a resource to
dbpedia:A Fistful of Dollars resource. Triple patterns whose
object is an IRI are analyzed by these rules. Since
owners of the linked IRI must be known in these rules, we
give a de nition that depicts the owners of any resource
on the basis of IRI Analysis. We formalize inclusion of a
resource (r 2 I) by a dataset ( x) in De nition 3 by
using the urispaces (Lspsapcaec)e property of the VOID description
and startsW ith r; L x function which represents that r
space.
starts with one of the urispaces in L x</p>
        <p>De nition 3. 8 x(startsW ith(r; Lsxpace) ! Owner( x; r))
Rule 4 is linking-to-IRI internal discovery rule from the
internal linking point of view. According to the example query
? lm should be in the same dataset with dbpedia:A Fistful of
Dollars, i.e. owner of the dbpedia:A Fistful of Dollars resource.
Therefore appropriate triple patterns can be found in
DBpedia dataset.</p>
        <p>Rule 4. If there is a triple pattern whose object is an IRI,
then owner datasets of the IRI are internal relevant for the
triple pattern.
8tpi; x ( x 2 Qtpi ) ^ Owner ( x; otpi ) !
where otpi 2 I; stpi 2 V
int ( x; tpi)</p>
        <p>On the other hand, from the external linking point of
view, appropriate triples can be found in datasets which are
linked to the owner datasets of object IRI. For our
example triple pattern, ? lm should be in datasets which contain
link triples whose object resource is de ned in DBpedia. For
this analysis, linkset descriptions of VOID documents are
used. To discover relevant datasets for a triple pattern by
using linking-to-IRI external discovery rule, the triple
pattern should have a bound predicate. We de ne Compatible
expression in De nition 4 to represent that which linkset
description is appropriate to use for determining relevant
datasets for a triple pattern.</p>
        <p>De nition 4. If selected set of a triple pattern has the
referrer dataset of a linkset description and link predicate
of the linkset description is same with the triple pattern's
predicate, then the linkset description is compatible with
the triple pattern.
8 m; tpi(( fmrom 2 Qtpi ) ^ (plimnk = ptpi ) ! Compatible( m;
tpi))</p>
        <p>Considering ? lm owl:sameAs dbpedia:A Fistful of Dollars
triple pattern, and remembering the linkset description of
our example model in Figure 3.2, there are linksets from
LinkedMDB and YAGO datasets to DBpedia dataset whose
link predicates are owl:sameAs. Rule 5 which is under the
Linking Analysis perspective gives these two datasets as
external relevant datasets for this triple pattern. If a dataset
is not linked to DBpedia by owl:sameAs predicate then one
can conclude that this dataset is irrelevant with the triple
pattern.</p>
        <p>Rule 5. If there is a linkset description that is
compatible with the triple pattern and whose referenced dataset is an
owner dataset of the triple pattern's object, then the referrer
dataset of the linkset description is external relevant for the
triple pattern.
8tpi; m; x(Compatible( m; tpi) ^ Owner( x; otpi ) ^ ( x =
tom ) ! ext( fmrom; tpi)) where otpi 2 I; stpi 2 V
Recall that internal and external relevant datasets are
unied by Rule 3 after applying rules in Rule 4 and Rule 5.
Thus, the nal relevant datasets which are selected by the
linking-to-IRI rules are DBpedia, LinkedMDB and YAGO.</p>
        <p>Another couple of rules under the Linking Analysis
perspective are IRI-links-to rules. These rules are applied to
triple patterns whose subject is an IRI and object is a
variable to determine relevant datasets from internal and
external linking point of view. Rule 6 is IRI-links-to internal
discovery rule and it nds the triples that link resources in
the same dataset. One can conclude that if the subject of
a triple pattern is an IRI, then triples matching with this
triple pattern are in the owner dataset of this IRI.</p>
        <p>Rule 6. If a dataset is an owner of the subject of a triple
pattern, then this dataset is internal relevant dataset for the
triple pattern.
8tpi; x ( x 2 Qtpi ) ^ Owner( x; stpi ) !
otpi 2 V; stpi 2 I
int( x; tpi) where</p>
        <p>Consider the triple pattern dbpedia:Ennio Morricone owl:
sameAs ?person. Subject of this triple pattern is an IRI
whose namespace is dbpedia, and therefore an internal
relevant dataset is DBpedia whose VOID metadata contains
dbpedia as value of urispace property.</p>
        <p>Rule 7 is IRI-links-to external discovery rule and it nds
the triples that connect resources in di erent datasets.
According to this rule an owner dataset of the subject IRI of
the triple pattern is external relevant only when there is
a linkset de nition that includes owner dataset as referrer
dataset compatible with the triple pattern.</p>
        <p>Rule 7. If there is a linkset description that is
compatible with the triple pattern and whose referrer dataset is an
owner dataset of the triple pattern's subject, then the
referrer dataset of the linkset description is external relevant for
the triple pattern.
8tpi; m; x(Compatible( m; tpi) ^ Owner( x; stpi ) ^ ( x =
fmrom) ! ext( x; tpi)) where otpi 2 V; stpi 2 I</p>
        <p>According to the example, DBpedia is the owner dataset
of dbpedia:Ennio Morricone and also there is a linkset
description whose referrer dataset is DBpedia and whose link
predicate is owl:sameAs.</p>
        <p>Other discovery rules in Linking Analysis are combined
with Shared Variable Analysis. The rst discovery rule
which conforms to this combined analysis is Chaining Triple
Patterns Analysis. This rule considers two triple patterns
together to discover relevant datasets. This is a characteristic
of Shared Variables Analysis, since it depends on analyzing
more than one triple pattern that have same variable. Triple
patterns below are example of chaining triple patterns:
?s owl:sameAs ? lm.
? lm linkedMDB:producer name \Sergio Leone"</p>
        <p>Notice that the second triple pattern is used for querying
lms whose producer name is \Sergio Leone". Thus, the
second triple pattern a ects the relevant datasets of the rst
triple pattern. From internal linking point of view, the rst
triple pattern can be found in datasets which satisfy the
second triple pattern because ?s and ? lm should be in the same
dataset. In this direction, Internal Chaining Triple Pattern
Analysis formalized in Rule 8 is used to discover internal
relevant datasets for triple patterns.</p>
        <p>Rule 8. If there is a triple pattern whose object is same
with the subject of another triple pattern, then datasets
included by selected sets of both triple patterns are internal
relevant.
8 x; tpi; tpj ((otpi = stpj ) ^ ( x 2 Qtpi ) ^ ( x 2 Qtpj ) !
int( x; tpi) ^ int( x; tpj )) where otpi ; stpi 2 V</p>
        <p>To execute Chaining Triple Pattern Analysis, execution
order of rules becomes important. To exemplify this
situation according to Chaining Triple Patterns query, assume
that IRI-based analysis is applied before, and LinkedMDB
is the relevant dataset for the second triple pattern since
LinkedMDB VOID includes linkedMDB as the value of
vocabulary. Then, this rule can specify that the internal
relevant dataset for the rst triple pattern is LinkedMDB. It
is clearly seen from this example, Shared Variable Analysis
should be performed after the execution of IRI-based
Analysis rules to eliminate more datasets. Hence, in the
Subsection 3.1.2, we give an overview of analysis process which
speci es an execution order for these rules.</p>
        <p>After the IRI-based analysis, if we apply Rule 8 for the
example triple patterns, relevant datasets of the second triple
pattern is shown as Qtp2 = f LinkedMDB g, and of the rst
one is shown as Qtp1 . For this case, this rule asserts
that int( LinkedMDB ; tp1) and int ( LinkedMDB; tp2).</p>
        <p>On the other hand, External Chaining Triple Patterns
analysis uses linkset descriptions while considering two triple
patterns. While internal one can be used for all triple
patterns without considering the predicate, external rule is
applied for a triple pattern which has a link predicate. Rule 9
introduces this rule.</p>
        <p>Rule 9. If there is a triple pattern (tpi) whose object is
same with the subject of another one (tpj ), and there is a
linkset description which is compatible with (tpi) and its
referenced dataset is included by the selected set of tpj , then
referrer dataset is external relevant for tpi and referenced
dataset is external relevant for tpj .
8 m; tpi; tpj ((otpi = stpj ) ^ Compatible( m; tpi) ^ ( tom 2
Qtpj ) ! ext( fmrom; tpi) ^ ext( tom ; tpj )) where otpi 2 V</p>
        <p>With respect to the example of chaining triple patterns,
assume that selected set for the rst triple pattern is Qtp1
, and for the second one is Qtp2 = f LinkedMDBg. Rule
9 determines that DBpedia is external relevant for tp1 since
resources ? lm can be found in LinkedMDB and there is a
linkset between these two datasets with owl:sameAs
predicate. It is clear that no other dataset can contain an
appropriate triple if it is not linked to LinkedMDB by owl:sameAs.
At the end of Chaining Triple Pattern Analysis, internal and
external relevant datasets speci ed by Rule 8 and 9 are
unied according to Rule 3.</p>
        <p>Another analysis which uses both Linking Analysis and
Shared Variable Analysis is Object Sharing Triple Patterns
Analysis. For triple patterns which have the same object
variable, only the datasets can include triples which satisfy
the object variable of both triple patterns. To simplify the
explanation, we use the following example for Object
Sharing Triple Pattern Analysis below:
?person facebook:likes ?movie.
? lm owl:sameAs ?movie.</p>
        <p>From internal linking point of view, ?person and ? lm
should be in the same dataset with ?movie. Rule 10
species the internal relevant datasets for triple patterns which
have the same object. Assume that Qtp1 = f F acebookg
due to value of vocabulary property of Facebook VOID and
Qtp2 . This rule determines that only F acebook can
contain internal triples that satisfy triple patterns together.</p>
        <p>Rule 10. If there is a triple pattern whose object is same
with the object of another one, then the datasets included by
selected sets of both triple patterns are internal relevant.
8 x; tpi; tpj ((otpi = otpj ) ^ ( x 2 Qtpi ) ^ ( x 2 Qtpj ) !
int( x; tpi) ^ int( x; tpj )) where otpi 2 V</p>
        <p>To execute Object Sharing Analysis from external point
of view, we bene t from the linkset descriptions. To nd
appropriate link triples, ?person and ? lm should be in di erent
datasets. Rule 11 determines external relevant dataset for
triple patterns which have the same object. This rule
considers two linkset descriptions together for two triple patterns.</p>
        <p>Rule 11. If two triple patterns have the same object, and
there are two linkset descriptions which have the same
referenced dataset each of which is compatible with one of the
triple patterns, then referrer datasets of the linkset
descriptions are external relevant for the triple patterns.
patible( n; tpj )^( tom = ton ) !
tpj )) where otpi 2 V
8 m; n; tpi; tpj ((otpi = otpj )^Compatible( m; tpi)^Com
ext( from; tpi)^ ext( from;
m n</p>
        <p>For the example of Object Sharing Triple Pattern
Analysis, assume that no rule is applied before this analysis
and selected sets are Qtp1 and Qtp2 . In
Figure 5, DBpedia, Y AGO, and LinkedMDB have link triples
with predicate owl:sameAs. But, only F acebook has a linkset
to LinkedMDB with predicate facebook:likes, and therefore
Qtnpe1w = f F acebookg. In this case, tp2 can only be queried
on the datasets which is linked to LinkedMDB with
predicate owl:sameAs, and thus Qtnpe2w = f DBpediag. Other triples
whose subject corresponding to ? lm in other datasets
according to tp2 cannot include objects that satisfy object of
tp1. As done in other Linking Analysis methods, internal
and external relevant datasets which are inferred by Rule 10
and Rule 11 are uni ed according to Rule 3.</p>
        <p>The last analysis from the Shared Variable Analysis
perspective considers the triple patterns which have the same
subject called Subject Sharing Triple Patterns Analysis. This
rule does not use Linking Analysis perspective, and thus it
does not contain Internal and External Linking Analysis.
Consider the following example triple patterns for Subject
Sharing Triple Pattern Analysis:
?city dbpprop:name \Izmir" .
?city dc:terms ?subject.</p>
        <p>According to our dataset de nition, triples which have the
same subject are included by the same dataset. Based on
this, Rule 12 infers datasets which are relevant for triple
patterns by taking the intersection of selected sets into account.</p>
        <p>Assume that selected sets for triple patterns are Qtp1 =
f DBpediag and Qtp2 . According to the rule, the
nal datasets according to this rule are Qtnpe1w Qtnpe2w =
f DBpediag.</p>
        <p>Rule 12. If there is a triple pattern whose subject is same
with the subject of another triple pattern, then the datasets
included by selected sets of both triple patterns are relevant.
8 x; tpi; tpj ((stpi = stpj )^( x 2 (Qtpi \Qtpj )) !
( x; tpj )) where stpi 2 V
( x; tpi)^</p>
        <p>Up to this point, we have given the relevant dataset
discovery rules which are used to determine relevant datasets
from di erent perspectives. These rules are executed
together for a query to make a complete analysis. Next section
introduces the analysis process which speci es the execution
order for rules.
3.1.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>Analysis Process</title>
        <p>The rules introduced above should be executed together
to provide e ective dataset selection. In this section,
execution of rules are explained in the process of
DatasetAnalyzer which is shown Figure 3.3. In the gure, QBGP =
fQtpi jtpi 2 BGP g is the set of selected sets of all triple
patinit
terns in a query. We use QBGP to represent the initial state
where selected set of each triple pattern contains the whole
web of data, 8Qtpi 2 QiBnGitP (Qtpi ). This set is the
input of the single step analysis, and selected sets in this set are
constrained by execution of the rules includes the IRI-based
analyses. Single step analysis includes vocabulary match,
linking-to-IRI and IRI-links-to rules which are executed only
once. The reason is that the rules based on IRI-based
analysis produce the same result for every execution because they
do not depend on current Qtpi . Although the rules in
single step analysis do not have a speci c order, using output
of each rule in dataset elimination method reduces current
datasets set of the triple patterns. Then, QcBoGnPstrained is
given to the repetitive analysis phase.</p>
        <p>On the other hand, rules based on Shared Variable
Analysis take more than one triple pattern into consideration.
Since di erent combinations of triple patterns a ect the
selected sets of each other, these rules depend on current
selected sets of triple patterns to discover the datasets
relevant to the triple patterns. For this reason, they are
executed repetitively until no dataset is eliminated from any
new
Qtpi . The repetitive analysis phase produces QBGP by
executing Shared Variable Analysis rules. After the phase is
new
completed once, if an elimination has been done, QBGP is
constrained, and the phase is
given to repetitive analysis as QBGP
repeated. On the other hand, when the rules do not change
any selected set, i.e. QnBeGwP QcBoGnPstrained, the analysis is
nished and the result is produced as QfBiGnPal.
3.2</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Query Reorganizer</title>
      <p>The QueryReorganizer module is responsible for
rewriting a query using nal selected set of each triple pattern</p>
      <p>QfBiGnPal decided by the DatasetAnalyzer. While rewriting
a federated query, Query Reorganizer conforms to SPARQL
1.1 federation extension16.</p>
      <p>While the initial query is a set of triple patterns,
QueryReorganizer divides the query into sub-queries and makes it a
set of service graph patterns each of which is represented
with a tuple sgp = hSrv ; SubT p i. A service graph
pattern consists of a Srv set which includes datasets17 to send
the sub-query, and a SubT p set which is the subset of the
triple patterns of the initial query, i.e. a sub-query.
Performing a service graph pattern is unifying the results of the
sub-query in each dataset in Srv .</p>
      <p>Triple patterns which have the same selected set (Qtpi )
are added to the same service graph pattern to decrease
networking cost. But, only consecutive triple patterns can be
in the same sub-query because WoDQA does not change the
evaluation order of the query. In this direction, elements of
SubT p sets of service graph patterns are found by Algorithm
1.</p>
      <p>Datasets of a sub-query is formalized as Srv = f xj
x 2 Qtpi ; tpi 2 SubT p g, and service endpoint URLs are
procured from VOID documents of the datasets. The output
of the Query Reorganizer is shown as ReorganizedBGP =
hsgp1; : : : ; sgpmi where 1 m n and n is the number of
triple patterns of the initial query. ReorganizedBGP
repre16http://www.w3.org/TR/sparql11-federated-query/
17In the implementation, SPARQL endpoints of datasets are
used in SERVICE expressions.</p>
      <p>Algorithm 1 This algorithm divides query into sub-triples
FUNCTION DivideT riples()
INPUT bgp = ftp1; : : : ; tpng including n triple patterns;
LET i := 1; := 1;
LET SubT riples := ftpig;
WHILE i &lt; n DO</p>
      <p>ELSE
IF Qtpi+1 = Qtpi THEN</p>
      <p>LET SubT riples := SubT riples [ ftpi+1g;
LET SubT riples +1 := ftpi+1g;</p>
      <p>LET := + 1;</p>
      <p>LET i := i + 1;
sents the federated form of the initial query which contains
ordered service graph patterns. WoDQA executes the
reorganized query using Jena ARQ query engine.</p>
      <p>
        Besides grouping triple patterns, although WoDQA does
not include query optimization phase of query federation
approach, only moving up FILTER expression[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] optimization
technique is used. Thus intermediate results are ltered as
early as possible. Furthermore, WoDQA supports queries
include UNION and OPTIONAL keywords but queries
include GRAPH keyword and blank nodes are not supported.
4.
      </p>
    </sec>
    <sec id="sec-6">
      <title>USAGE SCENARIO</title>
      <p>There are two ways for users to bene t from WoDQA.
The rst one is the SPARQL endpoint of WoDQA18 which
can be used to redirect raw queries. One can construct a
SPARQL query with a SERVICE block including the raw
query, and use WoDQA SPARQL endpoint as the remote
service. When this query is executed, the WoDQA endpoint
is invoked, and this endpoint transforms the query into a
federated form by means WoDQA and executes this
federated query on the relevant dataset transparently to the user.</p>
      <p>The other way is using the web form of the WoDQA19.
In this section, a sample query execution on the web form
of WoDQA is explained. Reorganized form of the query,
results of select and construct queries and execution time
can be observed in this form.</p>
      <p>The example query seen in the WoDQA web form in
Figure 4.1 searches for an answer to \Which facebook users like
movies which are produced by a German producer?". This
query is represented as BGP = htp1; : : : ; tp5i where
tp1 = h?faceUser,facebook:likes,?moviei,
tp2 = h?movie,linkedMDB:producer,?produceri,
tp3 = h?dbProducer,owl:sameAs,?produceri ,
tp4 = h?anyMovie, dbpo:producer, ?dbProduceri,
tp5 = h?dbProducer, dbpo:birthPlace, dbpedia:Germanyi.</p>
      <p>We explain how relevant datasets are found according
to the WoDQA Analysis process introduced in Figure 3.3.
Initially, single step analysis phase is performed for this
query. Selected sets of tp1 and tp2 are eliminated via
output of predicate vocabulary match, and in the consequence
of single step analysis they are Qtp1 = f F acebookg and
Qtp2 = f LinkedMDBg. No relevant dataset is found for tp3
in the single step analysis, because owl:sameAs is a generic
18Up-to-date WoDQA SPARQL endpoint address can
be found on http://seagent.ege.edu.tr/etmen/wodqa.html
page.
19http://seagent.ege.edu.tr/etmen/wodqa.html
property and owl is not de ned as vocabulary property in
VOIDs. Thus, Qtp3 still includes all datasets ( ). Predicate
vocabulary match discovers relevant datasets for tp4 and tp5,
and their selected sets are Qtp4 = Qtp5 = f DBpediag.</p>
      <p>After the single step analysis is applied to all triple
patterns, the repetitive analysis phase is performed, and
selected set of tp3 is eliminated in this phase. Subject Sharing
Triple Patterns Analysis discovers relevant datasets for tp3
since tp3 and tp5 have the same subject variable, and thus
its selected set becomes Qtp3 = f DBpediag.</p>
      <p>The reorganized query shown in Figure 4.1 is rendered
with these analysis results by QueryReorganizer and
formalized as ReorganizedBGP = hsgp1; sgp2; sgp3i where
sgp1 = hf F acebookg ; ftp1gi,
sgp2 = hf LinkedMDBg ; ftp2gi,
sgp3 = hf DBpediag ; ftp3; tp4; tp5gi.</p>
      <p>After the reorganizing process, the triple patterns in the
service graph patterns are executed on related endpoints by
means of Jena ARQ, and query results are incrementally
collected. In conclusion, results related with the query are
listed at the bottom of the web form page as seen in Figure
4.1.</p>
    </sec>
    <sec id="sec-7">
      <title>CONCLUSION</title>
      <p>In this paper, we have introduced a query federation
engine called WoDQA that discovers related datasets in a VOID
store for a query and distributes the query over these datasets.
The novelty of our approach is exhaustive dataset selection
mechanism which includes analysis of triple pattern relations
and links between datasets besides analyzing datasets for
each triple pattern. WoDQA focuses on discovering relevant
datasets and eliminating irrelevant ones using a rule-based
approach introduced in this paper. Our approach requires
VOID descriptions which include a SPARQL endpoint to
query the dataset, re ect actual content of the dataset
completely and accurately, and include linksets between datasets
to select datasets e ectively. WoDQA allows users to
construct raw queries without the need to know how query will
divide into sub-queries and where sub-queries are executed.
Query results are complete under the assumption of
available, accurate and complete VOID descriptions of datasets.</p>
      <p>The initial version of WoDQA which is introduced in this
paper has some disadvantages arising from query federation
approach which WoDQA builds upon. As mentioned
previously, follow-your-nose has some problems such as missing
results and large document retrieval. Similar problems may
occur for query federation. Firstly, to nd complete results
to queries, it is required that metadata of all datasets must
be well-de ned and accurate. But, to provide such an
accurate dataset metadata an automated mechanism which
continuously updates the metadata is required. However,
even there would be a tool which implements this
requirement, providing accurate dataset metadata via such a tool
is the responsibility of dataset publishers.</p>
      <p>Another problems of query federation are high latency
and low selectivity of datasets which are similar to retrieval
of large documents in follow-your-nose. Query optimization
can be a solution for these problems of query federation.
Grouping triple patterns to lter more triples on an
endpoint can prevent high latency (required processing time)
and changing query evaluation order according to dataset
selectivity statistics can prevent retrieving large result sets.
To make WoDQA functioning in the wild, optimization step
of query federation is required to be implemented. We plan
to incorporate triple pattern selectivity into query
reorganization using VOID properties about statistics.</p>
      <p>On the other hand, we could not make an evaluation of our
approach in this paper, since VOID documents in current
VOID stores are not well-de ned. Since SPARQL endpoint
de nitions, linkset descriptions or vocabularies are missing
in most of VOID documents, we could not nd a chance to
execute comprehensive scenarios. Developing a tool which
extracts well-de ned VOID descriptions of datasets, and by
this means evaluating our approach is a required future work
to con rm applicability of WoDQA on linked open data.
Also, evaluating the analysis cost of WoDQA for a large
VOID store will be possible when well-de ned VOIDs are
constructed.
6.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>K.</given-names>
            <surname>Alexander</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Cyganiak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Hausenblas</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Zhao</surname>
          </string-name>
          .
          <article-title>Describing Linked Datasets - On the Design and Usage of voiD, the 'Vocabulary of Interlinked Datasets'</article-title>
          .
          <source>In WWW 2009 Workshop: Linked Data on the Web (LDOW2009)</source>
          , Madrid, Spain,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Abraham</given-names>
            <surname>Bernstein</surname>
          </string-name>
          , Christoph Kiefer, and Markus Stocker.
          <article-title>OptARQ: A SPARQL Optimization Approach based on Triple Pattern Selectivity Estimation</article-title>
          .
          <source>Technical Report i -2007</source>
          .03, Department of Informatics, University of Zurich,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Chris</given-names>
            <surname>Bizer</surname>
          </string-name>
          , Tom Heath,
          <string-name>
            <given-names>Danny</given-names>
            <surname>Ayers</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Yves</given-names>
            <surname>Raimond</surname>
          </string-name>
          .
          <article-title>Interlinking open data on the web</article-title>
          . www4.wiwiss.fuberlin.de/bizer/pub/LinkingOpenData.pdf,
          <source>2007. Stand 12.5</source>
          .
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Paolo</given-names>
            <surname>Bouquet</surname>
          </string-name>
          , Chiara Ghidini, and
          <article-title>Luciano Sera ni. Querying the web of data: A formal approach</article-title>
          .
          <source>In Proceedings of the 4th Asian Conference on The Semantic Web, ASWC '09</source>
          , pages
          <fpage>291</fpage>
          {
          <fpage>305</fpage>
          , Berlin, Heidelberg,
          <year>2009</year>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Carlos</given-names>
            <surname>Buil</surname>
          </string-name>
          , Marcelo Arenas, and
          <string-name>
            <given-names>Oscar</given-names>
            <surname>Corcho</surname>
          </string-name>
          .
          <article-title>Semantics and optimization of the SPARQL 1.1 Federation Extension</article-title>
          .
          <source>In Proc. of 8th Extended Semantic Web Conference (ESWC</source>
          <year>2011</year>
          ), Heraklion, Crete, Greece, volume
          <volume>6644</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>1</fpage>
          <lpage>{</lpage>
          15. Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>M.</given-names>
            <surname>Duerst</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Suignard</surname>
          </string-name>
          .
          <article-title>Internationalized Resource Identi ers (IRIs)</article-title>
          .
          <source>RFC 3987 (Proposed Standard)</source>
          ,
          <year>January 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Olaf</given-names>
            <surname>Go</surname>
          </string-name>
          <article-title>rlitz and Ste en Staab</article-title>
          .
          <article-title>Federated data management and query optimization for linked open data</article-title>
          .
          <source>In Athena Vakali and Lakhmi Jain</source>
          , editors,
          <source>New Directions in Web Data Management</source>
          <volume>1</volume>
          , volume
          <volume>331</volume>
          <source>of Studies in Computational Intelligence</source>
          , pages
          <fpage>109</fpage>
          {
          <fpage>137</fpage>
          . Springer Berlin / Heidelberg,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Olaf</given-names>
            <surname>Go</surname>
          </string-name>
          <article-title>rlitz and Ste en Staab. SPLENDID: SPARQL Endpoint Federation Exploiting VOID Descriptions</article-title>
          .
          <source>In Proceedings of the 2nd International Workshop on Consuming Linked Data</source>
          , Bonn, Germany,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Peter</given-names>
            <surname>Haase</surname>
          </string-name>
          , Tobias Matha , and
          <string-name>
            <given-names>Michael</given-names>
            <surname>Ziller</surname>
          </string-name>
          .
          <article-title>An evaluation of approaches to federated query processing over linked data</article-title>
          .
          <source>In Proceedings of the 6th International Conference on Semantic Systems, I-SEMANTICS '10</source>
          , pages
          <issue>5:1</issue>
          {
          <issue>5</issue>
          :
          <fpage>9</fpage>
          , New York, NY, USA,
          <year>2010</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Olaf</given-names>
            <surname>Hartig</surname>
          </string-name>
          .
          <article-title>Zero-knowledge query planning for an iterator implementation of link traversal based query execution</article-title>
          . In Grigoris Antoniou, Marko Grobelnik, Elena Paslaru Bontas Simperl, Bijan Parsia, Dimitris Plexousakis, Pieter De Leenheer, and Je Pan, editors,
          <source>ESWC (1)</source>
          , volume
          <volume>6643</volume>
          of Lecture Notes in Computer Science, pages
          <volume>154</volume>
          {
          <fpage>169</fpage>
          . Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Olaf</surname>
            <given-names>Hartig</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Christian</given-names>
            <surname>Bizer</surname>
          </string-name>
          , and Johann Christoph Freytag.
          <article-title>Executing sparql queries over the web of linked data</article-title>
          .
          <source>In International Semantic Web Conference</source>
          , pages
          <volume>293</volume>
          {
          <fpage>309</fpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Olaf</given-names>
            <surname>Hartig</surname>
          </string-name>
          and
          <string-name>
            <given-names>Andreas</given-names>
            <surname>Langegger</surname>
          </string-name>
          .
          <article-title>A Database Perspective on Consuming Linked Data on the Web</article-title>
          . Datenbankspektrum, Semantic Web Special Issue,
          <year>July 2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Tom</given-names>
            <surname>Heath</surname>
          </string-name>
          and
          <string-name>
            <given-names>Christian</given-names>
            <surname>Bizer</surname>
          </string-name>
          .
          <article-title>Linked Data: Evolving the Web into a Global Data Space</article-title>
          . Morgan &amp; Claypool, San Rafael, CA,
          <fpage>1</fpage>
          <lpage>edition</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>Bastian</given-names>
            <surname>Quilitz</surname>
          </string-name>
          and
          <string-name>
            <given-names>Ulf</given-names>
            <surname>Leser</surname>
          </string-name>
          .
          <article-title>Querying Distributed RDF Data Sources with SPARQL</article-title>
          . In Sean Bechhofer, Manfred Hauswirth, Jorg Ho mann, and Manolis Koubarakis, editors,
          <source>The Semantic Web: Research and Applications</source>
          , volume
          <volume>5021</volume>
          of Lecture Notes in Computer Science, chapter
          <volume>39</volume>
          , pages
          <fpage>524</fpage>
          {
          <fpage>538</fpage>
          . Springer Berlin / Heidelberg, Berlin, Heidelberg,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Andreas</surname>
            <given-names>Schwarte</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Peter</given-names>
            <surname>Haase</surname>
          </string-name>
          , Katja Hose, Ralf Schenkel, and
          <string-name>
            <given-names>Michael</given-names>
            <surname>Schmidt</surname>
          </string-name>
          .
          <article-title>Fedx: A federation layer for distributed query processing on linked open data</article-title>
          .
          <source>In Grigoris Antoniou</source>
          , Marko Grobelnik, Elena Simperl, Bijan Parsia, Dimitris Plexousakis, Pieter De Leenheer, and Je Pan, editors,
          <source>The Semanic Web: Research and Applications</source>
          , volume
          <volume>6644</volume>
          of Lecture Notes in Computer Science, pages
          <volume>481</volume>
          {
          <fpage>486</fpage>
          . Springer Berlin / Heidelberg,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Andreas</surname>
            <given-names>Schwarte</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Peter</given-names>
            <surname>Haase</surname>
          </string-name>
          , Katja Hose, Ralf Schenkel, and
          <string-name>
            <given-names>Michael</given-names>
            <surname>Schmidt</surname>
          </string-name>
          . Fedx:
          <article-title>Optimization techniques for federated query processing on linked data</article-title>
          .
          <source>In Lora Aroyo</source>
          , Chris Welty, Harith Alani, Jamie Taylor, Abraham Bernstein, Lalana Kagal, Natasha Noy, and Eva Blomqvist, editors,
          <source>The Semantic Web - ISWC</source>
          <year>2011</year>
          , volume
          <volume>7031</volume>
          of Lecture Notes in Computer Science, pages
          <volume>601</volume>
          {
          <fpage>616</fpage>
          . Springer Berlin / Heidelberg,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>