<!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>Towards Networked Linked Data-Driven Web3D Applications</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>René Schubotz</string-name>
          <email>rene.schubotz@eads.net</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andreas Harth</string-name>
          <email>harth@kit.edu</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>EADS Innovation Works</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Institute AIFB, Karlsruhe Institute of Technology</institution>
          ,
          <addr-line>KIT</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>The Web of Data has grown to a size of several billion triples and provides human interface opportunities and challenges beyond those of the traditional Web. Although Linked Data is now generated at a fast pace and very large scale, we observe that browsing and visualisation of Linked Data is still in its infancy. In parallel to the enormous boost in Linked Data, recent work on integrating 3D graphics capabilities into the W3C technology stack provides fresh momentum for an e ort to extend the Web with 3D content and technologies. In light of the timid uptake and consumption of Linked Data by non-technical audiences, we make the case for Web3D-based user interfaces to the Web of Data and aim at promoting synergistic research in the Web3D and Web of Data communities. To that end, we describe a scenario that requires the combination of Linked Data from geospatial and encyclopedic data sources and the transformation of the combined Linked Data into a format amenable to Web3D rendering. Based on the scenario, we derive highlevel requirements and propose a Linked Data-driven design pattern based on REST architecture principles that satis es the requirements. Our prototypical implementation shows that a combination of current Web technologies is su cient to implement distributed application that ultimately arrive at Web3D renderings of Linked Data. Based on the experiments, we identify and discuss areas which require further research.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>The World Wide Web has irreversibly changed the way we
collect, validate and disseminate data and information. The
Web is built on the idea of hyperlinking documents into a
single global document space, hereby providing the
fundamental principles for accessing, navigating and publishing
Web documents. Until recently, however, the principles that
promoted the Web of Documents have not been applied to
the abundance of data related to media, bibliography,
encyclopedical knowledge, or geo sciences. Historically, these
data sets have been made available as documents in various
Copyright c 2012 for the individual papers by the papers’ authors.
Copying permitted only for private and academic purposes. This volume
is published and copyrighted by its editors. Dec3D workshop at
WWW2012, Lyon, France
content formats or from databases accessible through Web
APIs. Lacking uniform identi cation, retrieval and
representation mechanisms, Web data sets have been fragmented
into disconnected data silos.</p>
      <p>To publish, access and integrate data on the Web,
BernersLee [4] devised the Linked Data Principles, a set of best
practices based on a small set of standards, i.e., Uniform
Resource Identi ers (URIs), the Hypertext Transfer
Protocol (HTTP), the Resource Description Framework (RDF)
as well as a number of serialisation formats. By
establishing typed data-level links between items from disparate data
sources, Linked Data facilitates the creation of a single global
data space, enables the integration of data from disparate
sources and ultimately provides expressive query
capabilities.</p>
      <p>Automated production and interweaving of Linked Data at
a large scale has now grown the Web of Data to a size of
25.2 billion triples1 and an increasing number of
applications demonstrates the potential of exploiting the Web of
Data. For example, the GADM-RDF2 project contains the
world's administrative boundaries and interlinks to existing
spatial datasets. The DBpedia3 project [2] constantly
derives a Linked Data corpus from the Wikipedia
encyclopedia and describes more than 3.64 million interlinked entities,
containing factual data on persons, places and organisations.
The growing Web of Data, however, provides human
interface opportunities and challenges beyond those of the
traditional Web. A signi cant challenge is found in the
formalised RDF encoding of Linked Data. RDF, a format
created for machine consumption, limits the use of Linked Data
to those capable of reading and interpreting raw RDF. Even
for a technical audience, the lack of visual aid impedes the
identi cation of relevant information and the unearthing of
previously unseen correlations. Aiming at improved
accessibility and usability of Linked Data, a limited number of
Linked Data browsers and visual search engines o er both
text-based and visual presentation options. The
Tabulator browser [5], for example, provides several conventional
user interface metaphors such as a timeline and a tabular
view. VisiNav[?], a system based on an interaction model
designed to search and navigate large amounts of Linked
Data, o ers amongst other things a 2D graph visualisation
1http://www4.wiwiss.fu-berlin.de/lodcloud/
2http://gadm.geovocab.org/
3http://dbpedia.org/
of Linked Data items. Although Linked Data is now
generated at very large scale, we observe that visualisation and
browsing of Linked Data is still in its infancy.</p>
      <p>
        In parallel to the enormous boost in Linked Data
technologies, recent work [
        <xref ref-type="bibr" rid="ref26 ref27">3, 15, 10</xref>
        ] on integrating 3D graphics
capabilities into the W3C technology stack, together with a
general consumer trend in 3D movies and televisions,
provides fresh momentum for an e ort to extend the Web with
3D content and technologies. Using technologies such as
JavaScript, WebGL, Cascading Style Sheets and the
Document Object Model increasingly sophisticated 3D content
starts now to be seamlessly integrated with HTML.
Clear and coherent Web3D visualisations may help in
conveying complex Linked Data, support users in sense making
and information exploration and discovery, and provide
descriptive, intuitive and e ective user interfaces to the Web
of Data. For example, Web3D graph visualisations may be
used to display the overall structure of the Web of Data and
support navigation and exploratory discovery of individual
Linked Data sets and items. More importantly, after
obtaining an overall understanding of data content and structure,
a detailed inspection and analysis of relevant Linked Data
items typically follows. For small amounts of Linked Data, a
textual presentation is often an adequate choice for the
technical audience. However, as the amount and diversity of the
result sets grow, suitable Web3D visualisations may be an
appropriate tool for improving the users's understanding.
In light of the timid uptake and consumption of Linked Data
by non-technical audiences, we aim at promoting
synergistic research in the Web3D and Web of Data communities.
We therefore describe an experiment into publishing,
accessing and combining Linked Data and Web3D graphics
functionality to arrive at a 3D user interface for geospatial and
statistical Linked Data.
      </p>
      <p>Our contribution is in showing how to combine Linked Data
and Web3D functionality accessible via RESTful interfaces
into a coherent system which allows for the querying,
combination and transformation of Linked Data into a format
amenable to Web3D rendering.</p>
      <p>The remainder of the paper is organised as follows. In
Section 2 we cover related work, and in Section 3 we derive
and describe several high-level requirements a Linked
Datadriven Web3D application should ful l. We provide an
application prototype as well as a description of its essential
components in Section 4. Furthermore, we discuss the
interplay of data-providing and data-processing RESTful
services. In Section 5 we discuss our lessons learned, point out
limitations and suggest areas which require future work. We
conclude with summary in Section 6.</p>
    </sec>
    <sec id="sec-2">
      <title>2. RELATED WORK</title>
      <p>There are several approaches in the literature that describe
the design and functionality of user interfaces for the Web
of Data. These user interfaces can be grouped into systems
that solely provide text-based functionality and those that
include visual presentation options.</p>
      <p>We start by reviewing systems that use textual
representations of Linked Data items and their relationships. Dipper4
provides a Linked Data endpoint for retrieval and
browsing of Linked Data from a set of Linked Data repositories.
Where available human-readable RDF labels are used to
format the results. The Disco Hyperdata Browser5 allows the
user to navigate the Web of Data and renders all information
as a HTML table of property-value pairs. Where available,
human-readable labels are used to format the results. As for
Disco, Marbles6 allows navigating the Web of Data.
Marbles strives to improve the user experience by formatting
Linked Data for presentation to end users; di erent colours
are used to distinguish the sources of the information
retrieved. Piggy Bank7, a Firefox extension, allows the
extraction of Linked Data from web sites and enables users to
perform faceted search and browsing across Linked Data
collected by multiple users. Again, results are presented using
list and tabular interfaces.</p>
      <p>User interfaces o ering visual presentations are provided by
more advanced RDF browsers or specialised Linked Data
applications. For example, the Tabulator browser [5]
provides several conventional user interface metaphors such as
a timeline and a map view. RDF Gavity8 is a tool for
visualising ontologies on top of the JUNG Graph API and
supports user-speci ed graph lters for speci c views. Browsers
such as Fen re9 or FOAFNaut10 visualize the relationships
among Linked Data items employing a graph visualisations.
VisiNav[?], a system designed to search and navigate large
amounts of Linked Data based on an interaction model,
offers amongst other things a 2D graph visualisation of Linked
Data items and their relationships.</p>
      <p>Although Linked Data is now generated at very large scale,
we observe that visualisation and browsing of Linked Data
is still in its infancy. With the exception of DBpedia
Mobile11, a location-centric DBpedia client application for
mobile devices, most of the reviewed systems focus on
supporting navigation and exploratory discovery in the overall Web
of Data. Visualisation techniques for a detailed inspection
and analysis of Linked Data query results, i.e., a user's
particular region of interest in the Web of Data, are typically
restricted to tabular or list presentations. In contrast to
these existing systems, we provide a proof-of-concept
prototype illustrating how to achieve Web3D visualisations of
Linked Data query results in a completely distributed
architecture.</p>
    </sec>
    <sec id="sec-3">
      <title>3. REQUIREMENTS FOR LINKED DATA</title>
    </sec>
    <sec id="sec-4">
      <title>DRIVEN WEB3D APPLICATIONS</title>
      <p>Following Hausenblas [12], a Linked Data-driven Web
application consumes and potentially manipulates Linked Data
sets and o ers appropriate interfaces and content for both
4http://api.talis.com/stores/iand-dev1/items/
dipper.html
5http://www4.wiwiss.fu-berlin.de/bizer/ng4j/disco/
6http://www5.wiwiss.fu-berlin.de/marbles
7http://simile.mit.edu/wiki/Piggy_Bank
8http://semweb.salzburgresearch.at/apps/
rdf-gravity/
9http://fenfire.org/
10http://www.foafnaut.org/
11http://wiki.dbpedia.org/DBpediaMobile
humans and machines. We extend this de nition towards
Linked Data-driven Web3D applications in a straight-forward
way and discuss several high-level requirements for Linked
Data-driven Web3D applications in the following.
Unifying Web3D and Linked Data representations:
The description and augmentation of 3D models and
virtual spaces with semantic metadata and ontologies has been
in the focus of the 3D modeling community for a long time,
yet, the issue is far from resolved. The Linked Data
community, however, successfully facilitates this task for disparate
data sources by establishing typed data-level links between
data items. We believe that several strategies exists in order
to, at least partially, transfer the Linked Data principles to
the Web3D. The conventional approach, cf. Pittarello et al.
[14], is to describe the semantics of Web3D content in
annotation tags provided by the Web3D speci cation or by means
of RDFa12 annotations at the tag attribute level. In order to
bene t from such semantic annotations, the initial
extraction and subsequent management of semantic scene
annotations is required. A very radical concept following
Kalogerakis et al.[13] is to accept RDF as the single data model for
publishing 3D content on the Web and to merge graphics
content and scene semantics into the Web of Data.
However, this leaves open pressing questions on how to e ciently
render and manipulate graphics content in its RDF
encoding. As a third stance and as a trait of Linked Data-driven
Web3D applications, we adopt REST principles
throughout and retrieve Web3D content as REST representations
of Linked Data resources by content-negotiation. Although
an established REST design practice, we feel that this
concept requires further thought.</p>
      <p>On-demand integration: The diversity and size of Linked
Data sets make it di cult { even in our prototype
application { to just fetch and integrate Linked Data and relevant
geometries from all sources and load the combined Web3D
scene graph into a Web browser for rendering. Given that
source datasets are often distributed, we require the
overall Linked Data-driven Web3D application (dispersed across
multiple providers of data, functionality and client-side
rendering) to access and integrate data on demand using the
pull model. Existing systems that demonstrate initial
results for integrating semantics into virtual environments
suffer from scalability and real-time performance issues. Our
aim is to use caching and asynchronous communication to
achieve performance conductive to interactive visualisations;
our initial experiments indicate that our system requires
more optimisations to achieve the goal.</p>
      <p>Integration of content and functionality: Accepting
the preceding argument of on-demand integration, a Linked
Data-driven Web3D application needs to integrate both
content and functionality. Examples for content are the
GADMRDF or DBpedia datasets; examples for functionality are 3D
meshing and shading services. The various components have
to be connected together in a way that achieve the intended
application purpose. We see the Web as a platform and want
to combine services that are decentralised.
12http://www.w3.org/TR/xhtml-rdfa-primer/
Declarative integration: We aim to use declarative means
to describe data and links between the data, to arrive at an
ecosystem in which data providers interlink their datasets
without the need for direct coordination. An ideal system
would gure out the data sources to combine with
dedicated data processing services to ultimately arrive at the
stated goal of a user. However, such a system has proven
elusive. We thus opt for a declarative coordination of the
interoperation between data sources and functionality.
Interactive visualisations: Typically, Linked Data-driven
Web3D applications require that user input is possible, e.g.
for selecting a visual encoding. For an interactive
application, the overall system must provide high-throughput and
high update rates with low latency. While these qualities
require further optimisations of the underlying Linked Data
and Web3D technologies, the overall user-perceived latency
can be improved using techniques such as incremental
content loading or user reassurance during wait times.</p>
    </sec>
    <sec id="sec-5">
      <title>4. A PROTOTYPICAL APPLICATION</title>
      <p>In the following, we describe a straightforward Linked
Datadriven Web3D application leveraging the emerging 3D
graphics capabilities of the W3C technology stack as well as the
increasing amount of Linked Data available on the Web.
Given statistical data from DBpedia (see Figure 1(a)) and
geospatial data from GADM-RDF (see Figure 1(b)), we aim
at generating an interactive 3D choropleth map [9]
visualising the world distribution of wealth (see Figure 1(c)). We
call our prototype application \Hello (3D) World!" and
believe that its interactive Web3D interface allows the user to
e ectively grasp the meaning of the underlying Linked Data.
Realising the application involves several steps: querying
across data sources; transforming query results into a Web3D
scene graph; and rendering the Web3D scene graph. Based
on REST principles, our prototype declaratively combines
Linked Data into a format amenable to 3D rendering. To
this end, we use RESTful services13 for basic computer
graphics, e.g. shading, meshing and coordinate transformations,
SPARQL14 for queries spanning multiple disparate Linked
Data sources containing heterogeneous data, and XQuery15
for executing the overall application logic.</p>
      <p>Antedating a more detailed description of all involved
artifacts, Figure 2 demonstrates our Linked Data-driven design
and depicts the following interaction patterns:
1. Via GADM-RDF 's Linked Data Services[16], resolve
Linked Data resources of the world's nations and
retrieve RDF including (i) URIs for their KML
geometries and (ii) owl:sameAs'16 to interlinked data sets.
This corresponds to executing the SPARQL query (cf.
Listing 2) against GADM-RDF. Cache the results
locally.
2. Resolve each ?geo URI from Step 1, parse the retrieved</p>
      <p>KML data and send each &lt; kml : P olygon &gt; to
13http://jersey.java.net/
14http://www.w3.org/TR/rdf-sparql-query/
15http://www.w3.org/TR/xquery/
16owl:sameAs links indicate that two URI references actually
refer to the same thing.
(a) DBpedia on the world's GDP.
(b) Geo data in GADM-RDF.
(c) Hello (3D) World!
the REST service Geo2Ecef transforming WGS84 into
ECEF coordinates. Post the transformed polygons to
the REST service Poly2Mesh which in turn responds
with fresh URIs for each generated XML3D mesh. The
results are cached locally.
3. Using the owl:sameAs's from Step 1, execute the query
shown in Listing 3 against DBpedia and retrieve each
nation's gross domestic product based on the
purchasing power parity. Post the ?gdp literals to the REST
service Gdp2Shader which responds with fresh URIs
for XML3D shaders. Cache the results locally.
4. Use the URIs generated in Step 2 and Step 3 and
generate an XML3D-compliant scene graph.
5. Return the generated XML3D-compliant scene graph
to the browser for rendering and display.</p>
      <p>In the following, we describe the general high-level
components of Linked Data-driven Web3D applications using the
example of \Hello (3D) World!".</p>
    </sec>
    <sec id="sec-6">
      <title>4.1 Runtime Environment</title>
      <p>Linked Data-driven Web3D applications require some
runtime environment for implementing their business logic. The
business logic coordinates the invocation of the various data
sources and services in the right order to transform and
adapt the content into a 3D scene according to the
specications of the user. Such runtime environments should
enable access to various distributed data sources using various
languages, permit highly granular selection based on both
the hierarchy and ordering of structured data, and allow for
complex data transformations that may involve hierarchical
restructuring.</p>
      <p>
        Developed by the XML Query working group of the W3C,
XQuery is de ned as a query language for XML data. Path
expressions can be used to select based on XML structure
(both hierarchical and sequential) and XML result
structures can be easily generated. The XQuery Update Facility
provides the ability to update data or to add annotations
and metadata; specialised capabilities beyond the large
selection of built-in functions and operators are provided via
an extension mechanism through function libraries. XQuery
supports library modules, i.e., collections of function de
nitions and global variable declarations. The XQuery engine
imports a module once during compilation, the compiled
module is then made available through the static XQuery
context. In particular, we make use of the EXPath
httpclient module17. This module allows one to deal with most
aspects of the HTTP protocol, and hereby enables the
invocation of RESTful data providing and processing services.
XQuery appears especially alluring given the fact that
XSPARQL18, a merge of SPARQL and XQuery providing
concise solutions for mapping between XML and RDF in
either direction, is de ned as an extension of XQuery's
formal semantics adding a few normalization mapping rules.
In essence, XSPARQL queries are reduced to XQuery with
interleaved calls to a SPARQL engine via the SPARQL
protocol [
        <xref ref-type="bibr" rid="ref9">1</xref>
        ]. On this account and considering the fact that
XQuery has been successfully brought to the Web browser
[
        <xref ref-type="bibr" rid="ref4">8, 6</xref>
        ], we opted for XQuery to implement our business logic
in a concise and declarative fashion (cf. Listing 1). For
future work, we suggest the porting of XSPARQL to the Web
browser and a thorough investigation on using JavaScript
and rdfQuery19 for implementing Linked Data-driven
applications.
      </p>
    </sec>
    <sec id="sec-7">
      <title>4.2 Linked Data Providers</title>
      <p>Linked Data-driven Web3D applications consume and
manipulate various data sets and o er appropriate interfaces
and content for both humans and machines. While we strive
to ultimately arrive at 3D renderings of complex data, some
technology for the retrieval, combination and manipulation
of data stored in disparate sources is needed. The query
language SPARQL can be used to express queries across
diverse Linked Data sources. Its syntax resembles SQL, but
SPARQL is far more powerful, enabling queries spanning
multiple disparate data sources containing heterogeneous
data.</p>
      <p>Our prototypical implementation employs SPARQL in order
to retrieve Linked Data of the world's nations from
GADM17http://www.expath.org/modules/http-client/
18http://www.w3.org/Submission/
xsparql-language-specification/
19http://code.google.com/p/rdfquery/
RDF . The corresponding query shown in Listing 2. In
addition, each nation's gross domestic product based on the
purchasing power parity is retrieved from DBpedia using
the SPARQL query shown in Listing 3.
1 PREFIX s p a t i a l : &lt;http : / / geovocab . org / s p a t i a l#&gt;
2 PREFIX ngeo : &lt;http : / / geovocab . org / geometry#&gt;
3 PREFIX owl : &lt;http : / /www. w3 . org /2002/07/ owl#&gt;
4 SELECT ? n a t i o n ? geo ? l i n k
5 WHERE f
6 ? n a t i o n rdf : type s p a t i a l : Country .
7 ? n a t i o n ngeo : geometry ? geo .
8 ? n a t i o n owl : sameAs ? l i n k
9 g</p>
      <p>Listing 2: SPARQL query against GADM-RDF
1 PREFIX dbpedia2 : &lt;http : / / dbpedia . org / p r o p e r t y/&gt;
2 SELECT ? gdp
3 WHERE f
4 ? l i n k dbpedia2 : gdpPppPerCapita ? gdp .
5 g</p>
      <sec id="sec-7-1">
        <title>Listing 3: SPARQL query against DBpedia</title>
        <p>geo2ecef. This service is implemented to accept a kml:Polygon,
to convert its geodetic coordinates into Earth-centred
earthxed coordinates, and to respond with results in XML
format. In the following, we give an exemplary GET request
and the service's response.</p>
        <p>GET /geo2ecef?input=</p>
        <p>'&lt;kml:Polygon&gt;x1,y1,z1...&lt;/kml:Polygon&gt;' HTTP/1.1
Host: http://www.host.org
Accept: application/xml
HTTP/1.1 200 OK
Server: http://www.host.org
Content-Type: application/xml
&lt;ecefPolygon&gt;f(x1,y1,z1)...&lt;/ecefPolygon&gt;
gdp2shader. This service accepts numerical values for the
generation of xml3d:shader elements to be resolved by a
Linked Data-driven application. The xml3d:shader element
is derived from the service input and a prede ned colour
scale. Listing 4 shows XML3D code generated by this
service. Anticipating more complex shader generation, the
service is implemented as POST and responds with Linked
Data containing fresh URIs for xml3d:shader elements.
Additionally, this service provides a GET method for shader
retrieval.</p>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>4.3 Web3D Services</title>
      <p>Our prototype invokes Web3D REST services performing 21 &lt;&lt;sf hloaadte3r nsacmr ie=pt"=d"i uffruns:exCmol3l do r: "sh&gt;a0d.0e8r : p0 h.0ong0."0&gt;&lt;/ f l o a t 3 &gt;
preprocessing and mapping operations. Invocation of the 3 &lt;f l o a t name=" a m b i e n t I n t e n s i t y "&gt;0.4&lt;/ f l o a t &gt;
preprocessing service geo2ecef performs coordinate trans- 4 &lt;/shader&gt;
formations, whereas the mapping services poly2mesh and
gdp2shader produce xml3d elements. All Web3D services Listing 4: Generated XML3D shader element
are implemented using JAX-RS and Jersey and deployed to
Apache Tomcat Servlet containers. Adhering to Fielding's
architectural principles [7], we designed these services in the
following ways.
poly2mesh. When receiving POST requests, this mapping
service accepts kml:Polygons, spawns triangulation threads
for POSTed kml:Polygons and immediately returns Linked
Data containing fresh URIs. These URIs identify xml3d:mesh
elements being computed using a Delaunay triangulation
backend20 and can be resolved by Linked Data-driven
applications. The service additionally provides a GET method
for xml3d:mesh retrieval; an exemplary xml3d:mesh element
generated by this service is shown in Listing 5.
1 &lt;mesh type=" t r i a n g l e s "&gt;
2 &lt;int name="index "&gt;0 1 2 1 3 2&lt;/int&gt;
3 &lt;f l o a t 3 name=" p o s i t i o n " &gt;0.96 . . . 0.13&lt;/ f l o a t 3 &gt;
4 &lt;f l o a t 3 name="normal "&gt;0.0 . . . 1.0 &lt;/ f l o a t 3 &gt;
5 &lt;f l o a t 2 name="texcoord "&gt;1.0 . . . 0.0 &lt;/ f l o a t 2 &gt;
6 &lt;/mesh&gt;</p>
      <sec id="sec-8-1">
        <title>Listing 5: Generated XML3D mesh element</title>
      </sec>
    </sec>
    <sec id="sec-9">
      <title>4.4 Renderer and Display</title>
      <p>Being focused on the task of conveying complex Linked Data
to the user, we aim at rendering and displaying 3D
visual20http://code.google.com/p/poly2tri/
isations in the browser. Via the browser, users have the
ability to change various parameters that the application
designer has provided. The input from the user interface
triggers queries to the execution engine which in turn
combines content from Linked Data sources and functionality
from services into a Web3D scene graph. The Web3D scene
graph is handed to the rendering and displaying environment
for generating the visual application output. We decided
for XML3D as rendering and displaying environment for its
clean and comprehensible speci cation; although we sadly
miss support for external references in the current
implementation. As future work, we would like to assess alternative
Web3D proposals with respect to ease of use, performance
and scalability.</p>
    </sec>
    <sec id="sec-10">
      <title>5. DISCUSSION</title>
      <p>We now discuss lessons learned based on the experiences
gained during experimentation and put our requirements
into perspective.</p>
      <p>The success of implementing a Linked Data-driven 3D Web
Application crucially depends on the availability of
highquality data. In our scenario, we depend on a complete set
of links between countries in GADM-RDF and DBpedia.
While GADM initially provided some links, both datasets
were only sparsely interlinked. Only after completing the
linkage we were able to query both datasets in combination.
The size of the geometries in GADM-RDF were another
stumbling block. Geometries of countries can reach
several MB, and merely transmitting these les takes time.
We solved the issue by accessing more coarse-grained
versions of the geometries. For the triangulation, which is a
relatively time-consuming calculation, we opted for a
service which queues the required computation steps and
asynchronously processes the input. We use caching throughout
(via HTTP's Last-Modi ed header and a Squid cache21) to
avoid costly re-computation.</p>
      <p>We use SPARQL queries and XQuery programs to access
data and coordinate computation, which allows for a
concise speci cation of the various computation steps. We used
SPARQL to query the data in combination, and XQuery
to invoke functionality, as XQuery engines can be extended
with user-de ned functions. However, using two separate
query engines is suboptimal; an execution environment which
natively supports RDF queries and XQuery-like
programming constructs would be our more elegant system of choice.
Ideally, such an interpreter of data integration programs
would run client-side in a web browser, to remove the
bottleneck which a centralised query processor represents. Whether
XSPARQLis a suitable candidate for such a language is
subject to future work.</p>
      <p>Finally, the lack of maturity of the deployed Web3D
implementation required some workarounds; for example, the
XML3D speci cation allows for providing URIs which the
browser would dereference and include in the scene graph.
Such functionality would t our distributed architecture very
well, however, current implementation lacks these network
lookups, and thus we need to construct a large monolithic
le with the scene graph rather than having a scene graph
le which can include network-accessible references.</p>
    </sec>
    <sec id="sec-11">
      <title>6. CONCLUSION</title>
      <p>The overall goal of Linked Data-driven Web3D applications
is to enable the end user to query, understand and interact
with often complex and incomprehensible Linked Data in
more user-friendly and e cient ways. Suitable and
coherent Web3D visualisations may help in conveying complex
Linked Data, support users in sense making and
information exploration and discovery, and eventually provide
descriptive, intuitive and e ective user interfaces to the Web
of Data. To facilitate the speci cation and implementation
of such Linked Data-driven Web3D applications, we
provide an architecture blueprint that enables the integration
of distributed content and functionality into coherent Linked
Data-driven applications with Web3D user interfaces.</p>
    </sec>
    <sec id="sec-12">
      <title>7. REFERENCES</title>
      <p>
        [
        <xref ref-type="bibr" rid="ref9">1</xref>
        ] W. Akhtar, J. Kopecky, T. Krennwallner, and
A. Polleres. Xsparql: traveling between the xml and
rdf worlds - and avoiding the xslt pilgrimage. In
21http://www.squid-cache.org/
175{184, New York, NY, USA, 2010. ACM.
[16] S. Speiser and A. Harth. Integrating linked data and
services with linked data services. In The Semantic
Web: Research and Applications, volume 6643 of
Lecture Notes in Computer Science, pages 170{184.
Springer Berlin / Heidelberg, 2011.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <source>Proceedings of the 5th European semantic web</source>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>applications</surname>
          </string-name>
          , ESWC'
          <volume>08</volume>
          , pages
          <fpage>432</fpage>
          {
          <fpage>447</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          Springer-Verlag,
          <year>2008</year>
          . [2]
          <string-name>
            <given-names>S.</given-names>
            <surname>Auer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bizer</surname>
          </string-name>
          , G. Kobilarov, J. Lehmann,
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <source>of 6th International Semantic Web Conference</source>
          , 2nd
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <year>2007</year>
          ), volume
          <volume>4825</volume>
          of Lecture Notes in Computer
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Science</surname>
          </string-name>
          , pages
          <volume>722</volume>
          {
          <fpage>735</fpage>
          . Springer Berlin / Heidelberg,
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Nov</surname>
          </string-name>
          .
          <year>2007</year>
          . [3]
          <string-name>
            <given-names>J.</given-names>
            <surname>Behr</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Eschler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Jung</surname>
          </string-name>
          , and
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Zollner</article-title>
          . X3DOM:
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <article-title>a DOM-based HTML5/X3D integration model,</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <source>volume 1</source>
          , pages
          <fpage>127</fpage>
          {
          <fpage>135</fpage>
          . ACM,
          <year>2009</year>
          . [4]
          <string-name>
            <given-names>T.</given-names>
            <surname>Berners-Lee</surname>
          </string-name>
          .
          <article-title>Linked data</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>http://www.w3.org/DesignIssues/LinkedData.html,</mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <year>2006</year>
          . [5]
          <string-name>
            <given-names>T.</given-names>
            <surname>Berners-Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Chilton</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Connolly</surname>
          </string-name>
          ,
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <article-title>semantic web</article-title>
          .
          <source>In Proceedings of the 3rd International</source>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <surname>Semantic Web User Interaction Workshop</surname>
          </string-name>
          ,
          <year>2006</year>
          . [6]
          <string-name>
            <given-names>A.</given-names>
            <surname>Couthures</surname>
          </string-name>
          .
          <article-title>Compiling xquery code into javascript</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <article-title>instructions using xslt</article-title>
          .
          <source>In XML Prague</source>
          <year>2012</year>
          , pages
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <volume>125</volume>
          {
          <fpage>139</fpage>
          ,
          <year>2012</year>
          . [7]
          <string-name>
            <given-names>R. T.</given-names>
            <surname>Fielding</surname>
          </string-name>
          .
          <article-title>Architectural styles and the design of</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          University of California, Irvine,
          <year>2000</year>
          . AAI9980887. [8]
          <string-name>
            <given-names>G.</given-names>
            <surname>Fourny</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Pilman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Florescu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Kossmann</surname>
          </string-name>
          ,
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <string-name>
            <surname>In</surname>
            <given-names>WWW</given-names>
          </string-name>
          , pages
          <volume>1011</volume>
          {
          <fpage>1020</fpage>
          . ACM,
          <year>2009</year>
          . [9]
          <string-name>
            <given-names>M.</given-names>
            <surname>Friendly</surname>
          </string-name>
          .
          <article-title>Milestones in the history of thematic</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          <year>2008</year>
          . [10]
          <string-name>
            <surname>Google</surname>
          </string-name>
          . O3d. http://code.google.com/p/o3d/,
          <year>2011</year>
          . [11]
          <string-name>
            <given-names>A.</given-names>
            <surname>Harth</surname>
          </string-name>
          . Visinav:
          <article-title>Visual web data search and</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          <string-name>
            <surname>Applications</surname>
          </string-name>
          , volume
          <volume>5690</volume>
          of Lecture Notes in
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          <source>Computer Science</source>
          , pages
          <volume>214</volume>
          {
          <fpage>228</fpage>
          . Springer Berlin /
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          <string-name>
            <surname>Heidelberg</surname>
          </string-name>
          ,
          <year>2009</year>
          . [12]
          <string-name>
            <given-names>M.</given-names>
            <surname>Hausenblas</surname>
          </string-name>
          .
          <article-title>Linked data applications - the genesis</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          <source>Technical Report 2009-07-26</source>
          , Digital Enterprise
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          <string-name>
            <given-names>Research</given-names>
            <surname>Institute</surname>
          </string-name>
          ,
          <year>2009</year>
          . [13]
          <string-name>
            <given-names>E.</given-names>
            <surname>Kalogerakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Christodoulakis</surname>
          </string-name>
          , and
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          <source>VR '06</source>
          , pages
          <fpage>43</fpage>
          {
          <fpage>50</fpage>
          , Washington, DC, USA,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          <string-name>
            <surname>IEEE Computer</surname>
          </string-name>
          <article-title>Society</article-title>
          . [14]
          <string-name>
            <given-names>F.</given-names>
            <surname>Pittarello</surname>
          </string-name>
          and
          <string-name>
            <surname>A. De Faveri</surname>
          </string-name>
          . Semantic description of
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          <article-title>3d environments: a proposal based on web standards.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          <article-title>on 3D web technology</article-title>
          ,
          <source>Web3D '06</source>
          , pages
          <fpage>85</fpage>
          {
          <fpage>95</fpage>
          , New
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          <string-name>
            <surname>York</surname>
          </string-name>
          , NY, USA,
          <year>2006</year>
          . ACM. [15]
          <string-name>
            <given-names>K.</given-names>
            <surname>Sons</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Klein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Rubinstein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Byelozyorov</surname>
          </string-name>
          , and
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          <string-name>
            <given-names>P.</given-names>
            <surname>Slusallek.</surname>
          </string-name>
          <article-title>Xml3d: interactive 3d graphics for the</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          web.
          <source>In Proceedings of the 15th International</source>
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          <source>Conference on Web 3D Technology, Web3D '10</source>
          , pages
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>