<!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>4sr - Scalable Decentralized RDFS Backward Chained Reasoning</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Manuel Salvadores</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gianluca Correndo</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Steve Harris</string-name>
          <email>steve.harris@garlik.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nick Gibbins</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nigel Shadbolt</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Electronics and Computer Science, University of Southampton</institution>
          ,
          <addr-line>Southampton</addr-line>
          ,
          <country country="UK">UK</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Garlik Ltd</institution>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <fpage>2</fpage>
      <lpage>5</lpage>
      <abstract>
        <p>This poster paper presents the design and implementation of an RDFS reasoner based on a backward chaining approach and implemented on a clustered RDF triplestore. The system presented, called 4sr, uses 4store as base infrastructure. In order to achieve a highly scalable system we implemented the reasoning at the lowest level of the quad store, the bind operation. The bind operation in 4sr traverses the quad store indexes matching or expanding the query variables with awareness of the RDFS semantics.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>http://4sreasoner.ecs.soton.ac.uk/demo.html</p>
    </sec>
    <sec id="sec-2">
      <title>Introduction</title>
      <p>The Semantic Web community is promoting RDF stores (or triple stores) as
the data storage technology for the Web of Data. RDF stores implement some
extra features that make them very attractive for certain type of applications.
For instance, data is not bound to a schema and it can be asserted directly
from RDF sources (e.g. RDF/XML or Turtle les) due to their native support
of Semantic Web data standards. But the most attractive characteristic is the
possibility of implementing an entailment regime. Having entailment regimes in
a triple store allows us to infer new facts, exploiting the semantics of properties
and the information asserted in the knowledge base.</p>
      <p>Today, it is still a challenge to query datasets with a few hundred of millions
of triples following the RDFS regime for datasets subject to frequent changes. If
we want semantic databases to handle big volumes of data transactions then we
need to nd backward chained approaches that do not add excessive overhead
to the query phase.</p>
      <p>
        4sr 1 has been implemented on the 4store [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] RDF database. 4store is an
e cient, scalable and distributed RDF database which gives us a good platform
on which to implement a backward chaining and decentralised approach.
      </p>
      <p>To summarize, the main characteristics of 4sr are:
1 4sr is available from http://4sreasoner.ecs.soton.ac.uk/ under GNU GPL
license
{ Low level RDFS Backward Chained reasoning implementation.
{ Duplicate entailment detection and elimination.
{ Named graph management.
{ Client applications can disable/enable the RDFS entailment regime via
parameters in the HTTP SPARQL endpoint.
{ 4sr doesn't add overhead at the import phase keeping intact 4store's import
throughput (100kT/s).
2</p>
    </sec>
    <sec id="sec-3">
      <title>Background</title>
      <p>
        In the context of distributed techniques, [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] performs Forward Chaining (FC)
parallel reasoning to expand the RDFS closure over hundreds of millions of
triples. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] pursues a similar goal and using MapReduce computes the RDFS
closure over 865M triples in less than two hours. A continuation of this work has
been presented in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] providing a parallel solution to compute the OWL Horst
regime.
      </p>
      <p>
        [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] presented a novel method based on the fact that Semantic Web data
present very skewed distributions among terms. Based on this evidence, the
authors present a FC algorithm that works on top of data ows in a p2p-alike
infrastructure. This approach reported a materialization of RDFS for 200 million
triples in 7.2 minutes on a cluster of 64 nodes.
      </p>
      <p>Obviously, in the last 2-3 years there has been a signi cant advance on
materialization of closure for both RDFS and OWL languages. However very little
work has been presented on how to actually query vast amounts of data and how
to connect those solutions with SPARQL engines.
3</p>
    </sec>
    <sec id="sec-4">
      <title>4sr Design and Implementation</title>
      <p>The RDFS inferencing in 4sr is based on two new components that have been
incorporated into 4store's architecture:
{ RDFS Sync: A new processing node to replicate RDFS statements called
RDFS sync. This node gathers all RDFS statements from all the storage
nodes and keeps a synchronized copy of such information accessible to the
bind operation in all the segments. After every import, update, or delete,
this process extracts the new set of RDFS statements in the KB and sends it
to the Storage Nodes. Even for large KBs this synchronization is fast because
RDFS statements tend to be a very small proportion of the dataset. This
node is also responsible for ltering out entailed duplicates.
{ bind': The new bind function matches the quads not just taking into account
the explicit knowledge but also the extensions from the RDFS semantics.</p>
      <p>AAppplpicliactaiotinosns
ApApplpicliactaiotinosns</p>
      <p>SPARQL Processing Node</p>
      <p>QE
bind'(M,S,P,O)</p>
      <p>bind'(M,S,P,O)
Storage Node 0</p>
      <p>Storage Node 1
RDFS
statements</p>
      <p>RDFS
statements</p>
      <p>RDFS sync</p>
      <p>
        The current version of 4sr implements the RDFS rule entailments related to
rdfs:subClassOf, rdfs:subPropertyOf, rdfs:domain and rdfs:range. These
semantics include the rules rdfs2, rdfs3, rdfs5, rdfs7, rdfs9, rdfs11, ext1, ext2, ext3 and
ext4 of the RDFS Rule Entailment Regime (see section 7.3 in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]).
      </p>
      <p>
        The bind' takes a super set of 4 elements &lt; M; S; P; O &gt; to match the
segment quads. The rst goal in bind' is to expand P and O sets so as to broaden
the index coverage. After this, the algorithm iterates over the M; S; P; O patterns
applying not just an explicit match but a match where the members of the quads
are compared taking into account RDFS semantics. Every matched solution with
p or/and o unbound will be expanded according to the RDFS entailment regime.
As a nal step, duplicates are detected and eliminated. This approach has been
presented in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>This architecture has been implemented in ANSI C 99 using a custom TCP/IP
protocol to communicate Storage Nodes and the RDFS Sync Node. Figure 2 gives
an overview of how the previous phases are implemented.</p>
      <p>seg
M
S
P
O</p>
      <p>P &amp; O
loop
modification</p>
      <p>P &amp; O
closured
match</p>
      <p>P &amp; O
solution
expansion
duplicate
detection
segment
result
M,S,P,O loops
domain &amp; range
when 'p' is rdf:type</p>
      <p>RDFS_2&amp;3</p>
      <p>Fig. 2. Bind' processing</p>
      <p>
        Due to the lack of space, we refer the committee to [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] where we preliminary
tested 4sr using the Berlin SPARQL Benchmark.
      </p>
      <p>In this poster paper we present a backward chained decentralized
implementation of the RDFS entailment. The novelty of our work is to implement such
reasoning in the bind operation of an RDF decentralized database. 4sr o ers a
good balance between import throughput and query performance over the RDFS
entailment regime. In that sense, 4sr will support the development of Semantic
Web applications where data can change frequently and RDFS inference is
required. This poster paper will be accompanied with a demo on site similar to
the one available online at:</p>
      <p>http://4sreasoner.ecs.soton.ac.uk/demo.html
6</p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgements</title>
      <p>This work was supported by the EnAKTing project funded by the Engineering
and Physical Sciences Research Council under contract EP/G008493/1.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Harris</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lamb</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shadbol</surname>
          </string-name>
          , N.:
          <article-title>4store: The design and implementation of a clustered rdf store</article-title>
          .
          <source>In: Scalable Semantic Web Knowledge Base Systems - SSWS2009</source>
          . pp. (p.
          <volume>94</volume>
          {
          <issue>109</issue>
          ) (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Hayes</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McBride</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Rdf semantics</article-title>
          ,
          <source>w3c recommendation 10 february</source>
          <year>2004</year>
          , http: //www.w3.org/TR/rdf-mt/
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Kotoulas</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oren</surname>
          </string-name>
          , E.,
          <string-name>
            <surname>van Harmelen</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Mind the data skew: Distributed inferencing by speeddating in elastic regions</article-title>
          .
          <source>In: Proceedings of the WWW</source>
          <year>2010</year>
          ,
          <string-name>
            <surname>Raleigh</surname>
            <given-names>NC</given-names>
          </string-name>
          , USA (
          <year>2010</year>
          ), http://www.few.vu.nl/~kot/papers/www2010.pdf
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Salvadores</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Correndo</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Omitola</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gibbins</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harris</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shadbolt</surname>
          </string-name>
          , N.:
          <article-title>4s-reasoner: Rdfs backward chained reasoning support in 4store</article-title>
          . In:
          <article-title>Web-scale Knowledge Representation, Retrieval, and Reasoning (Web-KR3)</article-title>
          (
          <year>September 2010</year>
          ), http://eprints.ecs.soton.ac.uk/21255/
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Urbani</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kotoulas</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maassen</surname>
          </string-name>
          , J., van
          <string-name>
            <surname>Harmelen</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bal</surname>
            ,
            <given-names>H.E.</given-names>
          </string-name>
          :
          <article-title>Owl reasoning with webpie: Calculating the closure of 100 billion triples</article-title>
          . In: Aroyo,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Antoniou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            , Hyvonen, E.,
            <surname>ten Teije</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Stuckenschmidt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            ,
            <surname>Cabral</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Tudorache</surname>
          </string-name>
          , T. (eds.)
          <source>ESWC (1). Lecture Notes in Computer Science</source>
          , vol.
          <volume>6088</volume>
          , pp.
          <volume>213</volume>
          {
          <fpage>227</fpage>
          . Springer (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Urbani</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kotoulas</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oren</surname>
          </string-name>
          , E.,
          <string-name>
            <surname>van Harmelen</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Scalable distributed reasoning using mapreduce</article-title>
          .
          <source>In: 8th International Semantic Web Conference (ISWC2009)</source>
          (
          <year>October 2009</year>
          ), http://data.semanticweb.org/conference/iswc/2009/paper/ research/374
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Weaver</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hendler</surname>
            ,
            <given-names>J.A.</given-names>
          </string-name>
          :
          <article-title>Parallel materialization of the nite rdfs closure for hundreds of millions of triples</article-title>
          . In: International Semantic Web Conference. pp.
          <volume>682</volume>
          {
          <issue>697</issue>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>