<!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>BRAMBLE: A Web-based Framework for Interactive RDF-Graph Visualisation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Nikolas Schmitt</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mathias Niepert</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Heiner Stuckenschmidt</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>KR &amp; KM Research Group University of Mannheim</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Most graph visualisation tools for RDF data are desktop applications focused on loading complete ontologies and metadata from a le and allowing users to lter out information if needed. Recently both scienti c and commercial frameworks have started to shift their focus to the web, however they still rely on plugins such as Java and rarely handle larger collections of RDF statements e ciently. In this abstract we present a framework which visualises RDF graphs in a native browser environment, leveraging both the SVG standard and JavaScript technology to provide a responsive user interface. Graphs can be directly expanded, modi ed and explored. Users select nodes and edges from a central data repository containing millions of statements. The resulting graph can be shared with other users retaining full interactivity for collaborative work or presentation purposes.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        With the growth of datasets such as the Linked Open Data project1, nding
and presenting relevant information becomes an increasingly complex process.
Graphs are well suited to browse and visualise linked data and a wide range of
tools exist that provide graph drawing functionality on various platforms and in
a myriad of formats. In particular there are commercial products2 integrating
graphs with web applications, allowing users to view and interact with a graph
using their web-browser. So far these solutions rely on either a heavy server
back-end generating the graph visualisation as images and sending them to the
client, which imposes heavy restrictions with regard to interactivity of the graph,
or they use a Java Applet or similar plugin which has to be downloaded rst and
does not run natively in the browser. The WiGis framework [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] shifts the entire
workload onto the server and sends images to the browser at a constant frame
rate after every user interaction. While this does solve some performance and
scalability problems with large graphs, it makes the user interface feel slow and
unresponsive since any actions taken by the user have to be evaluated by the
server before there can be a response. All of the graph visualisation frameworks
rely on the "Overview - Filter" approach where the user is presented a graph
over the entire collection of nodes and edges and is then expected to lter out the
information he needs. This method has some inherent disadvantages: The whole
graph has to be loaded and drawn up front. Thus frameworks employing this
approach can only process a few hundred nodes and even those developed for
large graphs have di culties handling more than 10,000 nodes at an acceptable
speed.
      </p>
      <p>In this abstract we demonstrate how the Bramble Framework3 implements
web-based graph visualisation aiming for fully interactive graphs displayed in a
native, browser-based environment. After the user has selected graph nodes and
edges through a browser-based graphical user interface, the data is retrieved from
a server-based RDF repository. Graphs are presented directly in a browser using
Scalable Vector Graphics (SVG). The user may expand the graph by adding new
nodes that are connected to existing nodes or explore the graph dynamically by
moving from node to node. Attributes are displayed for nodes and edges and
the user may in uence their visualisation (colour, text) or delete them from the
graph.
2</p>
    </sec>
    <sec id="sec-2">
      <title>User Interface</title>
      <p>After connecting to the data repository of choice, the user can utilise the Chain
Manager dialog to retrieve speci c information. The process is started by de ning
a Node Set: one or more entities from the datastore that share common features.
3 http://alkmaar.informatik.uni-mannheim.de:8080/bramble</p>
      <p>Entities will be represented in the graph as nodes. Figure 1 shows a node set
which contains entities whose rdf:type conforms to a product from the
Amazon.com database and whose sioc:name matches the pattern "The Fountain*".
Relevant classes and relations are suggested by the interface based on the RDF
schema de nitions present in the datastore. A set of nodes can be chained to
another set either by specifying a relation that connects the two or leaving the
eld blank, in which case the framework will retrieve any relations between both
sets. In Fig. 1 reviews (orange) are added to the graph by attaching a node set
to the chain which automatically selects entities linked to the product (yellow).</p>
      <p>
        To enhance the visualisation of the graph the user may customise the style
of each individual node set and the edges that connect them. Customisation
includes changing the colour and size of nodes, the strength of edges and adding
textual descriptions to entities. The graph layout is determined by choosing
one of the available algorithms such as the Kamada-Kawai [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] algorithm and
optionally tweaking their parameters.
      </p>
      <p>Once the graph is generated the user may select any graph element to
retrieve additional information. Clicking nodes opens a property dialog displaying
all links to other resources. These links can be added to the graph with their
predicate becoming an edge and their object becoming a new node. Any graph
element can be transformed into a more detailed version of itself, displaying
information directly in the graph, or be removed from the graph.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Architecture and Implementation</title>
      <p>The server-client architecture depicted in g. 2 o ers many advantages for a
graph visualisation framework: Users upload data they want to analyse to a
central repository. Any users with access to the repository can now use their
browser to construct and customise graphs. Saving their work to the server
allows them to continue editing from another computer or platform and sharing
fully interactive graphs with other users.</p>
      <p>A Java web service is used
as the interface between the
OpenRDF Sesame repository
and the client web
application. It connects to the reposi- Fig. 2. Server-Client architecture with data query.
tory, retrieves data and relays
them to the web application using JSON. The web service takes Chains as
input and translates them into SeRQL queries. The query results are parsed and
transformed into node and edge objects which the web application can use to
draw the graph.</p>
      <p>The web application is served as XHTML markup with a large collection of
JavaScript aided by popular libraries such as jQuery. No server page technology
is used, the communication to the server relies sololy on AJAX requests to the
web service. The entire process of evaluating the data, applying custom style
rules, calculating the graph layout using the algorithm of choice and drawing
the graph is done on the client-side. The graph rendering engine generates the
SVG markup (which uses XML syntax) and embeds scripts and triggers to enable
interactivity as well as RDF metadata.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Use Case</title>
      <p>
        In order to test and evaluate the framework an example repository has been
created using the data gathered from the Amazon.com database by the
MultiDomain Sentiment Data Analysis project [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The repository contains millions
of product reviews which provide information on how highly certain products
are regarded by di erent groups of users.
      </p>
      <p>The data on products from the category DVD make up for almost 100,000
reviews written by 50,000 users about 13,000 products. Visualising all the
information in one graph is not only technically infeasible but also useless as a
medium for research. The Bramble Framework enables analysts to search for
information about one certain product and visualise how well it is received by
users. Di erent styles can be used to identify quickly which customers are in
favour of a product and which are not. Analysts are able to display additional
information about a customer who dislikes a certain product and nd out if
and why another product is preferred. This leads to identifying strong market
contenders and elds to improve the product in.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>The Bramble Framework demonstrates how graphs can be visualised over the web
while retaining full interactivity and a responsive user interface. Using SVG to
render nodes and edges has several advantages over plugins such as Java or Adobe
Flash: graphs can be exported as SVG to be modi ed on a per-element basis by
external programs and scaled without loss of quality. In addition, metadata can
be embedded into the XML markup and the technology is supported by all major
browsers and platforms. The client-server approach with a web-based frontend
makes data in existing web repositories more accessible. Furthermore, complex
relationships in datasets consisting of millions of statements can be visualised
using the frameworks exible selection method.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>B.</given-names>
            <surname>Gretarsson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Bostandjiev</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. O'Donovan</surname>
            and
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Ho</surname>
          </string-name>
          <article-title>llerer: WiGis: A Framework for Scalable Web-based Interactive Graph Visualizations</article-title>
          . (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>T.</given-names>
            <surname>Kamada</surname>
          </string-name>
          and
          <string-name>
            <surname>S. Kawai:</surname>
          </string-name>
          <article-title>An algorithm for drawing general undirected graphs</article-title>
          .
          <source>Inf</source>
          . Process. Lett.,
          <volume>31</volume>
          , 7{
          <fpage>15</fpage>
          (
          <year>1989</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>J.</given-names>
            <surname>Blitzer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dredze</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Pereira</surname>
          </string-name>
          <article-title>: Biographies, bollywood, boomboxes and blenders: Domain adaptation for sentiment classi cation</article-title>
          .
          <source>In ACL</source>
          ,
          <volume>187</volume>
          {
          <fpage>205</fpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>