<!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>Versioning for Linked Data: Archiving Systems and Benchmarks</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Vassilis Papakonstantinou</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Giorgos Flouris</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Irini Fundulaki</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Kostas Stefanidis</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Giannis Roussakis</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Computer Science-FORTH</institution>
          ,
          <country country="GR">Greece</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Tampere</institution>
          ,
          <country country="FI">Finland</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>As LOD datasets are constantly evolving, both at schema and instance level, there is a need for systems that support efficiently storing and querying such evolving data. The aim of this paper is to describe the way that such RDF archiving systems could be evaluated by presenting the different benchmarks in the literature, as long as the stateof-the-art archiving systems that currently exist. In addition, the weak points of such benchmarks are mentioned, and a blueprint is provided on how we are willing to deal with them.</p>
      </abstract>
      <kwd-group>
        <kwd>RDF</kwd>
        <kwd>Linked Data</kwd>
        <kwd>Versioning</kwd>
        <kwd>Archiving</kwd>
        <kwd>SPARQL</kwd>
        <kwd>Benchmarking</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        With the growing complexity of the Web, we face a completely different way of
creating, disseminating and consuming big volumes of information. The recent
explosion of the Data Web and the associated Linked Open Data (LOD)
initiative [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] has led several large-scale corporate, government, or even user-generated
data from different domains (e.g., DBpedia [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], Freebase [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], YAGO [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ]) to be
published online and become available to a wide spectrum of users [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Most of
these datasets are represented in RDF, the de facto standard for data
representation on the Web. Dynamicity is an indispensable part of LOD [
        <xref ref-type="bibr" rid="ref16 ref31">16, 31</xref>
        ]; both
the data and the schema of LOD datasets are constantly evolving for several
reasons, such as the inclusion of new experimental evidence or observations, or
the correction of erroneous conceptualizations [
        <xref ref-type="bibr" rid="ref34">34</xref>
        ].
      </p>
      <p>
        The open nature of the Web implies that these changes typically happen
without any warning, centralized monitoring, or reliable notification mechanism;
this raises the need to keep track of the different versions of the datasets and
introduces new challenges related to assuring the quality and traceability of Web
data over time. Indeed, for many applications, having access to the latest version
of a dataset is not enough. For example, applications may require access to both
the old and the new version(s) to allow synchronization and/or integration of
autonomously developed (but interlinked) datasets [
        <xref ref-type="bibr" rid="ref17 ref26 ref9">9, 17, 26</xref>
        ]. Moreover, many
applications focus on identifying evolution trends in the data, in which case
features like visualizing the evolution history of a dataset [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ], or supporting
historical or cross-version queries [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ] are necessary.
      </p>
      <p>
        Thus, archiving systems not only need to store and provide access to the
different versions, but should also be able to support various types of queries
on the data, including queries that access multiple versions [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ] (cross-version
queries ), queries that access the evolution history (delta) itself [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], as well as
combinations of the above. Even though “pure” SPARQL does not support these
types of queries, recent extensions [
        <xref ref-type="bibr" rid="ref13 ref20">20, 13</xref>
        ] are addressing this need.
      </p>
      <p>
        To support these functionalities, various RDF archiving mechanisms and
tools have been developed [
        <xref ref-type="bibr" rid="ref34">34</xref>
        ]. In their simplest form, archiving tools just store
all the different snapshots (versions) of a dataset (full materialization);
however, alternative proposals include delta-based approaches [
        <xref ref-type="bibr" rid="ref13 ref15 ref26 ref7">26, 7, 13, 15</xref>
        ], the use
of temporal annotations [
        <xref ref-type="bibr" rid="ref24 ref32">24, 32</xref>
        ], as well as hybrid approaches that combine the
above techniques [
        <xref ref-type="bibr" rid="ref21 ref29 ref32">29, 21, 32</xref>
        ].
      </p>
      <p>All these archiving strategies can support the needs associated with
versioning and archiving, but different approaches excel at different aspects or needs.
For example, delta-based approaches may be able to quickly answer queries on
the evolution history of the data, but may not be equally efficient at cross-version
queries. On the other hand, delta-based approaches are generally – depending
on the evolution intensity of the dataset – less demanding in terms of storage
space than, e.g., full materialization approaches.</p>
      <p>Given the complexity of the problem and the multitude of aspects that need
to be considered, being able to objectively evaluate the pros and cons of each
system is a challenging task that requires appropriate benchmarks. Benchmarking
is an important process that allows not only the evaluation of different systems
across different dimensions, but also the identification of the weak and strong
points of each one. Thus, benchmarks play the role of a driver for improvement,
and also allow users to take informed decisions regarding the quality of different
systems for different problem types and settings.</p>
      <p>
        The problem of benchmarking archiving systems has been considered only
very recently, and, to the best of our knowledge, only two such benchmarks exist
up to this day [
        <xref ref-type="bibr" rid="ref12 ref19">12, 19</xref>
        ].
      </p>
      <p>This paper aims at:
– presenting these benchmarks including their features and characteristics,
– analyzing the most popular archiving systems, and
– revisiting the different strategies and approaches that are used for
maintaining multiple versions.</p>
      <p>The paper is organized as follows: Section 2 describes the basic strategies
used for implementing archiving systems, and organizes the different query types
that need to be supported by such systems. Section 3 describes the most popular
archiving systems and frameworks in the literature, whereas Section 4 gives some
basic requirements for archiving benchmarks, and describes in detail the existing
benchmarks along with their weaknesses. Finally, Section 5 concludes the paper.</p>
    </sec>
    <sec id="sec-2">
      <title>About Versioning</title>
      <p>In this section, we discuss the different archiving strategies implemented in the
existing archiving systems for Linked Data and the different types of queries
that have to be supported by such systems.
2.1</p>
      <sec id="sec-2-1">
        <title>Archiving Strategies</title>
        <p>In the literature, three alternative RDF archiving strategies have been proposed:
full materialization, delta-based and approaches based on annotated triples, each
with its own pros and cons. Hybrid strategies (that combine the above) have
also been considered. Details on these strategies appear below.</p>
        <p>
          Full Materialization was the first and most widely used approach for
storing different versions of datasets. Using this strategy, all different versions of an
evolving dataset are stored explicitly in the archive [
          <xref ref-type="bibr" rid="ref33">33</xref>
          ]. Although there is no
processing cost in order to store the archives, the main drawback of the full
materialization approach concerns scalability issues with respect to storage space:
since each version is stored in its entirety, unchanged information between
versions is duplicated (possibly multiple times). In scenarios where we have large
versions that change often (and no matter how little), the space overhead may
become enormous. On the other hand, query processing over versions is usually
efficient as all the versions are already materialized in the archive.
Delta-based is an alternative approach where one full version of the dataset
needs to be stored, and, for each new version, only the set of changes with
respect to the previous version (also known as the delta) has to be kept. This
strategy has much more modest space requirements, as deltas are (typically)
much smaller than the dataset itself. However, the delta-based strategy imposes
additional computational costs for computing and storing deltas. Also, an extra
overhead at query time is introduced, as many queries would require the
on-thefly reconstruction of one or more full versions of the data. Various approaches try
to ameliorate the situation, by storing the first version and computing the deltas
according to it [
          <xref ref-type="bibr" rid="ref13 ref32 ref7">7, 13, 32</xref>
          ] or storing the latest (current) version and computing
reverse deltas with respect to it [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ].
        </p>
        <p>
          Annotated Triples approach is based on the idea of augmenting each triple
with its temporal validity. Usually, temporal validity is composed of two
timestamps that determine when the triple was created and deleted ; for triples that
exist in the dataset (thus, have not been deleted yet) the latter is null [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]. This
annotation allows us to reconstruct the dataset version at any given time point
t, by just returning all triples that have been created before t and were deleted
after time point t (if at all). An alternative annotation model uses a single
annotation value that determines the version(s) in which each triple existed in the
dataset [
          <xref ref-type="bibr" rid="ref32">32</xref>
          ].
Hybrid Strategies aim at combining the above strategies in order to enjoy
most of the advantages of each approach, while avoiding many of their respective
drawbacks. This is usually implemented as a combination of the full
materialization and delta-based strategies, where several (but not all, or just one) of the
versions are materialized explicitly, whereas the rest are only stored implicitly
through the corresponding deltas [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ]. To determine how many, and which,
versions must be materialized, a cost model (such as the one proposed in [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ]) could
be used to quantify the corresponding overheads (including space overhead for
storage, time overhead at storage time, and time overhead at query time), so
as to determine the optimal storage strategy. Another encountered combination
is the usage of delta-based and annotated triples strategies as there are systems
that store consecutive deltas, in which each triple is augmented with a value
that determine its version [
          <xref ref-type="bibr" rid="ref32">32</xref>
          ].
2.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Versioning Query Types</title>
        <p>
          An important novel challenge imposed by the management of multiple versions
is the generation of different types of queries (e.g., queries that access multiple
versions and/or deltas). There have been some attempts in the literature [
          <xref ref-type="bibr" rid="ref12 ref29">12,
29</xref>
          ] to identify and categorize these types of queries. Our suggestion, which is a
combination of them, is shown in Figure 1.
        </p>
        <p>Firstly, queries are distinguished based on their focus, into version and delta
queries. Version queries require data on the versions themselves, whereas delta
queries require evolution data (delta). Version queries in their turn, can be
further classified to modern and historical, depending on whether they request
access to the latest version (the most common case) or a previous one.
Obviously, such a categorization cannot be applied to delta queries, as they refer to
time intervals. In addition, queries can be further classified according to their
type, to materialization, single-version structured and cross-version structured
queries. Materialization queries essentially request the entire respective data (a
full version, or the full delta); single-version queries can be answered by imposing
appropriate restrictions and filters over a single dataset version or a single delta;
whereas cross-version queries request data related to multiple dataset versions
(or deltas).</p>
        <p>Of course, the above categories are not exhaustive; one could easily imagine
queries that belong to multiple categories, e.g., a query requesting access to
a delta, as well as multiple versions. These types of queries are called hybrid
queries. More specifically:
– Modern version materialization queries ask for a full current version to be
retrieved. For instance, in a social network scenario, one may want to pose
a query about the whole network graph at the current time.
– Modern single-version structured queries are performed in the current version
of the data. For instance, a query that asks for the number of friends that a
certain person has.
– Historical version materialization queries on the other hand ask for a full past
version. E.g., a query that asks for the whole network graph at a specific time
in the past.
– Historical single-version structured queries are performed in a previous past
version of the data. For example, when a query asks for the number of
comments a post had at a specific time in the past.
– Delta materialization queries ask for a full delta to be retrieved from the
repository. For instance, in the same social network scenario, one may want
to pose a query about the total changes of the network graph that happened
from one version to another.
– Single-delta structured queries are queries which are performed in two
consecutive versions. One, for instance, could ask for the new friends that a
person obtained between the last and the current version.
– Cross-delta structured queries must be satisfied on changes of several
versions of the dataset. For example, a query that asks for the evolution of
added/deleted friends of a person across versions.
– Finally, Cross-version structured queries must be evaluated on several
versions of the dataset, thereby retrieving information residing in multiple
versions. For example, one may be interested in assessing all the status updates
of a specific person through time.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>RDF Archiving Systems</title>
      <p>A variety of RDF archiving systems and frameworks have been proposed in
recent years; details on these systems are discussed in the subsections below,
whereas an overview with their characteristics appears in Table 1. Such
characteristics are the archiving strategy that each system/framework implement, their
ability to answer SPARQL queries and to identify equivalent blank nodes across
versions and finally their ability to support versioning concepts as committing,
merging, branching etc.</p>
      <p>
        System /
Framework
x-RDF-3X [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]
SemVersion [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ]
Cassidy et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]
R&amp;Wbase [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ]
R43ples [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]
TailR [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]
Im et al. [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]
Memento [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ]
      </p>
      <p>Archiving Policy
Annotated Tuples
Full Materialization
Delta Based
Annotated Tuples
Delta Based
Hybrid Approach
Delta Based
Full Materialization</p>
      <p>SPARQL
support</p>
      <p>X
X
X</p>
      <p>Blank
Nodes
support
X
X</p>
      <p>
        Versioning
Concepts
X
X
X
X
Neumann and Weikum [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] proposed an extension of RDF-3X system [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] that
supports versioning, time-travel access and transactions on RDF databases. To
achieve such functionality they employ the annotated triples strategy, and
augment triples with two timestamp fields referring to the creation and deletion
time of each triple. Using these timestamps, the database state of a given point
in time can be easily reconstructed.
      </p>
      <p>Ideally, timestamps reflect the commit order of transactions, but
unfortunately the commit order is not known when inserting new data. In order to get
through this problem a write timestamp is assigned to each transaction once it
starts updating the differential indexes (temporal small indexes that periodically
merged to the main ones), and this timestamp is then used for all subsequent
operations.</p>
      <p>To support cross-version queries, snapshot isolation as long as the efficient
retrieval of transactions order, a transaction inventory (as shown in Table 2) is
proposed that tracks transaction ids, their begin and commit times (BOT and
EOT), the version number used for each transaction, and the largest version
number of all committed transactions (highCV #) at the commit time of a
transaction.
transId version #</p>
      <p>
        BOT
highCV#
SemVersion [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ] is inspired by the Concurrent Versioning System (CVS) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] which
was basically used in earlier years in software development to allow collaborative
development of source code. SemVersion is a java library for providing versioning
capabilities to RDF models and RDF-based ontology languages like RDFS. More
specifically it supports branch and merge operations at the version level, as well
the reporting of conflicts.
      </p>
      <p>In SemVersion, every version is annotated with metadata like its parent
version, its branches, a label and a provenance URI. Versions are identified by
a globally unique URI and they follow the approach of full materialization in
order to be stored, as they focus more on the management of the distributed
engineering processes rather than the storage space necessary to store the
different versions. Users can commit a new version either by providing the complete
contents of the graph or by providing the delta with respect to the previous
one. In both cases, every version of the RDF model is stored independently as a
separate graph.</p>
      <p>One of the main functionalities of SemVersion is the calculation of diffs in the
structural or semantic level. A structural diff is the set of changes reported as sets
of added/deleted triples (taking into account only the explicit triples), whereas
a semantic diff considers also the semantically inferred triples while reporting
the set of changes. One problem that may occur when building structural diffs is
that the system cannot decide whether two blank nodes are equal or not, as they
cannot be globally identified. This can be semantically wrong, if a blank node
in one version represents the same resource as a blank node in another version.
To overcome this problem, SemVersion introduces a technique called blank node
enrichment. With this solution, an inverse functional property that leads to a
unique URI is added to each blank node making it globally identifiable.
3.3</p>
      <sec id="sec-3-1">
        <title>Version Control for RDF Triple Stores</title>
        <p>
          Cassidy and Ballantine [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] have proposed an archiving system for RDF triple
stores that is based on Darcs3 (a version control system built to manage software
source code) and its theory of patches.
        </p>
        <sec id="sec-3-1-1">
          <title>3 http://darcs.net/</title>
          <p>The system uses the delta-based strategy: each version is described as a
sequence of patches (deltas) that are all applied sequentially to one version in
order to construct the current one. Each of these patches is represented as a
named graph consisting of a set of added and deleted triples and is stored in a
different RDF store than the original data. Optionally, a dependency sub-graph
may be included in the patch, which is a set of triples that have to exist in the
dataset in order for a patch to be applicable to it.</p>
          <p>A set of operations on patches is supported: the commute operation can
revert the order of two patches; the revert operation reverts the most recent
patch from the context; whereas the merge operation can be applied to parallel
patches in order to combine them into one.</p>
          <p>
            An implementation on MySQL4 backend for the RedLand store [
            <xref ref-type="bibr" rid="ref2">2</xref>
            ] was
evaluated and it was shown that the current approach of managing versions adds
a significant overhead compared to the raw RDF store. More specifically, query
answering becomes four to six times slower and space consumption increased
from two to four times.
3.4
          </p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>R&amp;Wbase</title>
        <p>
          R&amp;Wbase [
          <xref ref-type="bibr" rid="ref32">32</xref>
          ] tracks changes and versions by following a hybrid strategy, as it
uses the delta-based in conjunction with the annotated triples archiving
strategies. In particular, triples are stored in a quad-store as consecutive deltas. Each
altered triple is assigned a context value, a number from a continuous sequence.
More specifically, every new delta obtains an even number 2y that is larger than
all preceding delta numbers. Even number 2y and odd number 2y+1 are assigned
as context values to the added and deleted triples respectively of the delta.
Furthermore, the delta identifier 2y is used in order to store the delta’s provenance
metadata in triple format, using the PROV-O vocabulary [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]. This metadata
include a UID, the delta’s parent, the responsible person of the changes, the
delta’s date etc. By following the above approach, it is possible to significantly
reduce the required storage space as the number of stored triples is relative to
the delta size instead of the graph size, which is much smaller in most cases.
        </p>
        <p>R&amp;Wbase allows querying the data stored through SPARQL queries,
translated in such a way that the quad-store is treated as a triple-store. In particular,
when a query is applied in a specific version all version’s ancestors have to be
identified, by traversing the metadata of such version, and then apply the query
to the set of returned versions. Finally, as a Git-like tool their approach supports
versioning concepts like branching and merging of previously committed graphs.
3.5</p>
      </sec>
      <sec id="sec-3-3">
        <title>R43ples</title>
        <p>
          R43ples [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] offers a central repository based on a Copy-Modify-Merge
mechanism, where clients get the requested information via SPARQL (copy), work
with it locally (modify) and commit their updates also via SPARQL (merge).
        </p>
        <sec id="sec-3-3-1">
          <title>4 https://www.mysql.com/</title>
          <p>Much like R&amp;Wbase, R43ples supports the basic versioning concepts like
tagging, branching and merging. To do so, it introduces an enhanced non-standard
version of the SPARQL language by defining a set of new keywords (REVISION,
USER, MESSAGE, BRANCH and TAG) to the reserved SPARQL keywords. So, the
user is able to commit new changes such as the one below:
INSERT DATA INTO &lt;graph&gt; REVISION "X"</p>
          <p>or query a specific version (revision) of the data
SELECT ?x FROM &lt;graph&gt; REVISION "X"</p>
          <p>
            R43ples follows the delta-based approach for storing versions. In particular,
each version is represented by a temporary graph which is connected, by
using an extended version of PROV-O ontology [
            <xref ref-type="bibr" rid="ref18">18</xref>
            ] called Revision Management
Ontology (RMO), to two additional named graphs corresponding to the delta’s
ADD and DELETE sets. Applying these delta sets to the prior revision will lead
to the current one. The aforementioned approach of using temporary copies of
graphs for storing versions and deltas tends to be rather costly, when querying
the data, as only medium sized data sets can be handled by R43ples. Queries on
datasets with more than a few thousand triples take longer than most users are
willing to wait.
3.6
          </p>
        </sec>
      </sec>
      <sec id="sec-3-4">
        <title>TailR</title>
        <p>
          TailR [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ] is a platform implemented as a Python web application, for preserving
the history of arbitrary linked datasets over time. It follows the hybrid approach
for storing the data while the history of each individual tracked resource is
encoded as a series of deltas or deletes based on interspersed snapshots. More
specifically, their storage model consists of repositories, changesets and blobs. A
repository can be created by users and is actually the linked dataset along with
its history. A changeset encodes the information about modifications that happen
to the data at a particular time point. According to the archiving strategy they
follow, there are three types of changesets: snapshot, delta and delete (a set of
deleted triples). To decide which one must be stored when changes occurred in
the data, a set of rules is followed, that are defined in such a way that try to
minimize the storage and retrieval cost. Finally, blobs contain optional data that
refer to changesets as they are sometimes needed in order to answer some types
of queries.
        </p>
        <p>Their implementation consists of two HTTP APIs: a Push API for submitting
changes according to a dataset, and a read-only Memento API for accessing the
previously stored versions. All entities such as changesets and blobs are stored
in the relational database system MariaDB5.</p>
        <p>
          To evaluate their platform they ran experiments for quantifying the Push
and Memento API [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ] response times as well as the growth of the required
5 https://mariadb.org/
storage space while storing more versions. For their experiments they used a
random sample of 100K resources selected from each version of DBpedia [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]
3.2 to 3.9. Regarding the Push API response times, push requests for the first
release, took the longest time on average. Memento API response times tend
to slightly increase for later revisions due to the longer base+delta chains that
result to higher reconstruction costs. Finally, the storage overhead is directly
related to the nature of the data and especially to the delta encoding.
3.7
        </p>
      </sec>
      <sec id="sec-3-5">
        <title>A version management framework for RDF triple stores</title>
        <p>
          Im et al. [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] propose a framework for managing RDF versions on top of
relational databases (where all triples are stored in one large triple table). Their
framework follows the delta-based approach as they store the last version and the
deltas that led to it. In order to improve the performance of cross-delta queries,
at the cost of increasing space overheads, they introduce aggregated deltas, which
associate the latest version with each of the previous ones (not only the last one).
The delta of each version is separately stored in an INSERT and a DELETE
relational table, so a version can be constructed on the fly using appropriate SQL
statements. For evaluating their approach, Im et al. used Uniprot dataset [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]
versions v1-v9 on top of an implementation in Oracle 11g Enterprise edition6.
They evaluated their approach of aggregated deltas against the approaches of
full materialization and sequential deltas. The authors conducted experiments
related to storage overhead, version construction and delta computation times,
compression ratio and query performance. As expected, their approach is (a)
less efficient than the sequential deltas but outperforms the full materialization
approach regarding storage space and deltas computation time and (b) highly
outperforms the sequential deltas regarding version re-construction. In
particular, while construction time in the sequential delta is proportional to the number
of past versions that must be considered, the aggregated delta can compute any
version almost at constant time. Regarding the query answering performance, the
full materialization approach has the best performance for the types of queries
that refer to specific versions, but the aggregated delta approach outperforms
the sequential delta one in most cases.
3.8
        </p>
      </sec>
      <sec id="sec-3-6">
        <title>Memento</title>
        <p>
          Memento [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ] is an HTTP-based framework proposed by Van de Sompel et al.
that connects Web archives with current resources by using datetime
negotiations in HTTP. More specifically, each original resource (identified in memento
terminology with URI-R) may have one or more mementoes (identified with
URI-Mi, i = 1; ::; n) which are the archived representations of the resource that
summarize its state in the past. The time ti that the memento was captured is
called Memento-datetime.
6 http://www.oracle.com/technetwork/database/enterprise-edition
        </p>
        <p>
          Memento can also be adopted in the context of linked data [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ] as it had
been used for providing access to prior versions of DBpedia. To do so, versions
of DBpedia stored in a MySQL database as complete snapshots, so the full
materialization approach is followed, and served through a Memento endpoint.
4
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Benchmarking RDF Archiving Systems</title>
      <p>A benchmark is a set of tests against which the performance of a system is
evaluated. In particular, a benchmark helps computer systems to compare and assess
their performance in order for them to become more efficient and competitive. In
order for the systems to be able to use the benchmark and report reliable results,
a set of generic and more domain-specific requirements and characteristics must
be satisfied. First, the benchmark should be open and easily accessible from all
third parties that are interested to test their systems. Second, it has to be
unbiased, which means that there should not exist a conflict of interest between
the creators of the benchmark and the creators of the system under test. These
features guarantee a fair and reproducible evaluation of the systems under test.</p>
      <p>To guarantee (additionally) that the benchmark will produce useful results,
it should be highly configurable and scalable, in order to cope with the different
characteristics and needs of each system. Pertaining to our focus on benchmarks
for archiving systems, the configurability and scalability may refer to the number
of versions that a data generator will produce, the size of each version, the
number of changes from version to version etc.</p>
      <p>In addition, the benchmark should be portable to different implementation
techniques. For example, for benchmarks related to RDF archiving systems, one
should also take into account the different strategies that are being employed,
and should be agnostic as regards to the strategy that an RDF archiving system
uses for its implementation. In particular, the benchmark should be fair with
respect to the real expected use of such a system, and should not artificially
boost or penalize specific strategies.</p>
      <p>Finally, the benchmark should be extensible, to be able to test additional
features or requirements for an archiving system that may appear in the future.</p>
      <p>To the best of our knowledge, there have been only two proposed benchmarks
for RDF archiving systems in the literature. These are described in detail below.
4.1</p>
      <sec id="sec-4-1">
        <title>BEAR</title>
        <p>
          Fernandez et al. [
          <xref ref-type="bibr" rid="ref11 ref12">12, 11</xref>
          ] have proposed a blueprint on benchmarking semantic
web archiving systems by defining a set of operators that cover crucial aspects of
querying and archiving semantic web data. To instantiate their blueprints in a
real-world scenario, they introduced the BEAR benchmark, along with an
implementation and evaluation of the three archiving strategies Full Materialization,
Delta-Based and Annotated Triples described in Section 2.1.
        </p>
        <p>Based on their analysis of such RDF archiving strategies, they provide a
set of directions that must be followed when evaluating the efficiency of RDF
archiving systems. First, the benchmark should be agnostic with respect to the
used archiving strategy in order for the comparison to be fair. Next, queries have
to be simple and become more complex as the strategies and systems are better
understood. And finally, the benchmark should be extensible as lessons learnt
from previous work and new retrieval features arise.</p>
        <p>As basis for comparing the different archiving strategies, they introduce the
four following features that describe the dataset configuration. Although such
features could serve in the process of automatic generation of synthetic data,
this is not addressed in their approach.</p>
        <p>– Data dynamicity measures the number of changes between versions, and
is described via the change ratio and the data growth. The change ratio
quantifies how much (what proportion) of the dataset changes from one
version to another and data growth determines how its size changes from
one version to another.
– Data static core contains the triples that exist in all dataset’s versions.
– Total version-oblivious triples computes the total number of different triples
in an archive independently of the timestamp and finally
– RDF vocabulary represents the different subjects, predicates and objects in
an RDF archive.</p>
        <p>Regarding the generation of the queries of the benchmark, the result
cardinality and selectivity of the query should be considered, as the results of a query
can highly vary in different versions. For example by selecting queries with
similar result cardinality and selectivity, should guarantee that potential retrieval
differences in response times could be attributed to the archiving strategy. In
order to be able to judge the different systems, authors introduced the following
six different categories of queries (note that these categories are similar to the
ones we discussed previously (Section 2.2) and have been used as a source of
inspiration for our categorization):
– Version materialization: refers to the retrieval of a specific version (modern
or historical version materialization queries).
– Delta materialization: provides the different results of a query between two
versions.
– Version query : provides the results of a query annotated with the version
label (modern or historical single version structured queries).
– Change checking : it answers with a boolean value to state if there is a change
between two versions (single delta structured queries).
– Cross-version join: it serves the join between two different queries in two
different versions (cross-version structured queries).
– Change materialization: reports the point in which a query evaluated
differently.
4.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>EvoGen</title>
        <p>
          Meimaris and Papastefanatos have proposed the EvoGen Benchmark Suite [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ],
a generator for evolving RDF data, used for benchmarking versioning and change
detection approaches. EvoGen is based on the LUBM [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] generator, extended
with 10 new classes and 19 new properties in order to support schema
evolution. Their benchmarking methodology is based on a set of requirements and
parameters that affect: (a) the data generation process; (b) the context of the
tested application; and, (c) the query workload, as required by the nature of the
evolving data.
        </p>
        <p>EvoGen, acts like a Benchmark Generator, is extensible and highly
configurable, in terms of the number of generated versions, or the number of changes
occurring from version to version. Similarly, the query workload is generated
adaptively to such configurable data generation process. EvoGen takes into
account the archiving strategy of the system under test, by providing adequate
input data formats (full versions, deltas, etc.) as appropriate.</p>
        <p>In more details, EvoGen defines a set of parameters that are taken into
account in the data and query workload generation processes. The first category
of parameters refers to the evolution of instances and consists of parameters
Shift and Monotonicity. The Shift parameter shows how a dataset evolves with
respect to its size and can be distinguished to a positive and a negative shift for
versions of increasing or decreasing size respectively. The monotonicity property
is a boolean value that determines whether positive or negative shifts change
monotonically a dataset, and is used in order to simulate datasets where data
strictly increased or decreased, such as sensor data.</p>
        <p>
          The second category of parameters includes the parameters ontology
evolution and schema variation that refer to the schema evolution of the dataset. The
ontology evolution parameter represents the change of the ontology with respect
to the total number of classes and is actually the ratio of added classes to the
total classes in the original dataset. The schema variation parameter ranges from
0 to 1 and quantifies the percentage of different characteristic sets [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ], with
respect to the total number of possible characteristic sets that will be created
for each inserted class. In EvoGen, the user is able to choose the output
format of generated data by allowing him to request fully materialized versions or
deltas; this allows supporting (and testing) systems employing different archiving
strategies.
        </p>
        <p>Finally, regarding the query workload generation, based on the previous
generated data and their characteristics, the following six types of queries are
generated:
– Retrieval of a diachronic dataset : a query asking for all the versions of a
dataset.
– Retrieval of a specific version (modern or historical version materialization
queries).
– Snapshot queries on the data i.e., queries affecting a single version
(singleversion historical queries).
– Longitudinal (temporal) queries that retrieve the timeline of particular
subgraphs, through a subset of past versions (cross-version structured queries).
– Queries on changes i.e., queries accessing the deltas (delta materialization
or single-delta structured queries).
– Mixed queries which use sub-queries from previously described type of queries
(hybrid queries).
4.3</p>
      </sec>
      <sec id="sec-4-3">
        <title>Discussion</title>
        <p>The previously described benchmarks (Sections 4.1 and 4.2) although they
provide a detailed theoretical analysis of the features that are useful in the process
of designing a benchmark (especially BEAR), they both lack a detailed study
and definition of the queries that the query workload is composed of. To do so,
first, all problems that archiving systems are asked to solve, have to be specified.
For example, the existence of blank nodes in the data makes the problem of
finding the delta between two versions more complicated. According to the RDF
semantics blank nodes can only be identified in the context of one dataset, hence
comparing blank nodes to choose what to store in the delta based approach is a
difficult task.</p>
        <p>
          In addition, a more detailed analysis must be done, in order to identify the
technical difficulties when answering queries on top of more than one versions.
More specifically, we have to define the choke points [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], the technical challenges
whose resolution will significantly improve the performance of a versioning
system. One such a choke point would be the parallel execution of some types
of queries. For instance, an archiving system would benefit from a query
optimizer that decides to parallel reconstruct the versions required to answer a
cross-version query.
5
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Summary</title>
      <p>In this paper, we sketched the current state-of-the-art for the problem of
managing and benchmarking evolving RDF data. More specifically, we presented the
most popular archiving tools that currently exist, and described the different
types of queries that such tools should ideally support. In addition, we described
the basic strategies that archiving tools follow for storing (and/or providing
access to) the different versions (full materialization, delta-based, annotated triples,
hybrid strategies ). Regarding archiving benchmarks, we described some basic
requirements and presented the only two archiving benchmarks that currently exist
(to the best of our knowledge). Finally, we reported, what is missing from them
and how such a gap can be filled, which is under construction from our side.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>The work presented in this paper was funded by the H2020 project HOBBIT
(#688227).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Auer</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bizer</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kobilarov</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lehmann</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cyganiak</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ives</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          :
          <article-title>Dbpedia: A nucleus for a web of open data</article-title>
          .
          <source>In: The semantic web</source>
          , pp.
          <fpage>722</fpage>
          -
          <lpage>735</lpage>
          . Springer (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Beckett</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>The design and implementation of the redland rdf application framework</article-title>
          .
          <source>Computer Networks</source>
          <volume>39</volume>
          (
          <issue>5</issue>
          ),
          <fpage>577</fpage>
          -
          <lpage>588</lpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Berliner</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          , et al.:
          <article-title>CVS II: Parallelizing software development</article-title>
          .
          <source>In: USENIX Winter 1990 Technical Conference</source>
          . vol.
          <volume>341</volume>
          , p.
          <volume>352</volume>
          (
          <year>1990</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Bizer</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heath</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Berners-Lee</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Linked data-the story so far</article-title>
          .
          <source>Semantic Services, Interoperability and Web Applications: Emerging Concepts</source>
          pp.
          <fpage>205</fpage>
          -
          <lpage>227</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Bollacker</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Evans</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paritosh</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sturge</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Taylor</surname>
          </string-name>
          , J.:
          <article-title>Freebase: a collaboratively created graph database for structuring human knowledge</article-title>
          .
          <source>In: ACMSIGMOD</source>
          . pp.
          <fpage>1247</fpage>
          -
          <lpage>1250</lpage>
          . ACM (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Boncz</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Neumann</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Erling</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          :
          <string-name>
            <surname>TPC-H analyzed</surname>
          </string-name>
          :
          <article-title>Hidden messages and lessons learned from an influential benchmark</article-title>
          .
          <source>In: TPC-TC</source>
          . pp.
          <fpage>61</fpage>
          -
          <lpage>76</lpage>
          . Springer (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Cassidy</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ballantine</surname>
          </string-name>
          , J.:
          <article-title>Version Control for RDF Triple Stores</article-title>
          .
          <source>ICSOFT (ISDM/EHST/DC) 7</source>
          ,
          <fpage>5</fpage>
          -
          <lpage>12</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Christophides</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Efthymiou</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stefanidis</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Entity Resolution in the Web of Data</article-title>
          .
          <source>Synthesis Lectures on the Semantic Web: Theory and Technology</source>
          , Morgan &amp; Claypool Publishers (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Cloran</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Irvin</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Transmitting RDF graph deltas for a cheaper semantic Web</article-title>
          . In: SATNAC (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Consortium</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          , et al.:
          <article-title>The universal protein resource (uniprot)</article-title>
          .
          <source>Nucleic acids research 36(suppl 1)</source>
          ,
          <fpage>D190</fpage>
          -
          <lpage>D195</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>Fernandez</given-names>
            <surname>Garcia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.D.</given-names>
            ,
            <surname>Umbrich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Knuth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Polleres</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>Evaluating Query and Storage Strategies for RDF Archives</article-title>
          . In: SEMANTiCS (
          <year>2016</year>
          , forthcoming)
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>Fernandez</given-names>
            <surname>Garcia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.D.</given-names>
            ,
            <surname>Umbrich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Polleres</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>BEAR: Benchmarking the Efficiency of RDF Archiving</article-title>
          .
          <source>Tech. rep.</source>
          , Department für Informationsverarbeitung und Prozessmanagement, WU Vienna University of Economics and Business (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Graube</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hensel</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Urbas</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>R43ples: Revisions for triples</article-title>
          .
          <source>LDQ</source>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Guo</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pan</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heflin</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>LUBM: A benchmark for OWL knowledge base systems</article-title>
          .
          <source>Web Semantics: Science, Services and Agents on the World Wide Web</source>
          <volume>3</volume>
          (
          <issue>2</issue>
          ),
          <fpage>158</fpage>
          -
          <lpage>182</lpage>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Im</surname>
            ,
            <given-names>D.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>S.W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kim</surname>
            ,
            <given-names>H.J.:</given-names>
          </string-name>
          <article-title>A version management framework for RDF triple stores</article-title>
          .
          <source>Int'l Journal of Software Engineering and Knowledge Engineering</source>
          <volume>22</volume>
          (
          <issue>01</issue>
          ),
          <fpage>85</fpage>
          -
          <lpage>106</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Käfer</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abdelrahman</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Umbrich</surname>
            , J.,
            <given-names>O</given-names>
          </string-name>
          <string-name>
            <surname>'Byrne</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hogan</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Observing linked data dynamics</article-title>
          .
          <source>In: ESWC</source>
          . pp.
          <fpage>213</fpage>
          -
          <lpage>227</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Kondylakis</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Plexousakis</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Ontology evolution without tears</article-title>
          .
          <source>J. Web Sem</source>
          .
          <volume>19</volume>
          ,
          <fpage>42</fpage>
          -
          <lpage>58</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Lebo</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sahoo</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McGuinness</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Belhajjame</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cheney</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Corsar</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garijo</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Soiland-Reyes</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zednik</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhao</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          :
          <article-title>Prov-o: The prov ontology</article-title>
          .
          <source>W3C Recommendation</source>
          <volume>30</volume>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Meimaris</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Papastefanatos</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>The EvoGen Benchmark Suite for Evolving RDF Data</article-title>
          .
          <source>MeDAW</source>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Meimaris</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Papastefanatos</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Viglas</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stavrakas</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pateritsas</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Anagnostopoulos</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>A Query Language for Multi-version Data Web Archives</article-title>
          . In: arXiv:
          <fpage>1504</fpage>
          .
          <year>01891</year>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Meinhardt</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Knuth</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sack</surname>
          </string-name>
          , H.:
          <article-title>TailR: a platform for preserving history on the web of data</article-title>
          .
          <source>In: Int'l Conf. on Semantic Systems</source>
          . pp.
          <fpage>57</fpage>
          -
          <lpage>64</lpage>
          . ACM (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Neumann</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moerkotte</surname>
          </string-name>
          , G.:
          <article-title>Characteristic sets: Accurate cardinality estimation for RDF queries with multiple joins</article-title>
          .
          <source>In: ICDE</source>
          . pp.
          <fpage>984</fpage>
          -
          <lpage>994</lpage>
          . IEEE (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Neumann</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weikum</surname>
          </string-name>
          , G.:
          <article-title>Rdf-3x: a risc-style engine for rdf</article-title>
          .
          <source>Proceedings of the VLDB Endowment</source>
          <volume>1</volume>
          (
          <issue>1</issue>
          ),
          <fpage>647</fpage>
          -
          <lpage>659</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Neumann</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weikum</surname>
          </string-name>
          , G.:
          <article-title>x-RDF-3X: fast querying, high update rates, and consistency for RDF databases</article-title>
          .
          <source>VLDB Endowment</source>
          <volume>3</volume>
          (
          <issue>1-2</issue>
          ),
          <fpage>256</fpage>
          -
          <lpage>263</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Noy</surname>
            ,
            <given-names>N.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chugh</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Musen</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          :
          <article-title>A Framework for Ontology Evolution in Collaborative Environments</article-title>
          . In: ISWC (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Papavasileiou</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Flouris</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fundulaki</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kotzinos</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Christophides</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Highlevel change detection in RDF(S) kbs</article-title>
          .
          <source>ACM TODS 38(1)</source>
          ,
          <volume>1</volume>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27. Van de Sompel, H.,
          <string-name>
            <surname>Nelson</surname>
            ,
            <given-names>M.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sanderson</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Balakireva</surname>
            ,
            <given-names>L.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ainsworth</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shankar</surname>
          </string-name>
          , H.:
          <article-title>Memento: Time travel for the web</article-title>
          .
          <source>arXiv preprint arXiv:0911.1112</source>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28. Van de Sompel, H.,
          <string-name>
            <surname>Sanderson</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nelson</surname>
            ,
            <given-names>M.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Balakireva</surname>
            ,
            <given-names>L.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shankar</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ainsworth</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>An http-based versioning mechanism for linked data</article-title>
          .
          <source>arXiv preprint arXiv:1003.3661</source>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <surname>Stefanidis</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chrysakis</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Flouris</surname>
          </string-name>
          , G.:
          <article-title>On designing archiving policies for evolving RDF datasets on the Web</article-title>
          .
          <source>In: Int'l Conf. on Conceptual Modeling</source>
          . pp.
          <fpage>43</fpage>
          -
          <lpage>56</lpage>
          . Springer (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <surname>Suchanek</surname>
            ,
            <given-names>F.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kasneci</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weikum</surname>
          </string-name>
          , G.:
          <article-title>Yago: a core of semantic knowledge</article-title>
          .
          <source>In: WWW</source>
          . pp.
          <fpage>697</fpage>
          -
          <lpage>706</lpage>
          . ACM (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <surname>Umbrich</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hausenblas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hogan</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polleres</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Decker</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          : Towards Dataset Dynamics:
          <article-title>Change Frequency of Linked Open Data Sources</article-title>
          . In: LDOW (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <string-name>
            <given-names>Vander</given-names>
            <surname>Sande</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Colpaert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Verborgh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Coppens</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Mannens</surname>
          </string-name>
          , E., Van de Walle, R.:
          <string-name>
            <surname>R</surname>
          </string-name>
          &amp;
          <article-title>Wbase: git for triples</article-title>
          .
          <source>In: LDOW</source>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          33.
          <string-name>
            <surname>Völkel</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Groza</surname>
          </string-name>
          , T.:
          <article-title>SemVersion: An RDF-based ontology versioning system</article-title>
          .
          <source>In: IADIS Int'l Conf. WWW/Internet</source>
          . vol.
          <year>2006</year>
          , p.
          <volume>44</volume>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          34.
          <string-name>
            <surname>Zablith</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Antoniou</surname>
          </string-name>
          , G.,
          <string-name>
            <surname>d'Aquin</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Flouris</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kondylakis</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Motta</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Plexousakis</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sabou</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Ontology evolution: a process-centric survey</article-title>
          .
          <source>Knowledge Eng. Review</source>
          <volume>30</volume>
          (
          <issue>1</issue>
          ),
          <fpage>45</fpage>
          -
          <lpage>75</lpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>