<!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. Yamaguchi);</journal-title>
      </journal-title-group>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Comparative Study on Storing and Retrieval of URIs for Life Sciences Databases</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Atsuko Yamaguchi</string-name>
          <email>atsuko@tcu.ac.jp</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yasunori Yamamoto</string-name>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Semantic Web, Resource Description Framework, URI, Information retreival</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Database Center for Life Science</institution>
          ,
          <addr-line>Kashiwa, Chiba</addr-line>
          ,
          <country country="JP">Japan</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Tokyo City University</institution>
          ,
          <addr-line>Setagaya, Tokyo</addr-line>
          ,
          <country country="JP">Japan</country>
        </aff>
      </contrib-group>
      <volume>000</volume>
      <fpage>0</fpage>
      <lpage>0002</lpage>
      <abstract>
        <p>In the field of life sciences, numerous databases are publicly available in the form of graph structures called RDF (Resource Description Framework). Each node in these graphs is linked to a unique URI representing entities such as genes and proteins. Consequently, these databases contain vast amounts of graph-structured data with numerous URIs. By establishing links to URIs in other databases, these databases become interconnected through links, ultimately forming a massive knowledge graph.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>CEUR
ceur-ws.org</p>
    </sec>
    <sec id="sec-2">
      <title>1. Introduction</title>
      <p>In the life science field, a large number of heterogeneous data is produced. To facilitate their
integration, RDF (Resource Description Framework) is frequently employed, These RDF datasets
exhibit graph structures, with URIs serving as universal identifiers. The utilization of large
RDF datasets necessitates the development of an eficient method for storing and retrieving a
comprehensive set of URIs that appear within these datasets.</p>
      <p>
        A previous study by Martínez-Prieto et al. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] delved into a comparative analysis of Hashing,
Front Coding, and FM-index, using dictionaries extracted from RDF datasets, focusing on URIs
and literals. They also introduced a method capable of swiftly locating strings within the dataset,
achieving compression ratios of 22% to 66%. However, it’s noteworthy that their investigation
did not explore the potential of Trie, a technique with the capability to compress sets of strings
and retrieve not only the strings themselves but also their prefixes. Eficient federated search
hinges on the ability to identify servers ofering datasets with specific prefixes in an eficient
IJCKG 2023
CEUR
Workshop
Proceedings
manner. In this poster, we undertake a comparative study of Front Coding, Trie, and two novel
methods we propose. Our assessment is based on the average time required for locating, as
well as the compression ratio achieved by these methods.
      </p>
    </sec>
    <sec id="sec-3">
      <title>2. Computational Experiment</title>
      <p>Front Coding is a technique employed to compress a set of sorted strings by comparing each
string with its preceding string and encoding the shared substring to its length. To facilitate
eficient location, the strings are subdivided into subsets, known as buckets. In this study, we
employed a bucket size of 128 for Front Coding. Trie, on the other hand, is a tree structure
designed for locating a specific string within a set of strings. In a Trie, each node corresponds
to a character in a string, and each path in the Trie corresponds to a string within the set. These
two methods are often used for locating a string from a set of strings.</p>
      <p>However, we observed a distinctive feature among the URIs present in life-science RDF
datasets: they tend to exhibit a limited number of prefixes and an abundance of sufixes. Based
on this observation, we devised an innovative approach for URI location within a set of URIs.
We propose breaking down URIs by ”/” delimiter, with each substring corresponding to a node
in a tree structure. As depicted in Fig. 1, the number of leaves in this tree can sometimes be
substantial. To address this, we divided the search method into two phases. In the first phase,
we search for the URI from the root to a leaf, akin to a Trie. If a node possesses a significant
number of children, we employ a secondary method in the second phase. In this context, we
present two distinct methods for the second phase: the first (Method 1) involves binary search
for the children, while the second method (Method 2) entails constructing Tries for each child
node.</p>
      <p>
        We utilized four life-science RDF datasets sourced from the RDF portal [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Due to variations
in the magnitude of URIs, four datasets were chosen. Table 1 provides an overview of these
datasets, including their names, the count of URIs, and the size of the URI lists, with Quanto
being the smallest and KERO the largest. For the four datasets, it has been observed that typical
structures of life science RDF URIs exhibit an explosive increase in the number of children from
a certain depth.
      </p>
      <p>
        It’s worth noting that the tree structures utilized in both the Trie and our proposed methods
are implemented using LOUDS (Level-Order Unary Degree Sequence) methodology [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. This
choice of implementation is made due to its smaller space usage in comparison to other methods,
such as the double array. In our comparative analysis, we evaluated the performance of Front
Coding, Trie, and our two methods (Method 1 and Method 2) using the RDF datasets. We
focused on assessing the compression ratio and the average time required for URI location. To
calculate the average time for URI location, we randomly selected 100 samples from the URI lists
for each dataset. All of the methods were implemented in C++. The computational experiments
were conducted on an Ubuntu 20.04.4 machine equipped with an Intel(R) Xeon(R) 2.40GHz CPU
and 200GB of memory.
      </p>
    </sec>
    <sec id="sec-4">
      <title>3. Result</title>
    </sec>
    <sec id="sec-5">
      <title>4. Discussion and Conclusion</title>
      <p>Based on the findings of our computational experiments, we can deduce that the choice of
method should be contingent on specific application requirements. If expediting the time of URI
location is of paramount importance, particularly in cases where prefix finding is unnecessary,
Front Coding emerges as the preferred method. Conversely, when there is a demand for prefix
ifnding and a preference for a lower compression ratio, Method 2 should be the method of
choice. For scenarios where both prefix finding and the time of URI location are top priorities,
Method 1 ofers the most suitable solution.</p>
      <p>As delineated in Section 2, URIs commonly encountered in life science datasets exhibit a
distinctive pattern of limited prefix variety and extensive sufix diversity. Consequently, our
proposed methods are designed with a dual-phase approach that focuses on traversing paths
corresponding to the strings from the prefix perspective. In instances where a node has a
substantial number of children, Method 1 resorts to binary search to locate the children, refraining
from compressing the strings corresponding to them. This non-compression strategy may
result in a relatively lower compression ratio. In contrast, Method 2 takes a diferent approach,
constructing a Trie for each node with a large number of children, efectively compressing the
strings related to these children, and consequently yielding the smallest size of compressed
URIs.</p>
      <p>In the context of this poster, we employed LOUDS for implementing tree structures. However,
it is worth noting that the double array implementation of Trie is recognized for its speed, even
though it entails larger compression sizes compared to LOUDS. An important avenue for future
exploration remains a comparative analysis with Trie utilizing a double array implementation.</p>
    </sec>
    <sec id="sec-6">
      <title>5. Acknowledgments</title>
      <p>This work was supported by ROIS-DS-JOINT 2020 and 2021 from Research Organization of
Information and Systems (ROIS) and by JSPS KAKENHI grant number 21K12148.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Martínez-Prieto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. D.</given-names>
            <surname>Fernández</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Cánovas</surname>
          </string-name>
          ,
          <article-title>Compression of rdf dictionaries</article-title>
          ,
          <source>in: Proceedings of the 27th Annual ACM Symposium on Applied Computing, SAC '12</source>
          ,
          <year>2012</year>
          , pp.
          <fpage>340</fpage>
          -
          <lpage>347</lpage>
          . doi:
          <volume>10</volume>
          .1145/2245276.2245343.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>S.</given-names>
            <surname>Kawashima</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Katayama</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Hatanaka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Kushida</surname>
          </string-name>
          , T. Takagi,
          <string-name>
            <surname>NBDC</surname>
          </string-name>
          <article-title>RDF portal: a comprehensive repository for semantic data in life sciences</article-title>
          ,
          <year>Database 2018</year>
          (
          <year>2018</year>
          ). doi:
          <volume>10</volume>
          . 1093/database/bay123.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>G.</given-names>
            <surname>Jacobson</surname>
          </string-name>
          ,
          <article-title>Space-eficient static trees and graphs</article-title>
          ,
          <source>in: Proceedings of the 30th FOCS, FOCS</source>
          <year>1989</year>
          ,
          <year>1989</year>
          , pp.
          <fpage>549</fpage>
          -
          <lpage>554</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>