<!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>A Review and Design of Framework for Storing and Querying RDF Data using NoSQL Database</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Chanuwas Aswamenakul</string-name>
          <email>chanuwas.a@kkumail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marut Buranarach</string-name>
          <email>marut.bur@nectec.or.th</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Kanda Runapongsa Saikaew</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Engineering, Faculty of Engineering, Khon Kaen University</institution>
          ,
          <addr-line>Khon Kaen</addr-line>
          ,
          <country country="TH">Thailand</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Language and Semantic Technology Laboratory National Electronics and Computer Technology Center (NECTEC)</institution>
          ,
          <addr-line>Pathumthani</addr-line>
          ,
          <country country="TH">Thailand</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper reviews existing systems and describes a design of RDF database system that uses NoSQL database to store the data which aims to enhance performance of the Semantic Web applications. RDF data is a standard of data in the form of Subject-Predicate-Object called Triples and stored in database called Triple Store. Typically RDF database system uses SPARQL query language to query the RDF data from Triple Store database, e.g. Jena TDB. Our design of RDF database system uses NoSQL database, i.e.,MongoDB, to store the data in JSON-LD format and query by using query API of NoSQL database. We will use the Berlin SPARQL Benchmark to compare the performance of Triple Store and NoSQL systems.</p>
      </abstract>
      <kwd-group>
        <kwd>Semantic Web application framework</kwd>
        <kwd>RDF database</kwd>
        <kwd>NoSQL</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>Currently the amount of data has increased excessively with a variety of formats. The
Semantic Web technology aims to provide standards and facilitate analyzing such big
data. The Semantic Web uses RDF data to describe the data on the web in form of
Subject-Predicate-Object called “triples” [1] that makes the data to have the standard
data model.</p>
      <p>In the present, there are many approaches to store and query RDF data. One
approach to store RDF data is Triple Store designed for storing the triples format of
RDF data [2] and queried by using SPARQL query language. However, from the
Berlin Benchmark results [3], Triple Stores show poor performance when compared
to the relational database systems. NoSQL database removes some features of
relational databases and uses other data models to improve the performance of
database. This has motivated many works to store RDF data by using NoSQL
database.</p>
      <p>This paper reviews existing systems and designs a framework to store RDF data in
NoSQL database. One of the main goals is to design a Semantic Web application
framework that uses RDF data with NoSQL database, i.e., MongoDB. The ultimate
* Corresponding author
objective is to provide a better support for researchers in developing the Semantic
Web applications.</p>
    </sec>
    <sec id="sec-2">
      <title>2 Review of NoSQL-based RDF Database</title>
      <p>
        This section reviews some of RDF database systems that use NoSQL to store the RDF
data including Neo4j [
        <xref ref-type="bibr" rid="ref3">4</xref>
        ] , AllegroGraph [5] , H2RDF [6] , Oracle NoSQL [7] ,
MonetDB [8] and CumulusRDF [9]. The comparison is based on some criteria of
database software such as Implementation language, Database Model, SPARQL1.0,
SPARQL1.1, Trigger, Transaction Concept, Secondary Index, Consistency Concept,
Partitioning Method, Replication Method, Concurrency, Map Reduce, Durability and
Security. Table 1 provides a review summary of RDF database systems that use
NoSQL database.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3 Framework Design</title>
      <p>This section describes our design for an application framework representing system
architecture that compares the Triple Store-based implementation with the
NoSQLbased implementation. We also provide query translation that represents some
example translation of basic SPARQL queries adapted from the Berlin Benchmark [3]
to MongoDB queries.</p>
      <p>Graph Database, Column Store
Document store Database</p>
      <p>Database</p>
      <p>Yes
Yes
No
ACID
Yes</p>
      <p>Strong
consistency
Sharding</p>
      <p>Yes
Yes</p>
      <p>Yes
Configure
ACID +
Visibility</p>
      <p>Yes</p>
      <p>Strong
consistency
Sharding</p>
      <p>Yes
Yes
No
ACID</p>
      <p>No</p>
      <p>Several
consistency
policies</p>
      <p>Sharding
Master-slave</p>
      <p>Master-slave</p>
      <p>Master-slave</p>
      <p>In a system architecture based on the OAM framework [10], we compare between
Triple Store based implementation and NoSQL based implementation. The Triple
store based implementation uses Jena TDB to store the RDF data and OAM API that
uses SPARQL to query the data from Jena TDB. In NoSQL based implementation,
we use RDF to JSON-LD Converter to convert RDF data format to JSON-LD format,
which is JSON-based format designed for Linked data [11], and use JSON-LD Parser
to parse and import JSON-LD data to MongoDB. The OAM API then uses MongoDB
query API to query the data from MongoDB.
This paper has proposed the design of RDF database system by using MongoDB to
store the data in JSON-LD format and its query API. In the future, we will conduct
the performance comparison of Triple Store, MongoDB RDF Database, and relational
database using the Berlin SPARQL Benchmark. Several techniques will be
investigated to improve the performance of the MongoDB RDF Database.</p>
    </sec>
    <sec id="sec-4">
      <title>Acknowledgement References</title>
      <p>JSON-LD [Online]. Available: http://json-ld.org/</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <article-title>The financial support from Young Scientist and Technologist Programme, NSTDA (YSTP: SP-56-NT03) is gratefully acknowledged</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>RDF</surname>
          </string-name>
          [Online]. Available: http://www.w3.org/RDF/ Triple Store [Online]. Available: http://www.w3.org/wiki/RdfStoreBenchmarking Bizer,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Schultz</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>The berlin sparql benchmark</article-title>
          .
          <source>International Journal on Semantic Web and Information Systems (IJSWIS) 5</source>
          (
          <issue>2</issue>
          ),
          <fpage>1</fpage>
          -
          <lpage>24</lpage>
          (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <article-title>Neo4j [Online]</article-title>
          . Available: http://docs.neo4j.
          <source>org/chunked/2</source>
          .0.4/ AllegroGraph [Online]. Available: http://franz.com/agraph/allegrograph/ Papailiou, N.,
          <string-name>
            <surname>Konstantinou</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tsoumakos</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koziris</surname>
          </string-name>
          , N.:
          <article-title>H2RDF: Adaptive Query Processing on RDF Data in the Cloud</article-title>
          .
          <source>In WWW</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Oracle</surname>
            <given-names>NoSQL database</given-names>
          </string-name>
          [Online]. Available: http://docs.oracle.com/cd/E26161_02/html/RDFGraph/ MonetDB [Online]. Available: https://www.monetdb.org/Home Cudré-Mauroux,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Enchev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            ,
            <surname>Fundatureanu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Groth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. T.</given-names>
            ,
            <surname>Haque</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Harth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Keppmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. L.</given-names>
            ,
            <surname>Miranker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. P.</given-names>
            ,
            <surname>Sequeda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            &amp;
            <surname>Wylot</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          (
          <year>2013</year>
          ),
          <article-title>NoSQL Databases for RDF: An Empirical Evaluation</article-title>
          .
          <source>International Semantic Web Conference (2)</source>
          , Springer, pp.
          <fpage>310</fpage>
          -
          <lpage>325</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Buranarach</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thein</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Supnithi</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>A Community-Driven Approach to Development of an Ontology-Based Application Management Framework</article-title>
          . In: Takeda,
          <string-name>
            <given-names>H.</given-names>
            ,
            <surname>Qu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            ,
            <surname>Mizoguchi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            , and
            <surname>Kitamura</surname>
          </string-name>
          ,
          <string-name>
            <surname>Y</surname>
          </string-name>
          . (eds.) Semantic Technology. pp.
          <fpage>306</fpage>
          -
          <lpage>312</lpage>
          . Springer Berlin Heidelberg (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>