<!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>Exploring semantic datasets with RDF Surveyor</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Guillermo Vega-Gorgojo</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Martin Giese</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Laura Slaughter</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Informatics, University of Oslo</institution>
          ,
          <country country="NO">Norway</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Despite the increasing availability of RDF data, exploring and browsing semantic datasets is still a daunting task for lay users. RDF Surveyor is an easy-to-use visual exploration tool that can be plugged in any CORS-enabled SPARQL 1.1 endpoint without requiring any installation. RDF Surveyor offers an intuitive user interface that gives an overview of the repository contents, supports class navigation, and individual visualisation. RDF Surveyor is very lightweight and can handle large datasets such as DBpedia in a responsive way.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>In this demonstration we present RDF Surveyor, a novel and lightweight tool
for exploring semantic datasets. It offers an easy-to-use interface that completely
hides the RDF and SPARQL syntax from the user, providing an overview of the
repository contents, intuitive class navigation, and visualisation of individuals.
Notably, RDF Surveyor does not require any installation and can handle large
datasets.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Overview of RDF Surveyor</title>
      <p>RDF Surveyor is a Javascript tool available under an Apache 2 license on
GitHub.2 A live version of RDF Surveyor is also available at http://tools.
sirius-labs.no/rdfsurveyor for testing purposes. The tool runs entirely in a
browser without relying on any server component, while target repositories only
require a CORS-enabled3 SPARQL 1.1 endpoint.</p>
      <p>RDF Surveyor solely relies on the SPARQL endpoint to build the user
interface, submitting queries on demand based on the actions performed by the
user, and caching results in the session storage of the browser to minimise the
number of queries posed. To begin the exploration of a dataset, the user only
has to enter the URI of the SPARQL endpoint and optionally the URI of a
named graph in a web form. RDF Surveyor then submits a bootstrapping query
to get the upper classes in the dataset; when results arrive, further queries are
sent to obtain labels, comments, direct subclasses, and number of individuals
for the upper classes. All this information is used to create an overview page of
the repository with the employed namespaces (Fig. 1(a)) and the list of upper
classes sorted by the number of direct subclasses and members (Fig. 1(b)).</p>
      <p>The user can then filter out unwanted namespaces, drill down the subclasses
of a listed class, or select a class. In the latter case, RDF Surveyor prepares a
page with the class URI, label, comment, superclasses, subclasses, and member
individuals (Fig. 1(c)) – new queries are sent in case of missing information.
The user can navigate the class taxonomy, and there are controls for paginated
browsing and searching individuals by label – supported by limit/offset modifiers
and regex expressions. If an individual is selected, a page is created with the
individual URI, label, comment, class types, datatype properties, and direct
and inverse object properties (Fig. 1(d)). RDF Surveyor also tries to find a
picture URL and geographic coordinates to feed an image and a map widget,
respectively. The user can jump to other individual or class pages by clicking the
corresponding links. In every page, there is a search textbox for finding classes
and individuals by label in the whole dataset (see the navbar in Fig. 1(a)).</p>
      <p>Other features of RDF Surveyor include its RESTful design, so all pages
expose consistent URIs that can be safely shared and bookmarked; support for
multilingual datasets, taking the browser language as first option and English in
other case; and, finally, the user interface is adapted to mobile devices.
2 https://github.com/guiveg/rdfsurveyor
3 https://enable-cors.org/
3</p>
      <p>ID Step description
S1 Load DBpedia repository
S2 Filter out the owl namespace
S3 Expand subclasses of dbo:Work
S4 Load the Artwork class
S5 Find members of Artwork with breda in the label
S6 Load The Surrender of Breda individual</p>
    </sec>
    <sec id="sec-3">
      <title>Demonstration overview</title>
      <p>The demonstration will showcase the exploration of DBpedia or any other dataset
exposing a SPARQL endpoint with RDF Surveyor. Table 1 presents a sample
walkthrough for producing Fig. 1 – the number of queries submitted and the
elapsed time are reported, as measured with a 2014 MacBook Pro. Every step
took less than 1 second to complete, so the user experience is not compromised.4
Since query results are cached locally, a repetition of the walkthrough does not
involve new queries and every step takes then less than 0.1 second.</p>
      <p>In Step S1, information about the upper classes is obtained (see Section 2)
– note that for every class found, RDF Surveyor asks if it has more than one
thousand members, and only requests the actual count in case of a negative
answer for performance reasons. S2 is the slowest step due to an expensive query
with a STRSTARTS function for detecting subclasses of upper classes beginning
with the owl namespace, finding 49 subclasses such as dbo:Place or dbo:Work;
subsequent queries compiled information about the classes found.</p>
    </sec>
    <sec id="sec-4">
      <title>Acknowledgements</title>
      <p>This work has been funded by the Norwegian Research Council through BIGMED
(IKT 259055), HealthInsight (NFR 247784/O70), and SIRIUS (NFR 237898).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Arenas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grau</surname>
            ,
            <given-names>B.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kharlamov</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marciuška</surname>
          </string-name>
          , Š.,
          <string-name>
            <surname>Zheleznyakov</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Faceted search over RDF-based knowledge graphs</article-title>
          .
          <source>Web Semantics: Science, Services and Agents on the World Wide Web</source>
          <volume>37</volume>
          ,
          <fpage>55</fpage>
          -
          <lpage>74</lpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Dadzie</surname>
            ,
            <given-names>A.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rowe</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Approaches to visualising Linked Data: A survey</article-title>
          .
          <source>Semantic Web</source>
          <volume>2</volume>
          (
          <issue>2</issue>
          ),
          <fpage>89</fpage>
          -
          <lpage>124</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Soylu</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giese</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jimenez-Ruiz</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vega-Gorgojo</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Experiencing OptiqueVQS: a multi-paradigm and ontology-based visual query system for end users</article-title>
          .
          <source>Universal Access in the Information Society</source>
          <volume>15</volume>
          (
          <issue>1</issue>
          ),
          <fpage>129</fpage>
          -
          <lpage>152</lpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Vega-Gorgojo</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giese</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heggestøyl</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Soylu</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Waaler</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>PepeSearch: Semantic data for the masses</article-title>
          .
          <source>PloS ONE</source>
          <volume>11</volume>
          (
          <issue>3</issue>
          ),
          <year>e0151573</year>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>