<!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>GRAPHIUM: Visualizing Performance of Graph and RDF Engines on Linked Data</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Alejandro Flores</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Guillermo Palma</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Maria-Esther Vidal</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Domingo De Abreu</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Valeria Pestana</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jose´ Pin˜ero</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jonathan Queipo</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jose´ Sa´nchez</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Universidad Simo ́n Bol ́ıvar</institution>
          ,
          <addr-line>Caracas</addr-line>
          ,
          <country country="VE">Venezuela</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We present GRAPHIUM a tool to visualize trends and patterns in the performance of existing graph and RDF engines. We will demonstrate GRAPHIUM and attendees will be able to observe and analyze the performance exhibited by Neo4j, DEX, HypergraphDB and RDF-3x when core graph-based and mining tasks are run against a variety of benchmarks of graphs of diverse characteristics. Graphs are commonly used to represent linked data, and several efficient algorithms have been proposed to consume and mine graphs. For example, Saha et al. [8] and Thor et al. [9] have defined densest subgraphs and graph summarization techniques to mine linked datasets and identify patterns between concepts and links. Further, algorithms for pattern matching, graph traversal, and graph reachability have been extensively studied in the literature [1]. The majority of these algorithms are computationally complex, and rely on main-memory structures to efficiently solve core graph tasks. Additionally, different engines have been developed to manage, store and query graph databases (e.g., Neo4j [7], DEX [4], HypergraphDB [2], RDF-3x [6]). Each graph database engine implements particular structures and usually relies on indices to speed up execution time; additionally, some engines make available APIs comprised of methods to solve core graph-based tasks. Although existing graph and RDF engines could be used to store linked data, mined and consumed by existing graph algorithms, there is no clear understanding of how these algorithms may behave on these engines. We present GRAPHIUM a visualization tool that exploits different graphical representations to report on the results of evaluating Neo4j, DEX, HypergraphDB and RDF-3x on a variety of benchmarks of graphs and graph-based tasks. Visualization techniques used in GRAPHIUM facilitate the understanding of trends and patterns between the performance exhibited by these engines during the execution of tasks of reachability, traversal, adjacency, pattern matching, densest graph, and graph summarization on a variety of graphs of different density and size. During the demonstration attendees will go through the visualization of different patterns that will allow them to uncover the properties and limitations of existing graph engines, as well as to reach conclusions about which engine is more appropriate for a given task. Demo is available at http://graphium.ldc.usb.ve/demo/.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
    </sec>
    <sec id="sec-2">
      <title>The GRAPHIUM architecture</title>
      <p>
        GRAPHIUM is built on top of a catalog that keeps experimental results collected
during the evaluation of existing graph database and RDF engines against a variety of
benchmarks. GRAPHIUM exploits visualization services implemented by the D3.js
JavaScript library1. Figure 1 shows GRAPHIUM GUI. In the area enclosed in red
rectangle number 1, a user can select to analyze: i) a particular graph, e.g., the dense graph
DSJC1000.9; ii) an engine, e.g., Neo4j, DEX; and iii) a particular task, e.g.,
reachability. Results are visualized in the area enclosed by the blue rectangle number 2;
GRAPHIUM exploits visualization capabilities of the Parallel Coordinates2 to
illustrate patterns and trends in the performance of each engine.
We consider a benchmark of six graphs: DSJC1000.1, DSJC1000.5, DSJC1000.9,
USA-road-d.NY, USA-road-d.FLA, and Berlin10M. The family of DSJC1000.X
graphs were randomly generated using the techniques proposed by Johnson et al. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] as
instances to solve the graph coloring problem3; all these graphs have 1,000 nodes, and
the graph density varies from 0.1 to 0.9. Instances of USA-road-d.NY and
USA-roadd.FLA correspond to the New York City and Florida State road networks that were part
of the 9th DIMACS Implementation Challenge - Shortest Paths4. Finally, Berlin10M
was generated with The Berlin SPARQL Benchmark5. The goal of the demonstration
is to visualize trends and patterns that can be found in the performance of Neo4j, DEX,
HypergraphDB, and RDF-3x, where performance is measured in terms of execution
time (elapsed time in msecs.), main-memory required to execute the graph-task
(measured in KB), and secondary-memory needed to store the internal representation of
1 http://d3js.org/
2 http://mbostock.github.io/d3/talk/20111116/iris-parallel.html
3 https://sites.google.com/site/graphcoloring/vertex-coloring
4 http://www.dis.uniroma1.it/challenge9/download.shtml
5 http://wifo5-03.informatik.uni-mannheim.de/bizer/berlinsparqlbenchmark/
the graph (measured in MB). Experiments were run on a Sun Fire X4100 M2
machine with two AMD Opteron 2218 processors with 16GB RAM, running a 64-bit
Linux CentOS 5.5. All tests were executed in cold cache, i.e., we cleared the cache
before running each task by performing the command sh -c "sync ; echo 3 &gt;
/proc/sys/vm/drop caches". Additionally, the machine was dedicated exclusively
to run these experiments. The evaluated graph-based tasks are the following:
Graph Creation: creates and stores internal representation of a graph.
Adjacency: checks node/edge adjacencies.
      </p>
      <p>Reachability: traverses a graph following different strategies: Breadth-first search (BFS)
and Depth-first search (DFS). Additional, k-hops retrieves sets of nodes such that there
is a path of length k from a given start node. External implementations rely on basic
adjacency methods, while internal implementations use API methods provided by the
engines to solve the task.</p>
      <p>
        Pattern matching: solves subgraph isomorphisms. It was evaluated as the result of
traversing the graphs and finding the subgraphs that meet the given patterns; we call
this implementation internal. Additionally, pattern matching tasks were specified as
SPARQL and Cypher queries and evaluated in RDF-3x and Neo4j, respectively.
Densest subgraph: given a graph G = (V; E) this tasks is to find a bipartite subgraph
BSG between subsets S and T of V , such that, that BSG maximizes the density, i.e.,
d(S; T ) = pjE(S;T )j where E(S,T) is the set of edges going from S to T . The
evalu(jSjjT j)
ated algorithm corresponds to the one proposed by Saha et al.[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]; our implementation
exploits node/edge adjacency API methods of the engines.
      </p>
      <p>
        Graph summarization: given a graph G = (V; E) this tasks is to find a compact
representation of G or aggregate graph SG comprised of hyper-nodes, hyper-edges, and
corrections. Hyper-nodes correspond to sets of nodes in G, while a hyper-edge connects
two hyper-nodes and represents set of edges between all pairs of nodes in the two
hypernodes. The set of corrections corresponds to additions or deletions of edges represented
in the hyper-edges of SG and that are either not present in G (deletions) or that are
not presented in the hyper-edge but that were in G. We evaluate the performance of the
greedy algorithm proposed by Navlakha et al.[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] on Neo4j, DEX and HypergraphDB;
our implementation exploits node/edge adjacency API methods of the engines.
      </p>
      <p>We will demonstrate the following use cases:
Effects of graph characteristics on the performance of the graph and RDF engines.
Graphs are characterized by density, number of edges and nodes, and label distribution.
Attendees will be able to choose between diverse graphs, and analyze the performance
(time and memory) of the different engines in all the studied graph-based tasks. First,
time required to create the internal representation of a graph is affected by both the
density of the graph and the number of edges in any engine. Additionally, we will be able
to observe that even RDF-3x outperforms the rest of the engines in pattern matching, its
performance is impacted whenever the graph is dense. Further, graph density, size and
number of labels affect the performance of both graph summarization and densest
subgraph in all the engines. Nevertheless, graph summarization seems to be more impacted
by the graph density and the number of labels than for the size of the graph. Contrary,
densest subgraph is more influenced by the size of the graphs.</p>
      <p>Effects of the techniques implemented by a given engine in the performance of the
graph-based tasks in different graphs. Attendees will observe that RDF-3x exhibits
the best performance during graph creation and adjacency tasks (expressed as SPARQL
queries); in case of k-hops, RDF-3x also outperforms the rest of the engines, except
in the case of dense graphs. DEX seems to overcome the rest of the engines when the
graphs are dense, while Neo4j exhibits better performance in sparse graphs whenever
they have a large number of labels, e.g., USA-road-d.NY and USA-road-d.FLA.
Impact of a given tasks in the performance of the graph and RDF engines. We
show the impact that a given task can have in the performance of an engine. For
example, during graph creation RDF-3x can exploit main-memory data structures, B+-tree
indices and internal representation of a graph, and exhibits the best performance.
Similarly, because RDF-3x implements optimization and execution techniques that exploit
the properties of a graph internal representation; thus, the best implementation of this
task seems to be on top of RDF-3x. During the evaluation of k-hops, DEX and Neo4j are
competitive. For traversals, internal implementations are able to exploit the properties
of the data structures and indices implemented by each engine as well as the methods
exported in their APIs; in both BFS and DFS, Neo4j and DEX exhibit a similar
performance. Finally, when the mining tasks of densest subgraph and graph summarization
are considered, DEX performs quite well in mining tasks if graphs are dense, while
Neo4j has better performance in sparse graphs with a large number of labels.
4</p>
    </sec>
    <sec id="sec-3">
      <title>Conclusions</title>
      <p>GRAPHIUM allows to visualize patterns in the performance of graph and RDF engines
when they are executed against different benchmarks of graphs and tasks. Different
configurations will be analyzed allowing the attendees to understand the graph
characteristics and tasks that benefit the performance of existing graph and RDF engines.
References</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>C. C.</given-names>
            <surname>Aggarwal</surname>
          </string-name>
          and
          <string-name>
            <given-names>H.</given-names>
            <surname>Wang</surname>
          </string-name>
          .
          <article-title>Graph data management and mining: A survey of algorithms and applications</article-title>
          .
          <source>In Managing and Mining Graph Data</source>
          , pages
          <fpage>13</fpage>
          -
          <lpage>68</lpage>
          .
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>B.</given-names>
            <surname>Iordanov</surname>
          </string-name>
          .
          <article-title>Hypergraphdb: A generalized graph database</article-title>
          .
          <source>In WAIM Workshops</source>
          , pages
          <fpage>25</fpage>
          -
          <lpage>36</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>D. S.</given-names>
            <surname>Johnson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. R.</given-names>
            <surname>Aragon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. A.</given-names>
            <surname>McGeoch</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Schevon</surname>
          </string-name>
          .
          <article-title>Optimization by simulated annealing: an experimental evaluation; part ii, graph coloring and number partitioning</article-title>
          .
          <source>Operations research</source>
          ,
          <volume>39</volume>
          (
          <issue>3</issue>
          ):
          <fpage>378</fpage>
          -
          <lpage>406</lpage>
          ,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>N.</surname>
          </string-name>
          <article-title>Mart´ınez-</article-title>
          <string-name>
            <surname>Bazan</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <article-title>Munte´s-</article-title>
          <string-name>
            <surname>Mulero</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <article-title>Go´mez-</article-title>
          <string-name>
            <surname>Villamor</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Nin</surname>
          </string-name>
          , M.
          <article-title>-A. Sa´nchez-Mart´ınez, and</article-title>
          <string-name>
            <given-names>J.-L.</given-names>
            <surname>Larriba-Pey</surname>
          </string-name>
          .
          <article-title>Dex: high-performance exploration on large graphs for information retrieval</article-title>
          .
          <source>In CIKM</source>
          , pages
          <fpage>573</fpage>
          -
          <lpage>582</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>S.</given-names>
            <surname>Navlakha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Rastogi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N.</given-names>
            <surname>Shrivastava</surname>
          </string-name>
          .
          <article-title>Graph summarization with bounded error</article-title>
          .
          <source>In ACM SIGMOD</source>
          , pages
          <fpage>419</fpage>
          -
          <lpage>432</lpage>
          . ACM,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>T.</given-names>
            <surname>Neumann</surname>
          </string-name>
          and
          <string-name>
            <given-names>G.</given-names>
            <surname>Weikum.</surname>
          </string-name>
          x
          <article-title>-rdf-3x: Fast querying, high update rates, and consistency for rdf databases</article-title>
          .
          <source>PVLDB</source>
          ,
          <volume>3</volume>
          (
          <issue>1</issue>
          ):
          <fpage>256</fpage>
          -
          <lpage>263</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>I.</given-names>
            <surname>Robinson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Webber</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E. Eifrem. Graph</given-names>
            <surname>Databases. O'Reilly Media</surname>
          </string-name>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>B.</given-names>
            <surname>Saha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hoch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Khuller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Raschid</surname>
          </string-name>
          , and
          <string-name>
            <surname>X.-N. Zhang.</surname>
          </string-name>
          <article-title>Dense subgraphs with restrictions and applications to gene annotation graphs</article-title>
          .
          <source>In RECOMB</source>
          , pages
          <fpage>456</fpage>
          -
          <lpage>472</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>A.</given-names>
            <surname>Thor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Anderson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Raschid</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Navlakha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Saha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Khuller</surname>
          </string-name>
          , and
          <string-name>
            <surname>X.-N. Zhang.</surname>
          </string-name>
          <article-title>Link prediction for annotation graphs using graph summarization</article-title>
          .
          <source>In ISWC</source>
          , pages
          <fpage>714</fpage>
          -
          <lpage>729</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>