<!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>iRap - An Interest-Based RDF Update Propagation Framework</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Kemele M. Endris</string-name>
          <email>endris@cs.uni-bonn.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sidra Faisal</string-name>
          <email>faisals@cs.uni-bonn.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fabrizio Orlandi</string-name>
          <email>orlandi@cs.uni-bonn.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sören Auer</string-name>
          <email>auer@cs.uni-bonn.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Simon Scerri</string-name>
          <email>scerri@cs.uni-bonn.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Bonn &amp; Fraunhofer IAIS</institution>
          ,
          <addr-line>Bonn</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We present the iRap (interest-based RDF update propagation) framework that propagates only relevant parts of updates published by a source dataset to a local replica excerpt of the source dataset. This interest-based update propagation enables remote applications to 'subscribe' to relevant datasets and consistently reflect the necessary changes locally without the need to frequently replace the entire dataset (or a relevant subset).</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Providing services on top of large LOD datasets is becoming a challenge due to
the lack of service levels regarding availability of the datasets and restrictions
imposed by the publisher on the type of query forms and number of results [3].
Hosting a replica of large datasets, such as DBpedia and LinkedGeoData, is costly,
but organizations might host only relevant (interesting) parts of those datasets
using approaches such as RDFSlice [2]. Once the sliced dataset is hosted, the
source dataset continues to evolve in terms of content and ontology. Maintaining
a consistent and up-to-date replica of the relevant data is a major challenge.
Resources in the source might be added, updated or removed from the dataset.
In this poster paper, we introduce the iRap – interest-based RDF update
propagation framework - an implementation for interest-based RDF update propagation
approach presented in [1]. iRap enables organizations to update their local
replicas by registering interest query patterns and propagate changes from source
datasets regularly.
The iRap framework1, is implemented in Java using Jena-ARQ2, consists of
three modules: (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) Interest Manager (IM), (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) Changeset Manager (CM) and
(
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) Interest Evaluator (IE), each of which can be extended to accommodate new
or improved functionality.
      </p>
      <sec id="sec-1-1">
        <title>1 http://eis.iai.uni-bonn.de/Projects/iRap.html 2 https://jena.apache.org/</title>
        <p>
          The IM component is responsible for managing subscriptions, i.e, registration
of interest expressions. An organization provides information about the source
dataset URI to synchronize with, an interest query to select relevant parts of
a changeset, and a target dataset endpoint (or Jena TDB) URI to propagate
interesting updates, as shown in Listing 1.1. iRap evaluates interest expressions
over changesets being published along with the source dataset. The CM module
regularly checks for new changesets from the source dataset URI. After
downloading and decompressing the new changesets, the CM notifies the IE, which
then imports a list of registered interest expressions and initiates the evaluation.
The result of executing an interest evaluation of an interest expression over a
changeset are: (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) interesting, (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) potentially interesting, and (
          <xref ref-type="bibr" rid="ref3">3</xref>
          ) uninteresting
triples.
        </p>
        <p>Interesting triples are triples that fully match the interest query, but not
necessarily the optional graph patterns (OGPs). Potentially interesting triples
are triples that match only parts of the basic graph pattern (BGP) of an
interest query. Uninteresting triples are those triples that do not match with any
of triple patterns of an interest query. Interesting and potentially interesting
triples originating from the set of removed triples are called interesting-removed
triples and potentially interesting-removed triples, respectively. Interesting and
potentially interesting triples originating from the set of added triples are called
interesting-added triples and potentially interesting-added triples, respectively.
The evaluation process can be summarized as follows:
Step 0 The user configures a target dataset (local replica)
Step 1 The user registers interest expressions
Step 2 The CM checks new changesets for registered interest expressions
Step 3 If new changesets are available, download and extract changeset files;
go to Step 2, otherwise</p>
        <p>Listing 1.1: Interest expression example
&lt;http://eis.iai.uni-bonn.de/irap/resource/Soccer&gt; rdf:type :Interest ;
:sourceEndpoint "http://live.dbpedia.org/sparql" ;
:lastPublishedFilename "lastPublishedFile.txt" ;
:bgp "?a a dbo:Athlete . ?a dbp:goals ?goals ." ;
:ogp "?a foaf:homepage ?page ." ;
:changesetBaseURI "http://live.dbpedia.org/changesets/" ;
:changesetPublicationType "REMOTE" ;
:subscriber &lt;http://eis.iai.uni-bonn.de/irap/resource/Sport.org&gt; .
&lt;http://eis.iai.uni-bonn.de/irap/resource/Sport.org&gt; rdf:type :Subscriber;
:piStoreBaseURI "sports-pi-tdb" ; :piStorageType "TDB" ;
:targetType "TDB" ; :targetEndpoint "sports-tdb" ;
:piTrackingMethod "LOCAL" ; :targetUpdateURI "sports-tdb" .</p>
        <p>Step 4 IE evaluates interest expressions over newly downloaded changeset files
Step 5 IE propagates interesting triples to target dataset
Step 6 IE stores potentially interesting triples to Potentially Interesting Dataset
Step 7 Go to step 2</p>
        <p>Interest expression A user registers her interest(s) to Interest Manager
(IM) using interest expression ontology3. The main part of the expression is the
interest query that contains the triple patterns that must be matched to consider
a set of triples as interesting. Interest expressions must be defined based on the
user’s application requirement. That is, interest query of an interest expression
must be the same as the query that is used to prepare the initial target dataset
(subset of the source dataset).</p>
        <p>Changeset management: Once the source dataset URI is registered during
interest registration, the Changeset Manager component of iRap regularly checks
for new changesets published from the source dataset. Whenever new changesets
are found, they are due for download and initiate interest evaluation.
Candidate generation: The first step of interest evaluation over a changeset is
generation of candidate interesting triples. These candidates can be set of triples
that match the overall or part of interest query. First, the full interest query
will be evaluated on the set of deleted triples and added triples, respectively, to
get initial interesting deleted triples and interesting added triples. Then, iRap
extracts the candidate interesting triples (refers to as potentially interesting
triples). To extract potentially interesting triples, we first go through formulation
and pruning steps of candidate query.</p>
        <p>Query formulation: To obtain all the matching candidate triples from the
changeset, we combine basic graph pattern (BGP) of interest expressions and create a
CONSTRUCT query that will be evaluated on a changeset. Using combinations,
we have 2|BGP | 1 candidate queries (excluding the full interest query) for each
interest expression.</p>
        <p>Pruning: This step removes queries that contain non-disjoint patterns and queries
that contains only one triple pattern with three variables. OGPs also be excluded,
if they do not have a common variable with the BGP of the candidate query.</p>
      </sec>
      <sec id="sec-1-2">
        <title>3 http://eis.iai.uni-bonn.de/irap/ontology/</title>
        <p>Candidate assertion: Up to this step, iRap computes candidate triples that
match part of interest expression, here the missing part of these candidates,
with respect to interest expression, will be checked from the target dataset. The
outcome of this step confirms whether the candidate triples become interesting
with the missing triples can be found in target dataset or not.</p>
        <p>Propagation: The propagation step combines the generated candidates with
triples that matches the missing parts of interest query which are found in
target dataset and apply them on target dataset. Propagation of interesting triples
is made sequentially, interesting-removed triples then interesting-added triples.
Interesting-removed triples are propagated by applying SPARQL DELETE query
on target dataset. Triples that matches the missing parts of the interest query
during candidate assertion becomes potentially interesting, because they are not
actually removed form the source dataset but they just downgraded to
potentially interesting because of they are no longer satisfying the full interest query.
Candidate removed triples that do not have matching from target dataset
during candidate assertion are propagated by applying SPARQL DELETE query
on potentially interesting dataset. Interesting-added triples are propagated by
applying SPARQL INSERT query on target dataset. Candidate added triples
that do not have matching for the missing parts of interest query from the
target dataset are propagated by applying SPARQL INSERT query on potentially
interest dataset.
3</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Conclusion and Future Work</title>
      <p>We presented a framework for interest-based RDF update propagation to
consistently maintain replicas of large LOD datasets. We have presented the
algorithms used for interest evaluation in our framework. Complementary details
and a comprehensive formalization and evaluation of the approach can be found
in the accompanying paper [1]. The framework can significantly reduce the size
of the data updates required to maintain a local replica up-todate, and the
frequency of such updates.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Endris</surname>
            ,
            <given-names>K.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Faisal</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Orlandi</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Auer</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Scerri</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Interest-based RDF update propagation</article-title>
          .
          <source>In: 14th International Semantic Web Conference - ISWC2015</source>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Marx</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shekarpour</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Auer</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ngomo</surname>
            ,
            <given-names>A.N.</given-names>
          </string-name>
          :
          <article-title>Large-scale RDF dataset slicing</article-title>
          .
          <source>In: 2013 IEEE Seventh International Conference on Semantic Computing</source>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Verborgh</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hartig</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Meester</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Haesendonck</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Vocht</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vander</surname>
            <given-names>Sande</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Cyganiak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Colpaert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Mannens</surname>
          </string-name>
          , E., Van de Walle, R.:
          <article-title>Querying datasets on the web with high availability</article-title>
          .
          <source>In: ISWC 2014</source>
          . Springer (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>