<!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>Publish and Subscribe for RDF in Enterprise Value Networks</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Marvin Frommhold</string-name>
          <email>frommhold@informatik.uni-leipzig.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sebastian Tramp</string-name>
          <email>sebastian.tramp@eccenca.com</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Natanael Arndt</string-name>
          <email>arndt@informatik.uni-leipzig.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Niklas Petersen</string-name>
          <email>petersen@cs.uni-bonn.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Agile Knowledge Engineering, and Semantic Web, Institute of Computer Science, University of Leipzig</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Enterprise Information Systems, Institute for Applied Computer Science, University of Bonn</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>eccenca GmbH</institution>
          ,
          <addr-line>Hainstr. 8, 04109 Leipzig</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <fpage>2</fpage>
      <lpage>6</lpage>
      <abstract>
        <p>Sharing information securely between business partners and managing large supply chains e ciently will be a crucial competitive advantage for enterprises in the near future. In this paper, we present a concept that allows for building value networks between business partners in a distributed manner. Companies are able to publish Linked Data which participants of the network can clone and subscribe to. Subscribers get noti ed as soon as new information becomes available. This provides a technical infrastructure for business communication acts such as supply chain communication or master data management. In addition to the conceptual analysis, we provide an implementation enabling companies to create such dynamic semantic value networks.</p>
      </abstract>
      <kwd-group>
        <kwd>Access control</kwd>
        <kwd>Change propagation</kwd>
        <kwd>Linked data</kwd>
        <kwd>Publish and subscribe</kwd>
        <kwd>RDF</kwd>
        <kwd>Replication</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>
        Empowering enterprises to share their data securely using
semantic vocabularies and allowing them to actively push
new information (updates) to connected business partners
is the main goal of the LUCID research project1. Being
able to create dynamic semantic value networks improves the
sharing of information between business partners as well as
enhances the management of complex supply chains.
Mastering such value-added supply chains is a critical success
factor, especially in the context of the recent Industry 4.0
movement [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>
        For example, the SCORVoc vocabulary presented in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]
provides an RDF representation of the cross-industry
Supply Chain Operation Reference (SCOR). It aims at reducing
the complexity in supply chain management through
semantic clarity. However, the tools currently available on the
market struggle meeting the demands of secure and
proactive distribution of crucial KPI (key performance indicator)
information, especially serialized in RDF, among business
partners.
      </p>
      <p>In this paper, we present the concept and implementation
of such a tool based on a publish-subscribe approach. It
allows enterprises to publish RDF data as well as to
subscribe to published data of other business partners to get
noti ed as soon as new information becomes available.
Authentication and authorization mechanisms are included to
guarantee secure access to the published data. Furthermore,
our proposed solution includes a versioning component for
RDF change detection and an e cient propagation of
changing data. Additionally, provenance information is added to
the exchanged data assuring a minimum level of trust.</p>
      <p>This paper is structured as follows: We give an overview
of the challenges and the resulting requirements in section 2.
The concept of our approach is presented in section 3,
followed by the implementation in section 4. We report on
related work in section 5 before we conclude with an
outlook on future work in section 6.
2.</p>
    </sec>
    <sec id="sec-2">
      <title>CHALLENGES</title>
      <p>We now present the challenges we have to tackle in the
context of the LUCID research project. For each challenge,
we provide a set of speci c requirements demanded by
busi</p>
      <sec id="sec-2-1">
        <title>1http://www.lucid-project.org/</title>
        <p>ness partners to enable them to share their data in dynamic
value networks.</p>
        <sec id="sec-2-1-1">
          <title>Open Standards.</title>
          <p>
            As value networks should enhance the data distribution in
terms of experience and reliance between the participants,
it is crucial to rely on open, lightweight, and in case of
the data, semantic standards. This ensures
interoperability and allows every business partner to adapt its custom
applications to be able to connect to other participants of
a value network and share its data. The Resource
Description Framework (RDF) [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ], whose main goal is to provide a
\vendor-neutral and operating system-independent system
of metadata"2, ful lls our requirements on interoperability
and participation and thus was chosen as our data model.
          </p>
        </sec>
        <sec id="sec-2-1-2">
          <title>On Demand Communication.</title>
          <p>Each participant of a value network should be able to act
as a source of data (publisher) as well as a consumer of data
(subscriber). As participants of a value network connect
or disconnect to each other on demand, there must be a
speci ed mechanism to subscribe to or unsubscribe from the
data of a publisher. A publisher must be able to inform all
subscribers that its data has changed as soon as possible.
This results in the need for a tool to publish RDF data and
a service to manifest one's interest in updates of an RDF
data publisher.</p>
        </sec>
        <sec id="sec-2-1-3">
          <title>Provenance.</title>
          <p>A value network must guarantee the traceability of the
published data to ful ll the notion of provenance3. All
participants of a value network must be able to trace back the
origin of the exchanged data. The authenticity and integrity
of the data must be ensured, emphasizing the need for
protection against unperceived manipulation of the data.
Participants must be able to sign the exchanged data to
increase the level of trust. These considerations lead to the
requirements of a shared RDF vocabulary for provenance
information and a tool to sign and check the validity of RDF
data.</p>
        </sec>
        <sec id="sec-2-1-4">
          <title>Access Control.</title>
          <p>The security of the data and secure access to the data
are essential in the enterprise context. A publisher must
have the ability to exchange its data under restricted
conditions. For this reason, authentication and authorization
mechanisms with the possibility to integrate custom
solutions must be provided. When two participants connect to
each other, the subscriber is authenticated and authorized.
Therefore, publishers of the value network need a tool to
authorize access to their RDF data.</p>
        </sec>
        <sec id="sec-2-1-5">
          <title>Change Detection.</title>
          <p>
            Publishers should be able to detect changes made to their
data and share the change information with their subscribers.
To enable sharing of any kind of RDF data, the change
detection must support all features of RDF. Due to the
semantics of blank nodes, special emphasis needs to be taken to
guarantee their addressability outside the original graph [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ].
          </p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>2https://www.w3.org/Press/RDF</title>
        <p>3https://www.w3.org/2005/Incubator/prov/
XGR-prov-20101214/
In detail, participants need a shared RDF vocabulary for
tracking changes to RDF data and a tool to detect changes
made to RDF datasets.</p>
        <p>The RDF data model enables a diversi ed and exible
representation of data. The concept of RDF named graphs
allows to group parts of the data into logical units enabling
di erent views on the data. Based on our experience, RDF
named graphs represent the easiest manageable unit.
Therefore, we only consider RDF named graphs as central view on
the data regarding access, change tracking and publication.
3.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>PUBLISH AND SUBSCRIBE FOR RDF</title>
      <p>
        As presented before, our main motivation is the on
demand proactive noti cation of changes made to speci c sets
of RDF data in a distributed communication network. That
means, instead of asking the data source for changes in a
regular interval (pull), the interested entity is actively
notied about any change (push). To realize this approach, we
rely on PubSubHubbub [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], an open, decentralized
publishsubscribe protocol. Adapted to our requirements of
propagating changes made to RDF graphs, the work ow is de ned
as follows:
Subscribe: An interested entity (subscriber) sends a
subscription containing the URI of the RDF graph of
interest and a callback URL to the advertised server
(hub) of the owner of the RDF dataset (publisher).
Publish: In case of a change to the dataset, the publisher
informs its hub about the a ected RDF graphs.
Notify: The hub looks up all subscriptions and noti es the
a ected subscribers by sending the changes to a graph
as a di (added and deleted triples).
      </p>
      <p>We have designed this work ow to use the features of the
eccenca DataPlatform4 as it provides the base
functionality helping us to address the mentioned challenges including
context-based access control for RDF graphs and versioning
for arbitrary RDF data. However, as noted in the challenges,
the eccenca DataPlatform can be replaced with other tools
providing the needed features. In the following, we present
a more detailed overview of our concept with particular
references to the challenges of section 2. We thereby only
consider the subscription to and propagation of changes to RDF
graphs. A priori reading or importing of published data on
subscriber's side is not in the scope of our concept.
3.1</p>
    </sec>
    <sec id="sec-4">
      <title>Subscription</title>
      <p>
        To get noti ed about changes made to a speci c graph of
a dataset, the subscriber sends a subscription request to the
hub of the publisher as described in section 5 of [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] with some
speci c adjustments to support our approach. The value of
the hub.topic request parameter must be the URI of the
graph the subscriber wants to get noti ed about changes. To
tackle the challenge of access control, the protocol's optional
subscription validation is a mandatory step in our
communication. A subscription is only valid if the subscriber is
successfully authenticated and authorized to read the requested
graph. In case of a valid subscription, the hub saves the
subscription in a persistent storage. Other features such as the
4https://www.eccenca.com/en/products/linked-data-suite.
html
subscription process (subscription response and veri cation)
as well as unsubscribing are implemented as described in the
PubSubHubbub speci cation.
      </p>
      <sec id="sec-4-1">
        <title>Access Control.</title>
        <p>To be able to validate if a subscriber has the permission to
subscribe to a speci c RDF graph, it needs to authenticate
itself. We rely on the eccenca DataPlatform using OAuth
2.05 for authentication with support for various
authentication providers such as an LDAP6 directory server. To
represent the access control rules, we use the eccenca
Authorization Vocabulary7. It allows dataset publishers to de ne
context-based access conditions (eccauth:AccessCondition)
on the level of RDF graphs. A subscriber is authorized to
read and therefore allowed to subscribe to a speci c graph
if the graph URI is contained in the set of readable graphs
de ned by the property eccauth:readGraph of all ful lled
access conditions. An access condition is ful lled, if all
required attributes attached to it (by sub-properties of
eccauth:requiresAttribute) are met by the session of the
authenticated subscriber.
3.2</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Publication</title>
      <p>
        When a dataset is updated, all designated hubs need to be
informed about the changes. For this, the publisher requires
a change detection system for RDF data that, according to
the challenges, must support any RDF dataset even in the
presence of blank nodes and a vocabulary to describe the
changes in RDF. We use the change detection system of the
eccenca DataPlatform that creates a patch for each updated
graph containing the added and removed triples and
additional meta-information. Additionally, patches created by
the system provide full blank node support by adding the
context for each added or removed triple containing blank
nodes. Blank node support plays an important role
considering that over 50% of published datasets contain blank
nodes [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. To tackle the challenge of trust, a publisher can
optionally certify a patch. This is done by signing its hash
value and then attaching the digital signature to the patch
by, for instance, using the Cert Ontology8. The patches are
send separately to the advertised hub(s) of the publisher.
      </p>
      <sec id="sec-5-1">
        <title>Versioning.</title>
        <p>
          To be able to notify the hub(s) about changes, the
publisher needs to detect changes made to its dataset. To achieve
this, we use the versioning functionality we have developed
as part of the eccenca DataPlatform. For each update, the
system detects the added or removed triples and creates one
patch per graph. The patches are represented as instances of
eccrev:Commit of the eccenca Revision Vocabulary9. The
vocabulary is based on the structure of the Delta ontology10
and reuses concepts of the PROV-O ontology11. By
providing the author (eccrev:commitAuthor), change reason
(eccrev:commitMessage) and a time stamp (prov:atTime)
we argue that such a patch ful lls the notion of provenance.
5http://tools.ietf.org/html/rfc6749
6https://tools.ietf.org/html/rfc4511
7https://vocab.eccenca.com/auth/
8http://www.w3.org/ns/auth/cert#
9https://vocab.eccenca.com/revision/
10https://www.w3.org/DesignIssues/Di
11https://www.w3.org/TR/prov-o/
Moreover, the system calculates a hash value for each patch
(eccrev:sha256) using the algorithm described in [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. To
allow for attaching arbitrary meta-information to a patch,
our system limits the properties used for hash calculation to
a xed set. This hash value allows for verifying the integrity
of a patch. As each patch contains a reference and a hash
value of its predecessor, the system o ers protection against
unperceived history manipulation.
3.3
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Notification</title>
      <p>
        For noti cation, we rely on the PubSubHubbub content
distribution request as described in section 7 of [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] with
speci c modi cations. For each patch received from a publisher,
the hub must perform an authorization check ensuring the
validity of a subscription, which includes a check if the
subscriber is still allowed to read the graph referenced in the
patch. If the subscription is valid, the hub sends a noti
cation to the a ected subscriber's callback URL, else the
subscription is canceled. The patch is serialized into an o cial
RDF serialization format and added as body of the noti
cation. The Content-Type header must be set according to
the used serialization format. Sending only a patch instead
of the complete changed RDF graph is generally more space
e cient and a client does not have to perform the delta
calculation by itself. Before applying the patch, the subscriber
must validate the integrity of the received patch by using the
same hash calculation algorithm as used by the publisher.
If the integrity of a patch is valid, the subscriber applies
the patch to its copy of the appropriate graph as follows:
(i) remove all triples marked as deleted; and (ii) insert all
triples marked as added. This order ensures the correct
application of the patch, especially if changes involving blank
nodes were made . Optionally, the subscriber can save the
patch to be able to retrace the change history at a later date.
      </p>
      <p>
        Due to space limitations, we do not discuss security issues
for the communication between the subscribers, publishers
and hubs. However, we want to refer to the usage of HTTPS
as described in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] which is fully compatible with our
proposed concept.
      </p>
    </sec>
    <sec id="sec-7">
      <title>4. IMPLEMENTATION</title>
      <p>The proposed publish-subscribe concept is integrated into
the eccenca DataPlatform which is a Java Spring12
application acting as a proxy in front of one or more RDF
repositories. Thus, it enables consistent publication of RDF data
across various repositories according to the ve-star
deployment scheme13.</p>
      <p>In our implementation the publisher, subscriber and hub
are part of the eccenca DataPlatform. The communication
between these three components is realized through the use
of Spring Integration14. This enables a lightweight
messaging within the application and further supports the
integration into external systems as well. In our case we use Apache
Kafka15 as messaging server to ensure scalability, stability
and backup of the communication within the application.</p>
      <p>An architectural overview of our implementation is
depicted in Figure 1. An exemplary work ow starts with a new
subscription message from the subscriber to its hub (1). The
12https://projects.spring.io/spring-framework/
13http://www.w3.org/DesignIssues/LinkedData.html
14http://projects.spring.io/spring-integration/
15http://kafka.apache.org/
hub then authenticates itself in the name of the subscriber
at the advertised hub of the publisher and sends a
PubSubHubbub subscription request (2). The hub of the publisher
hands over the subscription request for validation to the
publisher (3) that validates the authorization of the subscriber
with the help of the access control component (4). In case
of success, the publisher informs its hub (5) that veri es the
subscription (6) before storing it in the local RDF
repository (7). If an update is made to the subscribed data (8),
the versioning component creates a patch (9) and informs
the publisher about the change (10). The publisher sends
a change noti cation to its hub (11) that validates for each
a ected subscription if it is still authorized to get updates
(12). In the positive case, the hub sends a PubSubHubbub
content distribution request to the a ected subscriber hubs
(13), else the subscription is canceled. The subscriber hub
now informs its subscriber (14) that checks the integrity of
the patch before applying it to its data (15). When applying
patches, especially in the presence of blank nodes, it must be
ensured, with respect to non-lean graphs and isomorphism,
that the correct triples get removed.</p>
    </sec>
    <sec id="sec-8">
      <title>RELATED WORK</title>
      <p>
        Various approaches have been presented in the area of
change propagation for RDF data. The proposed publish
and subscribe systems can be divided into two categories:
distributed peer-to-peer systems [
        <xref ref-type="bibr" rid="ref13 ref16 ref2 ref4">2, 4, 16, 13</xref>
        ] and
clientserver systems [
        <xref ref-type="bibr" rid="ref1 ref12 ref15 ref17 ref18 ref5">18, 12, 15, 17, 1, 5</xref>
        ].
      </p>
      <p>In general, the peer-to-peer approaches are based on
broadcasting subscriptions and change noti cations between the
participants of the network. Peers able to contribute to a
subscription broadcast their changed data through the
network, whereby changed data gradually arrives at the
subscriber. Due to the requirement of a secure
communication of the data, peer-to-peer systems are not rejected per
se, however, all publications rely on approaches distributing
the data freely readable between the network participants.
Therefore this type of architecture is not advisable for
enterprise value networks where sensitive data is exchanged.</p>
      <p>
        In contrast to peer-to-peer systems, client-server systems
provide direct real-time noti cation allowing a secure change
propagation between the participants. RDFSync [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]
provides an update synchronization for RDF data similar to
the rsync utility with support for blank nodes by
considering their context. We've used the RDFSync algorithms in
our versioning component to support blank nodes. However,
their approach uses pull requests with a lack of real-time
noti cations in case of a change event. DSNotify [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] o ers a
framework to notify about broken links in two datasets, but
the subscriber needs to detect the changes by itself. The
proposed sparqlPuSH system of [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] uses the
PubSubHubbub protocol to inform about changed RDF data based on
SPARQL query subscriptions. The main disadvantage of
their approach is the execution of all subscription queries
against the data when an update occurs, which can lead to
performance problems in case of a large dataset and many
subscriptions. The approaches of [
        <xref ref-type="bibr" rid="ref1 ref17">17, 1</xref>
        ] also use
PubSubHubbub as communication protocol for the synchronization
of RDF data. Unfortunately, these systems are limited to
speci c RDF structures, e.g. resources describing social
network activities, not supporting arbitrary RDF data
including blank nodes. The approach of [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] based on the iRap
framework provides a way to subscribe to changes based on
a subset of SPARQL queries. Their system is similar to
ours, however, due to their restriction of possible queries,
users are not able to subscribe to changes of speci c graphs.
      </p>
      <p>
        The work of [
        <xref ref-type="bibr" rid="ref10 ref11 ref6">10, 6, 11</xref>
        ] provide speci cations for
publish and subscribe protocols addressing the noti cation
issue. Noti cations about events are pushed to interested
clients via hubs. The PubSubHubbub speci cation [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] is
simple, well documented and provides a detailed
installation description and thus was chosen for our approach.
6.
      </p>
    </sec>
    <sec id="sec-9">
      <title>CONCLUSIONS AND FUTURE WORK</title>
      <p>By empowering enterprises to create dynamic semantic
value networks based on open standards for publishing data,
they are able to improve the sharing of information between
their business partners and to enhance the management of
complex supply chains. In this paper, we presented a
concept allowing the creation of such value networks. We used
the existing components for access control and versioning
of RDF data of the eccenca DataPlatform and integrated
the publish-subscribe approach to create a tool tackling the
mentioned challenges.</p>
      <p>However, rst system deployments have yield to issues
and questions hampering a wide deployment in enterprises
without any concerns. First, there is a need for a more
exible solution regarding authentication, for example based
on WebID16. For now business partners have to manually
agree on and maintain the credentials used to authenticate
among each other. Secondly, and of particular interest, is the
question of how to deal with changing permissions, especially
if a previous granted read access is withdrawn. Is it enough
to just cancel the a ected subscriptions or do publishers
want to perform additional steps?
7.</p>
    </sec>
    <sec id="sec-10">
      <title>ACKNOWLEDGMENTS</title>
      <p>This work was partly supported by the following grants
from the German Federal Ministry of Education and
Research (BMBF) for the LUCID Project (GA no. 01IS14019A)
as well as for the the LEDS Project (GA no. 03WKCG11A
and GA no. 03WKCG11C).
8.
16https://www.w3.org/2005/Incubator/webid/spec/
eccenca Dat aPl at f or m
Publ i sher
5
11
Ver si oni ng
10
3</p>
      <p>12
Access
Cont r ol</p>
      <p>communicat ion
over message channel</p>
      <p>direct
communicat ion
eccenca Dat aPl at f or m
Subscr i ber
1
15
RDF Reposi t or y
RDF r eposi t or y</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>N.</given-names>
            <surname>Arndt</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Tramp</surname>
          </string-name>
          .
          <article-title>Xodx: A node for the distributed semantic social network</article-title>
          . In International Semantic Web Conference, Aachen, Germany, Germany,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M.</given-names>
            <surname>Cai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Frank</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Yan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>MacGregor</surname>
          </string-name>
          .
          <article-title>A subscribable peer-to-peer RDF repository for distributed metadata management</article-title>
          .
          <source>Journal of Web Semantics</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>J. J.</given-names>
            <surname>Carroll</surname>
          </string-name>
          .
          <article-title>Signing RDF graphs</article-title>
          .
          <source>In Internatinal Semantic Web Conference</source>
          .
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>P.-A.</given-names>
            <surname>Chirita</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Idreos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Koubarakis</surname>
          </string-name>
          , and
          <string-name>
            <given-names>W.</given-names>
            <surname>Nejdl</surname>
          </string-name>
          .
          <article-title>Publish/Subscribe for RDF-based P2P networks</article-title>
          .
          <source>In The Semantic Web</source>
          .
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>K. M. Endris</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Faisal</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Orlandi</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Auer</surname>
            , and
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Scerri</surname>
          </string-name>
          .
          <article-title>Interest-Based RDF update propagation</article-title>
          .
          <source>In International Semantic Web Conference</source>
          .
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>B.</given-names>
            <surname>Fitzpatrick</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Slatkin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Atkins</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Genestoux</surname>
          </string-name>
          .
          <source>PubSubHubbub core 0</source>
          .4 { working draft.
          <source>Technical report, 4 Feb</source>
          .
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>H.</given-names>
            <surname>Kagermann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Helbig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hellinger</surname>
          </string-name>
          , and
          <string-name>
            <given-names>W.</given-names>
            <surname>Wahlster</surname>
          </string-name>
          .
          <article-title>Recommendations for implementing the strategic initiative INDUSTRIE 4.0: Securing the future of german manufacturing industry</article-title>
          .
          <source>Technical report</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>G.</given-names>
            <surname>Klyne</surname>
          </string-name>
          and
          <string-name>
            <given-names>J. J.</given-names>
            <surname>Carroll</surname>
          </string-name>
          .
          <article-title>Resource description framework (RDF): Concepts and abstract syntax</article-title>
          .
          <source>W3C Recommendation</source>
          ,
          <volume>10</volume>
          Feb.
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A.</given-names>
            <surname>Mallea</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Arenas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hogan</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Polleres</surname>
          </string-name>
          .
          <article-title>On blank nodes</article-title>
          .
          <source>In International Semantic Web Conference</source>
          .
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>P.</given-names>
            <surname>Millard</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Saint-Andre</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>R.</given-names>
            <surname>Meijer</surname>
          </string-name>
          . XEP-
          <volume>0060</volume>
          : Publish-Subscribe.
          <source>Technical report, 12 July</source>
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11] Object Management Group.
          <article-title>Data distribution service (DDS) version 1.4</article-title>
          .
          <source>Technical report</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>A.</given-names>
            <surname>Passant</surname>
          </string-name>
          and
          <string-name>
            <given-names>P. N.</given-names>
            <surname>Mendes</surname>
          </string-name>
          . sparqlPuSH:
          <article-title>Proactive noti cation of data updates in RDF stores using PubSubHubbub</article-title>
          .
          <source>In Extended Semantic Web Conference</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>L.</given-names>
            <surname>Pellegrino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Huet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Baude</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Alshabani</surname>
          </string-name>
          .
          <article-title>A distributed Publish/Subscribe system for RDF data</article-title>
          .
          <source>In Data Management in Cloud, Grid and P2P Systems</source>
          .
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>N.</given-names>
            <surname>Petersen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Grangel-Gonzalez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Coskun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Auer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Frommhold</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Tramp</surname>
          </string-name>
          , and
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>LeFrancois</article-title>
          . SCORVoc:
          <article-title>Vocabulary-based information integration and exchange in supply networks</article-title>
          .
          <source>IEEE International Conference on Semantic Computing</source>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>N. P.</given-names>
            <surname>Popitsch</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.</given-names>
            <surname>Haslhofer</surname>
          </string-name>
          . DSNotify:
          <article-title>Handling broken links in the web of data</article-title>
          .
          <source>In International World Wide Web Conference</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>D.</given-names>
            <surname>Ranger</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.-F.</given-names>
            <surname>Cloutier</surname>
          </string-name>
          .
          <article-title>Scalable Peer-to-Peer RDF query algorithm</article-title>
          .
          <source>In Web Information Systems Engineering</source>
          .
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>S.</given-names>
            <surname>Tramp</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Frischmuth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Ermilov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Shekarpour</surname>
          </string-name>
          ,
          <article-title>and others. An architecture of a distributed semantic social network</article-title>
          .
          <source>The Semantic Web</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>G.</given-names>
            <surname>Tummarello</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Morbidoni</surname>
          </string-name>
          , R. Bachmann-Gmur, and
          <string-name>
            <surname>O. Erling.</surname>
          </string-name>
          <article-title>RDFSync: E cient remote synchronization of RDF models</article-title>
          .
          <source>In The Semantic Web</source>
          .
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>