Page 127 - JOURNAL OF LIBRARY SCIENCE IN CHINA 2018 Vol. 42
P. 127

126 Journal of Library Science in China, Vol. 8, 2016


            of triple stores: 1) the triple stores that are based on relational databases, for example, Jean SDB
            and Virtuoso; 2) native triple stores, for example, AllegroGraph, Jena TDB and Sesame;
            3) non-SQL databases, for example, CumulusRDF which is based on Cassandra . The relational
                                                                              ①a
            databases-backed RDF triple stores depend on mature relational database systems, and are good at
            dealing with the operations like concurrence and frequent data updating. They are appropriate for
            transactional storage, but need to be bound with a relational database, which makes it inflexible
            in installation and usage. Non-SQL is a promising storage strategy. However, most of its existing
            products are not mature and still under the development phase. (Recently, a mature graph database
            Neo4j emerges. We will explore how to use it to store vocabulary data in the future work.)
            Taken together, native triple stores have more advantages, for example, flexible and convenient
            installation, quick speed, and good scalability, and are thus the mainstream triples stores. There
            are two completely free native triple stores: Jena TDB and Sesame. In comparison with Sesame,
            Jena TDB provides a better data loading function, has better performance while dealing with a
            large amount of data, and can work well with other development tools. Sesame performs better in
            data query and has a certain inference function. In terminology services, there is a requirement to
            process a large amount of vocabulary data, but no high requirement for inference. Thus we selected
            Jena TDB as the triple store of SKOS-format vocabularies and Jena Fuseki as the SPARQL
            endpoint on TDB. Why we used Fuseki to query RDF data rather than operating them through
            programming code is because Fuseki provides a RESTful SPARQL query interface, which makes
            it possible to distribute the storage and retrieval of RDF data on different servers and shield the
            bottom change of TDB, and thus has better concurrent support.


            2.2  Terminology services


            It is not easy to develop REST-style Web services without the support of development tools. In this
            study, we used JAX-RS (Java API for RESTful Web Services) to develop Web services. JAX-RS
            is an application program interface oriented for the JAVA programing language. It is a part of Java
            EE6, providing a set of APIs to simplify the development of RESTful Web services. The proposal
            for JAX-RS was started in 2007. The release of version 1.0 (i.e. JSR 311) was finalized in October
            2008. Currently the latest version is the version 2.0 (i.e. JSR 339) which was released in May
            2013. The implementation of JAX-RS is provided by the third parties, for example, open-source
            Web service framework Apache CXF, Sun’s Jersey, and JBoss’s RESTEasy(Litte, 2015) etc. Since
            Jersey is easy to learn and more intuitive, and also easy to build and run testing services, we used
            Jersey 1.4 which supports JAX-RS 1.1 to build terminology services on the Tomcat 7.0 server.
            According to the conclusions and suggestion obtained from the review and analysis of existing
            terminology services and related projects in foreign countries(Ou, 2014), we selected to build six
            ①a Apache Cassandra is a free and open-source distributed database management system, which is a mixture between a NoSQL
            key-value store and a traditional relational database.
   122   123   124   125   126   127   128   129   130   131   132