<!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>LDIF - Linked Data Integration Framework</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Andreas Schultz</string-name>
          <email>a.schultz@fu-berlin.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andrea Matteini</string-name>
          <email>a.matteini@mes-info.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Robert Isele</string-name>
          <email>mail@robertisele.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christian Bizer</string-name>
          <email>chris@bizer.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christian Becker</string-name>
          <email>c.becker@mes-info.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>. MediaEvent Services GmbH &amp; Co. KG</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>. Web-based Systems Group, Freie Universitat Berlin</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The LDIF - Linked Data Integration Framework can be used within Linked Data applications to translate heterogeneous data from the Web of Linked Data into a clean local target representation while keeping track of data provenance. LDIF provides an expressive mapping language for translating data from the various vocabularies that are used on the Web into a consistent, local target vocabulary. LDIF includes an identity resolution component which discovers URI aliases in the input data and replaces them with a single target URI based on user-provided matching heuristics. For provenance tracking, the LDIF framework employs the Named Graphs data model. This paper describes the architecture of the LDIF framework and presents a performance evaluation of a life science use case.</p>
      </abstract>
      <kwd-group>
        <kwd>Linked Data</kwd>
        <kwd>Data Integration</kwd>
        <kwd>Data Translation</kwd>
        <kwd>Identity Resolution</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The Web of Linked Data grows rapidly but the development of Linked Data
applications is still cumbersome due to the heterogeneity of the Web of Linked
Data [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Two major roadblocks for Linked Data applications are vocabulary
heterogeneity and URI aliases. A fair portion of the Linked Data sources reuse
terms from widely-deployed vocabularies to describe common types of entities
such as people, organizations, publications and products. For more specialized,
domain-speci c entities, such as genes, pathways, descriptions of subway lines,
statistical and scienti c data, no wide-spread vocabulary agreement has evolved
yet. Data sources in these domains thus use proprietary terms [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. A second
problem are identity links. Some data sources set owl:sameAs links pointing at
data about the same entity in other data sources. Many other data sources do
not [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>In contrast to the heterogeneity of the Web, it is bene cial in the application
context to have all data describing one class of entities being represented using
the same vocabulary. Instead of being confronted with URI aliases which refer to
data that might or might not describe the same entity, Linked Data applications
would prefer all triples describing the same entity to have the same subject
URI as this eases many application tasks including querying, aggregation and
visualization.</p>
      <p>In order to ease using Web data in the application context, it is thus
advisable to translate data to a single target vocabulary (vocabulary mapping)
and to replace URI aliases with a single target URI on the client side (identity
resolution), before doing any more sophisticated processing.</p>
      <p>There are various open source tools available that help application developers
with either data translation or identity resolution. But to date, there are hardly
any integrated frameworks available that cover both tasks. With LDIF, we try
to ll this gap and provide an open-source Linked Data integration framework
that provides for data translation and identity resolution while keeping track of
data provenance.</p>
      <p>
        Figure 1 shows the schematic architecture of a Linked Data application that
implements the crawling/data warehousing pattern [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The gure highlights the
steps of the data integration process that are currently supported by LDIF.
      </p>
      <p>Application Layer
Data Access,
Integration and
Storage Layer
Web of Data</p>
      <p>Application Code
Web Data
Access
Module</p>
      <p>HTTP</p>
      <p>LDIF
Vocabulary
Mapping
Module</p>
      <p>Identity
Resolution
Module</p>
      <p>SPARQL or RDF API
Quality
Evaluation
Module</p>
      <p>Integrated
Web Data
Publication Layer</p>
      <p>HTTP</p>
      <p>HTTP</p>
      <p>HTTP
LD Wrapper</p>
      <p>LD Wrapper
Database A</p>
      <p>Database B</p>
      <p>RDFa
CMS</p>
      <p>The LDIF framework is implemented in Scala and can be downloaded from
the project website1 under the terms of the Apache Software License. In the
following, we explain the architecture of the LDIF framework and present a
performance evaluation along the example of a life science use case.</p>
    </sec>
    <sec id="sec-2">
      <title>1 http://www4.wiwiss.fu-berlin.de/bizer/ldif/</title>
      <sec id="sec-2-1">
        <title>Architecture</title>
        <p>The LDIF framework consists of a runtime environment and a set of pluggable
modules. The runtime environment manages the data ows between the modules.
The pluggable modules are organized as data access components, data
transformation components and data output components. So far, we have implemented
the following modules:
2.1</p>
        <sec id="sec-2-1-1">
          <title>Data Access: N-Quads Loader</title>
          <p>The current version of LDIF expects input data to be represented as Named
Graphs and be stored in N-Quads format. The graph URI is used for provenance
tracking. Provenance meta-information describing the graphs can be provided
as part of the input data within a speci c provenance graph. The name of this
provenance graph can be set in the LDIF con guration le. LDIF does not make
any assumptions about the provenance vocabulary that is used to describe the
graphs, meaning that you can use your provenance vocabulary of choice.
2.2</p>
        </sec>
        <sec id="sec-2-1-2">
          <title>Transformation: R2R Data Translation</title>
          <p>
            LDIF employs the R2R Framework [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ] to translate Web data that is
represented using terms from di erent vocabularies into a single target vocabulary.
Vocabulary mappings are expressed using the R2R Mapping Language. The
language provides for simple transformations as well as for more complex structural
transformations (1-to-n and n-to-1) and property value transformations such as
normalizing di erent units of measurement or complex string manipulations.
Socalled modi ers make it possible to change the language tag or data type of a
literal or the RDF node type (URI $ literal). The syntax of the R2R
Mapping Language is very similar to the SPARQL query language, which eases the
learning curve. The expressivity of the language enabled us to deal with all
requirements that we have encountered so far when translating Linked Data from
the Web into a target representation [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ].
2.3
          </p>
        </sec>
        <sec id="sec-2-1-3">
          <title>Transformation: Silk Identity Resolution</title>
          <p>
            LDIF employs the Silk Link Discovery Framework [
            <xref ref-type="bibr" rid="ref4">4</xref>
            ] to nd di erent URIs
which identify the same real-world entity. Silk is a exible identity resolution
framework that allows the user to specify identity resolution heuristics using the
declarative Silk - Link Speci cation Language (Silk-LSL). In order to specify the
condition which must hold true for two entities to be considered a duplicate,
the user may apply di erent similarity metrics, such as string, date or URI
comparison methods, to multiple property values of an entity or related entities.
The Link Speci cation Language provides a variety of data transformations to
normalize the data prior to comparing it. The resulting similarity scores can be
combined and weighted using various similarity aggregation functions.
          </p>
          <p>Silk uses a novel blocking approach which removes de nite non-duplicates
early in the matching process, thereby signi cantly increasing its e ciency. For
each set of duplicates which have been identi ed by Silk, LDIF replaces all
URI aliases with a single target URI within the output data. In addition, it
adds owl:sameAs links pointing at the original URIs, which makes it possible
for applications to refer back to the original data sources on the Web. If the
LDIF input data already contains owl:sameAs links, the referenced URIs are
normalized accordingly.
2.4</p>
        </sec>
        <sec id="sec-2-1-4">
          <title>Data Output: N-Quads Writer</title>
          <p>The N-Quads writer dumps the nal output of the integration work ow into a
single N-Quads le. This le contains the translated versions of all graphs from
the input graph set as well as the contents of the provenance graph.
2.5</p>
        </sec>
        <sec id="sec-2-1-5">
          <title>Runtime Environment</title>
          <p>The runtime environment manages the data ow between the modules and the
caching of the intermediate results. In order to parallelize processing, data is
partitioned into entities prior to supplying it to a transformation module. An
entity represents a Web resource together with all data that is required by a
transformation module to process this resource. Entities consist of one or more
graph paths and include a provenance URI for each node. Each transformation
module speci es which paths should be included into the entities it processes.
By splitting the data set into ne-grained entities, LDIF is able to parallelize
the workload on machines with multiple cores. In the next release, it will allow
the workload to be parallelized on multiple machines using Hadoop.
3</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>Performance Evaluation</title>
        <p>We evaluated the performance of LDIF using two life science data sets: KEGG
GENES2, a collection of gene catalogs generated from publicly available
resources, and UniProt3, a data set containing protein sequence, genes and
functions.</p>
        <p>We de ned R2R mappings for translating genes, diseases and pathways from
KEGG GENES and genes from UniProt into a proprietary target vocabulary4.
The mappings employ complex structural transformations. The prevalent value
transformations rely on regular expressions, e.g. for extracting an integer value
from a URI, and modify the target data types. We de ned Silk linkage rules for
identifying equivalent genes in both datasets. For the benchmark, we generated
subsets of both data sources together amounting to 25 million, 50 million, and
2 http://www.genome.jp/kegg/genes.html
3 http://www.uniprot.org/
4 http://www4.wiwiss.fu-berlin.de/bizer/ldif/resources/Wiki.owl
100 million quads. The R2R mappings, Silk linkage rules as well as the evaluation
data sets can be downloaded from the LDIF website.</p>
        <p>We ran the performance tests on a machine with an Intel i7 950, 3.07GHz (4
cores) processor and 24GB of memory out of which we assigned 20GB to LDIF.</p>
        <p>Table 1 summarizes the LDIF runtimes for the di erent data set sizes. The
overall runtime is split according to the di erent processing steps of the
integration process.</p>
        <p>Table 2 provides statistics about the data integration process. The original
number of input quads decreases in the process as LDIF was con gured to
discards input quads which are irrelevant for the de ned mappings, and therefore
can not be translated into the target vocabulary. The number decreases again
after the actual translation, as the input data uses more verbose vocabularies
and as multiple quads from the input data are thus combined into single quads
in the target vocabulary.
We are aware of two other Linked Data integration frameworks that also
provide for data translation and identity resolution: The ALOE - Assisted Linked
Data Consumption framework5 developed at the Universitat Leipzig and the</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>5 http://aksw.org/projects/aloe</title>
      <p>
        Information Workbench6 [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] developed by uid Operations. Compared to both
frameworks, LDIF provides more expressive languages for data translation and
identity resolution as well as an end-to-end concept for provenance tracking.
Additionally, both other frameworks have not published performance numbers
for use cases involving larger amounts of triples yet.
      </p>
      <sec id="sec-3-1">
        <title>Outlook</title>
        <p>Over the next months, we will extend LDIF along the following lines:</p>
      </sec>
      <sec id="sec-3-2">
        <title>Acknowledgments</title>
        <p>This work was supported in part by Vulcan Inc. as part of its Project Halo
(www.projecthalo.com) and by the EU FP7 project LOD2 - Creating Knowledge
out of Interlinked Data (http://lod2.eu/, Ref. No. 257943).</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>6 http://www.fluidops.com/information-workbench/</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Heath</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bizer</surname>
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Linked Data: Evolving the Web into a Global Data Space</article-title>
          .
          <source>Synthesis Lectures on the Semantic Web: Theory and Technology</source>
          , Morgan &amp; Claypool Publishers, ISBN
          <volume>978160845431</volume>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bizer</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jentzsch</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cyganiak</surname>
          </string-name>
          , R.:
          <article-title>State of the LOD Cloud</article-title>
          . http://www4.wiwiss.fu-berlin.de/lodcloud/state/,
          <year>August 2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Bizer</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schultz</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>The R2R Framework: Publishing and Discovering Mappings on the Web</article-title>
          .
          <source>1st International Workshop on Consuming Linked Data (COLD</source>
          <year>2010</year>
          ), Shanghai,
          <year>November 2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Isele</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jentzsch</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bizer</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Silk Server - Adding missing Links while consuming Linked Data</article-title>
          .
          <source>1st International Workshop on Consuming Linked Data (COLD</source>
          <year>2010</year>
          ), Shanghai,
          <year>November 2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Haase</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schmidt</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schwarte</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>The Information Workbench as a Self-Service Platform for Linked Data Applications</article-title>
          . 2nd
          <source>International Workshop on Consuming Linked Data (COLD</source>
          <year>2011</year>
          ), Bonn,
          <year>Oktober 2011</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>