<!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>ScSLINT: Time and Memory E cient Interlinking Framework for Linked Data</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Khai Nguyen</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ryutaro Ichise</string-name>
          <email>ichiseg@nii.ac.jp</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>The Graduate University for Advanced Studies, Japan National Institute of Informatics</institution>
          ,
          <country country="JP">Japan</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Data interlinking is the problem of detecting the instances of di erent repositories but co-refer to the same topic. The large scale of linked data pushes a challenge to current interlinking algorithms. ScSLINT is an extension of SLINT+ [4] and its focus is scalability. ScSLINT also includes several modi ed features for the resolution sub-steps. The impressive performance of ScSLINT is validated by an experiment on very large datasets.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        The goal of data interlinking is to detect all instances that co-refer to the same
objects in two repositories, the source and the target. The interlinking problem
on web-based data, such like linked data, is considered as more challenging than
other types of data because of the heterogeneity and scalability issues. Linked
data interlinking is a well-studied problem [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] because of its importance in data
integration and indispensable role in linked data publication.
      </p>
      <p>
        Among many proposed solutions, SILK [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] is known for its frontier in linked
data interlinking framework. Unfortunately, SILK is not well optimized for large
scale dataset. LIMES [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] is a state-of-the-art framework. LIMES focuses on
speeding up the interlinking process by reducing the number of real
comparisons using the characteristics of metric space. However, on really large dataset,
LIMES still shows the limitation in scalability.
      </p>
      <p>
        Following the success of SLINT+ [
        <xref ref-type="bibr" rid="ref3 ref4">4, 3</xref>
        ], we develop its new release, ScSLINT,
as a highly scalable interlinking framework. Compared to SLINT+, ScSLINT
also comes with more advanced built-in features.
      </p>
    </sec>
    <sec id="sec-2">
      <title>The ScSLINT</title>
      <p>The architecture of ScSLINT is depicted by Fig. 1. Rsource and Rtarget are the
input repositories. We describe the detail of each component in their order in
the interlinking process.</p>
      <sec id="sec-2-1">
        <title>2.1 Property alignment generator</title>
        <p>This component creates the property alignments between Rsource and Rtarget. A
property alignment is expected to describe the same attribute. ScSLINT
considers only the properties satisfying the requirement of coverage, discriminability</p>
        <sec id="sec-2-1-1">
          <title>Initial similarity functions</title>
        </sec>
        <sec id="sec-2-1-2">
          <title>Configuration creator</title>
        </sec>
        <sec id="sec-2-1-3">
          <title>Configuration</title>
        </sec>
        <sec id="sec-2-1-4">
          <title>Property alignment generator</title>
        </sec>
        <sec id="sec-2-1-5">
          <title>Property</title>
          <p>alignments</p>
        </sec>
        <sec id="sec-2-1-6">
          <title>Similarity function generator</title>
        </sec>
        <sec id="sec-2-1-7">
          <title>Candidate</title>
          <p>generator</p>
        </sec>
        <sec id="sec-2-1-8">
          <title>Co-reference filter</title>
        </sec>
        <sec id="sec-2-1-9">
          <title>Matching scores</title>
        </sec>
        <sec id="sec-2-1-10">
          <title>Candidates</title>
        </sec>
        <sec id="sec-2-1-11">
          <title>Similarity aggregator</title>
          <p>e
c
r
u
o
s
R
t
e
g
r
a
t</p>
        </sec>
        <sec id="sec-2-1-12">
          <title>R Co-references</title>
          <p>
            [
            <xref ref-type="bibr" rid="ref5">5</xref>
            ], and type compatibility (string, decimal, date, URI ). An overlap measure on
the tokens of the values described by the properties is used as the con dence of
each alignment. The computation is as follows:
conf ([psource; ptarget]) = jOpsource \ Optarget j
          </p>
          <p>jOpsource j
Opk = fE(o)jx 2 Rk; &lt; s; pk; o &gt;2 xg
(1)
where &lt; s; p; o &gt; stands for a RDF triple and E is a preprocessing function that
extracts the tokens or normalizes the data format (e.g., date, time, and decimal)
of the given RDF objects. ScSLINT is more scalable than SLINT+ because it
does not need to consider all elements of Optarget as SLINT+ does.</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>2.2 Similarity function generator</title>
        <p>This component uses the property alignments generated previously to create a
list of initial similarity functions. A similarity function is speci ed by two pieces
of information: a property alignment [psource; ptarget] and a similarity measure
S. For two instances x 2 Rsource and y 2 Rtarget, a similarity function calculates
the similarity S(value(x; psource); value(y; ptarget)) where value(a; p) extracts all
RDF objects of the triples declared by p. Compared to SLINT+, this new module
enables user to install any new similarity measure into ScSLINT.</p>
      </sec>
      <sec id="sec-2-3">
        <title>2.3 Candidate generator</title>
        <p>The mission of the candidate generator is to reduce the huge number of pairwise
alignments between instances, at jRsourcej jRtargetj pairs. This component
detects the candidates of potentially co-referent instances. SLINT+ computes
the rough similarity of instances using a weighted matrix structure, which is not
scalable and inaccurate on ambiguous data. We recommend using token-based
pre x blocking without weighting and currently install it in ScSLINT by default.</p>
      </sec>
      <sec id="sec-2-4">
        <title>2.4 Con guration creator</title>
        <p>A con guration contains the parameters for further components. It describes
similarity functions, similarity aggregator, and co-reference lter. If no
intervention (e.g., user and con guration learning algorithms) to this component is
declared, a default con guration will be construct by taking all generated similarity
functions and picking the frequently used similarity aggregator and co-reference
lter.</p>
        <p>ScSLINT: Time and Memory E cient Interlinking Framework</p>
      </sec>
      <sec id="sec-2-5">
        <title>2.5 Similarity aggregator</title>
        <p>In this component, the similarity functions are executed and their results are
accumulated into one nal matching score. Currently, for computing the matching
score of two instances x and y, ScSLINT supports the following equation:
scoreFsim (x; y) =
1</p>
        <p>X
valid(UFsim (x; y))
v2UFsim (x;y)
vk
weight(y)
(2)
UFsim (x; y) = fsim(x; y)jsim(x; y)
sim; sim 2 Fsimg
where Fsim is the similarity functions speci ed by the con guration. k 2 f1; 2g
controls the transformation for each similarity v. weight is a function weighting
the target instance, which is logmaxt2Rtarget size(t) size(y), where size(y) counts
the number of RDF triples of y. valid returns the number of elements in UFsim (x; y).
sim is the acceptance threshold for the respective similarity function sim.</p>
        <p>This is the most expensive component in the interlinking process. However,
since the candidates can be read and processed independently, ScSLINT applies
parallel processing technique for this component.</p>
      </sec>
      <sec id="sec-2-6">
        <title>2.6 Co-reference lter</title>
        <p>
          This component uses the matching scores of the candidates to construct the nal
co-references. In this step, acceptance threshold is applied onto the matching
scores in order to remove candidates with low similarity. In addition, for highly
ambiguous data, ltering is recommended in order to obtain the high quality
coreferences. ScSLINT currently supports stable ltering, which applies the idea
of stable marriage problem [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ].
        </p>
        <p>Implementation note. In order to optimize the memory load, ScSLINT uses
pre-indexed structures of input RDF repositories. The complexity of indexing
algorithm is small and is linear to the size of repository. Note that these indexes
are created only one time and are reusable. ScSLINT is developed in C++. The
source code this framework is available at http://ri-www.nii.ac.jp/ScSLINT.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Performance</title>
      <p>We evaluate ScSLINT on a computer equipped with one Intel core i7 4770K CPU
and 8GB memory. We enable multi-threading for the similarity aggregator. We
test ScSLINT on 7 real datasets with very large size. The source repositories
are three subsets of NYTimes, whose domain are locations (nyt.loc),
organizations (nyt.org), and people (nyt.peo). The target repositories are Dbpedia (db),
Freebase (fr), and Geonames (gn). We use the default token blocking, linear
similarity aggregator (k = 1), and two complex similarity measures for strings,
TF-IDF Cosine and Levenshtein. We use reverse distance for numeric values and
exact matching for other data types. Using this con guration, in average, 90.57%
of actual co-references are successfully detected.</p>
      <p>Table 1 reports the complexity of these datasets and the execution time of
each component of ScSLINT. In this table, the columns from 2 to 4 describe
the parameters that make impacts to the complexity of the interlinking
process. Column 2 is jRsourcej jRtargetj, which re ects the complexity of property
alignment generator (Comp. 1) and candidate generator (Comp. 3). The
multiplication of column 3 and 4 is the number of comparisons, which directly de nes
the complexity of the similarity aggregator (Comp. 5) and co-reference lter
(Comp. 6).</p>
      <p>
        In our experiment, while ScSLINT achieves a very impressive speed, LIMES
and SILK fail to nish the interlinking task even within 10 times longer period
for each dataset (and we terminate those programs in this case). The longest
interlinking time is about 36 minutes, recorded on nyt.peo-fr, which requires
11:16 109 comparisons. On a dataset that is about 2000 times smaller than
nyt.peo-fr, the required time for LIMES and SILK are almost 30 minutes and
9.5 hours, respectively [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>ScSLINT can process large data in very short time when running on a usual
personal computer. That is, the framework expresses its compatibility for even
huge scale datasets. ScSLINT can far bene t from being conjuncted with other
big data processing framework or deployed on a powerful machine. Also, more
advanced candidate generators, similarity metrics, aggregation strategies, and
learning algorithm can be implemented in ScSLINT easily.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Ferrara</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nikolov</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , Schar e, F.:
          <article-title>Data linking for the semantic web</article-title>
          .
          <source>International Journal of Semantic Web and Information System</source>
          <volume>7</volume>
          (
          <issue>3</issue>
          ),
          <volume>46</volume>
          {
          <fpage>76</fpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Ngomo</surname>
            ,
            <given-names>A.C.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Auer</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>LIMES: A time-e cient approach for large-scale link discovery on the web of data</article-title>
          .
          <source>In: 22nd IJCAI</source>
          . pp.
          <volume>2312</volume>
          {
          <issue>2317</issue>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Nguyen</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ichise</surname>
          </string-name>
          , R.:
          <article-title>SLINT+ results for OAEI 2013 instance matching</article-title>
          .
          <source>In: 8th ISWC workshop on Ontology Matching</source>
          . pp.
          <volume>177</volume>
          {
          <issue>183</issue>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Nguyen</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ichise</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Le</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Interlinking linked data sources using a domainindependent system</article-title>
          .
          <source>In: 2nd JIST. LNCS</source>
          , vol.
          <volume>7774</volume>
          , pp.
          <volume>113</volume>
          {
          <fpage>128</fpage>
          . Springer (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Song</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          , He in, J.:
          <article-title>Automatically generating data linkages using a domainindependent candidate selection approach</article-title>
          .
          <source>In: 10th ISWC. LNCS</source>
          , vol.
          <volume>7031</volume>
          , pp.
          <volume>649</volume>
          {
          <fpage>664</fpage>
          . Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Volz</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bizer</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gaedke</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kobilarov</surname>
          </string-name>
          , G.:
          <article-title>Discovering and maintaining links on the web of data</article-title>
          .
          <source>In: 8th ISWC. LNCS</source>
          , vol.
          <volume>5823</volume>
          , pp.
          <volume>650</volume>
          {
          <fpage>665</fpage>
          . Springer (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>