<!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>Semantic Knowledge Management and Ontology Development for Online Library</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Nensi SKËNDERI</string-name>
          <email>nensiskenderi@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Areti BOJAXHIU</string-name>
          <email>areti.bojaxhiu@fshn.edu.al</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Faculty of Natural Sciences, University of Tirana</institution>
          ,
          <addr-line>Tirana</addr-line>
          ,
          <country country="AL">Albania</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Nowadays people with computer-related background and programming knowledge are focusing more and more towards the Semantic Web. The reason behind this trend is because many years ago, as the World Wide Web began to develop with the continued vision of Tim Berners-Lee; we saw how the computers could interact with humans by providing information on all kind of different topics people were interested in. Since its creation the Internet has evolved through time into the amazing World Wide Web that we see today. A negative aspect of it is that all we presently have is information that only humans can understand. We want this problem to be solved by a technology which would enable this information to be understandable by computers too. A technology that processes the data not only in a machine-readable way but also understands most of that information's meaning. The focus of this paper is to see how Semantic Web aims to do this by using ontology and most fundamentally, the Resource Description Framework (RDF).</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>In recent years, Semantic Web has been increasingly
useful because it provides an interesting vision of our
online future and a more useful computer-human
interaction. The Semantic Web vision had its roots in
2001 when it was first presented in an article by Tim
Berners-Lee (the inventor of the World Wide Web).
Despite the fact that through the year’s critics found
Berners-Lee’s vision perhaps very distant, some find it
appealing and encourage people to study this
technology and bring the next-generation semantic data
closer to us, even though it is still far away from its
grand vision [Hep08].</p>
      <p>Even though the Semantic Web concept remains
very complex, we have solutions to create applications,
process data and extract that data into meaningful
results for the users [Dav09]. This is where the
Resource Description Framework (RDF) [Swp] comes
in handy. Being one the members of the World Wide
Web Consortium (W3C) family specifications, RDF is
designed as a metadata model and is used for
conceptual description or modeling of information that
is implemented in web resources, using a variety of
syntax notations and data serialization formats [Rdf].</p>
      <p>In this paper we are going to see how to process data
in a specific RDF format by running some SPARQL
queries and using Java as a programming language. The
RDF format I am using is called Notation3. Notation3,
or N3 as it is more commonly known, is a shorthand
non-XML serialization of Resource Description
Framework models, designed with human-readability in
mind. N3 is much more compact and readable than
XML RDF notation [Not].</p>
    </sec>
    <sec id="sec-2">
      <title>2 Creating Ontologies using Protégé</title>
      <p>By mentioning RDF formats like Notation3 we can
create our ontologies based on this format and then by
using the RDF query-language SPARQL [Spa13], we
aim to get appropriate results against our queries.</p>
      <p>Notation3 works in a way that allows us to store
our ontology in an URL and add it as a prefix to
retrieve data. We do this in order to be able to get the
attributes of the ontology that we need and then by
adding the prefix before the specific attribute, we can
get the results we are searching for.</p>
      <p>There is no doubt that we can create ontologies
using simple editors, but to be able to understand the
exact logic behind it or what are the basic requirements
for building an ontology, we can use the help of a
software called Protégé. This software goes from
creating simple ontologies to managing the most
complex ones because it has everything we need and
offers a lot of built-in functionalities.</p>
    </sec>
    <sec id="sec-3">
      <title>3 Representing RDF Notation3 format</title>
      <p>When using Protégé we first create our classes and then
we give each class their specific Data Type Property
which will have Data Property Assertions that will hold
the values for those Data Type Properties [Ale08].</p>
      <p>The way that RDF format Notation3 represents
these interactions along with the use of prefixes is
shown in the figure below in which:
 the url in the prefix is our stored ontology
(created with Protégé)
 nensi:Admin is the Data Type Property
 nensi:hasAdminEmail
“nensiskenderi20@gmail.com” is the data
property assertion for the above data type
property</p>
    </sec>
    <sec id="sec-4">
      <title>4 Building the Application</title>
      <p>After creating the ontology in Protégé and using
Notation3 to represent the data there are some other
steps we need to go through in order to create our
semantic web application.</p>
      <p>

</p>
      <p>Running Apache Jena Fuseki which is our
SPARQL server at http://localhost:3030
Programming with Java and SPARQL query</p>
      <p>Getting results from the applications</p>
      <p>The first step is to run Apache Jena Fuseki so we
prepare our environment by opening the command
prompt and running the command fuseki-server.bat in
the folder where we downloaded the server and that
will set the server status to Online. Then we upload our
ontology to Fuseki which will provide us some services
to manipulate and retrieve our results such as:


http://localhost:3030/nensi/sparql
http://localhost:3030/nensi/update</p>
      <p>Here, ‘nensi’ is the name of the dataset where our
ontology is stored and with the services listed above,
we are ready to go to the next step.</p>
      <p>After uploading the data and getting the services
by Fuseki, we can include them in our code and then be
able to run queries. Now that we have all the
information that we need we can start programming
with Java and running SPARQL queries against the
dataset.</p>
      <p>In the figure above, we show a SPARQL query that
gives us results about all books in our dataset. After we
get the data from the query we store it in a list that
contains Book objects and then we use this list to show
the books and their attributes like author name, book
title, book price etc. in our application.</p>
      <p>When we create our queries in the code we also can
test the same queries in the Fuseki User Interface to
make sure we are retrieving the results we want. An
example of listing books and their attributes after we
run the query in Figure 3 is shown below:</p>
      <p>After researching, building semantic web library
management system and after putting together all the
resources and combining the technologies needed we
now have a basic application. The result of this
application is shown in the below figure:
Based on the created application which uses the
Semantic Web technology and all the researches made
in this specific part of the World Wide Web, it can be
asserted with certainty that a lot more can be done in
order to make this technology move forward and
protect its vision by giving the community what it
needs: a Web that not only reads the data and shows it
to you, but also understands its meaning and provides
you with exact information on what you are looking for.</p>
      <p>Our future work aims to facilitate not only how the
data is being processed but also use new methods and
technologies related to semantic web, by promising a
future of reliable information and even more by helping
people get the most accurate knowledge when they
search for it.
[Spa13] https://en.wikipedia.org/wiki/SPARQL.</p>
    </sec>
  </body>
  <back>
    <ref-list />
  </back>
</article>