<!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>
      <journal-title-group>
        <journal-title>A. Becker);</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Alexander Becker</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Axel-Cyrille Ngonga Ngomo</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mohamed Ahmed Sherif</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>1.1. State</institution>
          ,
          <addr-line>Purpose, General Statement</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Data Science Group (DICE), Heinz Nixdorf Institute, Paderborn University</institution>
          ,
          <addr-line>Paderborn</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2025</year>
      </pub-date>
      <volume>000</volume>
      <fpage>0</fpage>
      <lpage>0001</lpage>
      <abstract>
        <p>TIM is a knowledge graph matching system with an architecture of Tiered Iterative Matchers that matches ontologies and instances simultaneously. The main idea behind Tim is to create matches based on existing matches and their connections within the knowledge graph. This is the first year where Tim is participating in the OAEI knowledge graph track and it achieves the highest performance for class and property matching as well as the second best performance for instance matching. Furthermore, Tim is the fastest non-baseline system participating in the knowledge graph track.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Link Discovery</kwd>
        <kwd>Ontology Matching</kwd>
        <kwd>Instance Matching</kwd>
        <kwd>Tiered Iterative KG Matching</kwd>
        <kwd>Knowledge Graph Matching</kwd>
        <kwd>TIM OAEI 2025</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1.2. Specific Techniques Used</title>
      <p>Let  and  be the two input knowledge graphs that contain the classes  and  , the properties 
and  , and the instances  and  . Furthermore, let  ∼=  for  ∈  ∪  ∪  ,  ∈  ∪  ∪ 
mean that  is matched to . The ∼= relation is injective both ways, i.e., we only create 1-to-1 matches
and reject any new matching attempt if the source component or target component of the match is
already matched to something else.</p>
      <p>For checking the equivalence of elements from the KGs based on the current state of the matching
process, we define the  function that maps target elements to their IRI, source elements that are
matched to a target element to the target elements IRI, unmatched source elements to their own IRI,
and literals to their lexical representation. Formally,
() =
⎧⎪IRI() : if  ∈ ( ∪  ∪  )
⎪⎨IRI() : if  ∈ ( ∪  ∪  ) ∧ ∃ ∼= 
⎪IRI() : if  ∈ ( ∪  ∪  ) ∧ ∄ ∼= 
⎪⎩lexicalRepresentation() : if  is a literal
Based on this, we define triple representations that map triples consisting of ⟨head, rel, tail⟩ to a string
representation with  being a symbol that is not present in either input knowledge graph and + being
string concatenation.</p>
      <p>HRT(head,rel,tail) = (head) +  + (rel) +  + (tail).</p>
      <p>Two triple representations are only equal if all components of both components are matched to their
respective counterpart in the other triple.</p>
      <p>Sometimes not all parts of the triple should be included in the representation, for example if we
only want to check if the head and rel component of two triples are equal given the existing matches.
Hence, we define representations for parts of a triple HR(head,rel,tail) based on the head and relation
component, HT(head,rel,tail) based on the head and tail component, and RT(head,rel,tail) based on
the relation and tail component:
HR(head,rel,tail) = (head) +  + (rel)
HT(head,rel,tail) = (head) +  + (tail)</p>
      <p>RT(head,rel,tail) = (rel) +  + (tail)</p>
      <sec id="sec-1-1">
        <title>1.2.1. Tim Architecture</title>
        <p>The architecture of Tim based on iterative matchers and bootstrap matchers is visualized in Figure 1. The
iterative matchers are tiered by precision with the first iterative matcher having the highest precision.
When the first iterative matcher is run and finds a match, the matcher is run again to be able to find
more matches based on this match. When the first iterative matcher does not find a new match, then
the second iterative matcher is run. As long as no new match is found by any matcher, the next tier
matcher is run. When a new match gets found, the process starts at the first iterative matcher again
because lower tier matchers can find more accurate matches that could conflict with matches found by
subsequent matchers.</p>
        <p>After the last iterative matcher does not find any new match, the first bootstrap matcher that was
not run yet is run. As long as the bootstrap matchers do not find any new match, the next bootstrap
matchers is run as by definition no iterative matcher cannot find a new match. When a new match is
found, the first iterative matcher is run again. When all bootstrap matchers were run already and the
iterative matchers do not find any new match, the process ends.</p>
      </sec>
      <sec id="sec-1-2">
        <title>1.2.2. Iterative Matchers</title>
        <p>The iterative matchers build matches upon already existing matches. They are based mostly on the
structure of the input knowledge graphs and match pairs that share similar connections to other instance
pairs that were matched before. Properties are matched by unique occurrences and classes are matched
based on the overlap of matched instance pairs with classes in the other KG. We summarize the iterative
matchers of Tim in Table 1.</p>
        <p>h
c
t
a
M
w
e
N</p>
        <sec id="sec-1-2-1">
          <title>Iterative Matchers</title>
        </sec>
        <sec id="sec-1-2-2">
          <title>Iterative Matcher 1</title>
        </sec>
        <sec id="sec-1-2-3">
          <title>Iterative Matcher 2</title>
        </sec>
        <sec id="sec-1-2-4">
          <title>Iterative Matcher 3</title>
        </sec>
        <sec id="sec-1-2-5">
          <title>Iterative Matcher 4</title>
        </sec>
        <sec id="sec-1-2-6">
          <title>Iterative Matcher 5</title>
        </sec>
        <sec id="sec-1-2-7">
          <title>No Match</title>
        </sec>
        <sec id="sec-1-2-8">
          <title>No Match</title>
        </sec>
        <sec id="sec-1-2-9">
          <title>No Match</title>
        </sec>
        <sec id="sec-1-2-10">
          <title>No Match</title>
        </sec>
        <sec id="sec-1-2-11">
          <title>Start End yes</title>
        </sec>
        <sec id="sec-1-2-12">
          <title>Were all bootstrap matchers run already?</title>
        </sec>
        <sec id="sec-1-2-13">
          <title>Run the first</title>
          <p>no bootstrap matcher
that was not
run before</p>
        </sec>
        <sec id="sec-1-2-14">
          <title>No Match</title>
        </sec>
        <sec id="sec-1-2-15">
          <title>Bootstrap Matcher 1</title>
        </sec>
        <sec id="sec-1-2-16">
          <title>No Match</title>
        </sec>
        <sec id="sec-1-2-17">
          <title>Bootstrap Matcher 2</title>
        </sec>
        <sec id="sec-1-2-18">
          <title>No Match</title>
        </sec>
        <sec id="sec-1-2-19">
          <title>Bootstrap Matcher 3</title>
        </sec>
        <sec id="sec-1-2-20">
          <title>No Match</title>
        </sec>
        <sec id="sec-1-2-21">
          <title>Bootstrap Matcher 4</title>
        </sec>
        <sec id="sec-1-2-22">
          <title>No Match</title>
        </sec>
        <sec id="sec-1-2-23">
          <title>Bootstrap Matcher 5</title>
          <p>N
e
w
M
a
t
c
h
Matches instances that have the same label and alternative label, and belong to matching
classes.</p>
          <p>Matches instances that have the same label and alternative label, and are both the tail
component in a triple where the head components got matched since the last iteration of
this matcher and relation components are matched.</p>
          <p>Matches instances that have at least two common triple representations (excluding labels)
based on relation and tail component where the instances are the head component, and
depending on the tier have: an equivalent label and an equivalent altLabel (Tier 3); an
equivalent label (Tier 4); an equivalent alternative label (Tier 5); a source instance label
equivalent to a target instance altLabel (Tier 6); a source instance altLabel equivalent to a
target instance label (Tier 7).</p>
          <p>The same as Tier 3-7 except that one common triple representation is enough.
Matches properties that have a unique triple representation based on head and tail component.
Matches instances that have two common unique triple representations based on the relation
and tail component.</p>
          <p>Matches classes when the overlap between instances belonging to these classes is greater
than the mean instance overlap for already matched classes (excluding class pairs with less
than 20% overlap).</p>
        </sec>
      </sec>
      <sec id="sec-1-3">
        <title>1.2.3. Bootstrap Matchers</title>
        <p>The bootstrap matchers are used to create more seed matches in case the iterative matchers do not have
any new matches available to build new matches upon. Most of the bootstrap matchers are simple and
rely on matching classes, properties, or instances that have the same IRI, same label, similar words in
the label, or unique attributes. We summarize the bootstrap matchers of Tim in Table 2.</p>
        <p>Matches the classes whose labels have more than a 50% jaccard overlap (split by spaces)
starting with the highest overlap pairs.</p>
        <p>Matches the properties whose labels have more than a 50% jaccard overlap (split by spaces)
starting with the highest overlap pairs.</p>
        <p>Matches instances that have an equivalent label and equivalent altLabel.</p>
        <p>Matches instance pairs where the source and target instance have one unique common triple
representation based on the relation and tail component.</p>
        <p>Matches instance pairs that have a common word (separated by spaces) in any literal attribute
that is unique to that pair.
2. Results
Since Tim is specifically designed to work on knowledge graphs that contain both ontology elements
and instance information, Tim only produces significant results when the instances are present in the
input KGs. While Tim is able to produce a mapping even when no instances are present in the input,
only the very easy to find matches are included in the mapping; e.g., classes with equivalent labels. This
is caused by all iterative matchers requiring instance information to function.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2.1. Knowledge Graph Track</title>
      <p>
        As Tim’s main focus is the knowledge graph track, we asses the results in the following with Tim’s
results for this track shown in Table 3. For the full results including other systems, see [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>Tim produces better results than all participants from the last years edition. The only competitor
that was able to surpass Tim in parts of the results is the newly participating DogMa system.</p>
      <p>For the class mappings, Tim placed first for three out of five datasets and second for the remaining two.
Additionally, Tim achieves the best overall class F-measure. The most outstanding result is generated
for the datasets about Startrek where Tim surpasses all other systems by at least 0.14 F-measure. For
the property mappings, Tim again achieves the best overall property F-measure with the first place for
four datasets and the second place for one dataset. For the instance mappings, Tim places second behind
DogMa in the overall comparison. Tim only places at the top spot two times for the instance datasets
and places second three times. While the diference to DogMa is very small for most datasets, the
diference amounts to 0.08 for the starwars-swg dataset.</p>
      <p>Considering the runtime, overall Tim is the fastest non-baseline matcher1 with a total runtime of
only 34 minutes and 13 seconds while the second fastest matcher (LogMap) needed over 56 minutes to
ifnish the alignment process. Tim’s achieved time is only three times as much time as needed for the
baseline matchers that only compare labels. Hence, we consider our matcher incredibly eficient.
3. General Comments</p>
    </sec>
    <sec id="sec-3">
      <title>3.1. Comments on the Results</title>
      <p>Throughout all results, Tim currently prioritizes precision over recall. The system provides better
results than all systems that were participating in the last year and achieves best as well as second best
rankings in this years version.</p>
    </sec>
    <sec id="sec-4">
      <title>3.2. Discussions on the Way to Improve the Proposed System</title>
      <p>Up until this point, we have not done a lot of optimizations on Tim. Some points we will improve in the
future are the following:</p>
      <p>For the iterative matchers, there are still a lot of possibilities. Currently, for the iterative matchers
3-12 (see Table 1), the process is only executed to match head instances based on common triple
representations on the basis of relations and tail instances. This could easily be expanded to also work
the other way around, i.e. matching tail instances that have common triple representations based on the
head and relation component. Furthermore, the iterative matchers strongly rely on equivalent labels
and alternative labels, which could be relaxed to similar labels to increase recall.</p>
      <p>The bootstrap matchers possess significantly more potential capabilities than those presently realized
in the current version of Tim. They do not consider lexical or phonetical similarities, which can be
beneficial for finding additional matches.</p>
      <p>Additionally, the architecture could be adjusted to enable certain iterative matchers to activate only
after a specified number of matches have been identified or once a predefined set of bootstrap matchers
has been executed. This adjustment would help prevent erroneous matches produced by iterative
matchers when only a limited number of matches are available (in particular, iterative matcher 15 is
prone to such errors under sparse matching conditions).</p>
    </sec>
    <sec id="sec-5">
      <title>3.3. Comments on the OAEI Test Cases</title>
      <p>
        We really enjoyed the test cases extracted from wikis using DBkWik[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. However, when analyzing the
errors made by our approach, we discovered that the test cases based on the starwars wiki contain several
instance pairs where we do not believe that any matcher has a chance finding the correct match. This is
caused by the starwars wiki having two pages for multiple instances: One for the canon based description
of an entity and another one based on starwars stories outside of the canon called Legends. One example
for this is https://starwars.fandom.com/wiki/Yoda and https://starwars.fandom.com/wiki/Yoda/Legends,
which both describe Yoda. The other wikis often do not distinguish between the canon and legends
version of a character and the external links often only exist to either the canon or legends version.
      </p>
      <p>We believe that this can be easily fixed in the next years version, for example by removing all instances
from https://starwars.fandom.com that end with /Legends, and changing the alignment file
to let correspondences containing an instance from legends to point to the canon instance instead.
Alternatively, the gold standard could be extended by including both the canon as well as the legends
version for instances that currently are only linked to one of them.
1DogMa is excluded from this because it has no runtime information available as only it’s alignment files were submitted
4. Conclusion
Within this system paper, we presented Tim, a knowledge graph matching system using an
architecture of tiered iterative matchers that jointly align ontologies and instances. The approach leverages
structural information about the knowledge graphs utilizing previously established matches to discover
new matches. Throughout the evaluation on the knowledge graph track, Tim demonstrates a strong
performance, achieving best or second-best results in this years edition, outperforming all previously
established systems from the last years edition. Notably, the system showed a high degree of eficiency
with a total runtime significantly below all non-baseline competitors.</p>
      <p>In future work, we are going to add additional matchers into Tim further increasing the accuracy
especially regarding instance matching. Furthermore, we are going to optimize the runtime even more
to make the approach scalable to even bigger datasets.</p>
      <p>Acknowledgments
This work has been supported by the Ministry of Culture and Science of North Rhine-Westphalia (MKW
NRW) within the project SAIL under the grant no NW21-059D. This work has been supported within
the project "WHALE" (LFN 1-04) funded under the Lamarr Fellow Network programme by the Ministry
of Culture and Science of North Rhine-Westphalia (MKW NRW). This project has received funding from
the European Union’s Horizon Europe research and innovation programme under grant agreement No
101070305.</p>
      <p>Declaration on Generative AI
The authors have not employed any Generative AI tools.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <article-title>[1] Results for oaei 2025 - knowledge graph track</article-title>
          ,
          <year>2025</year>
          . URL: https://oaei.ontologymatching.org/2025/ results/knowledgegraph/index.html, accessed:
          <fpage>2025</fpage>
          -10-23.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>A.</given-names>
            <surname>Hofmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Perchani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Portisch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hertling</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Paulheim</surname>
          </string-name>
          , Dbkwik:
          <article-title>Towards knowledge graph creation from thousands of wikis</article-title>
          .,
          <source>ISWC (Posters</source>
          , Demos &amp; Industry Tracks)
          <volume>1</volume>
          (
          <issue>2017</issue>
          )
          <article-title>2</article-title>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>