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.