This document describes a semantic web search engine desktop application called SEWSE. It allows users to search ontology files stored locally and different SPARQL endpoints for matching information. The application collects results from these sources and displays them together in one interface. It is composed of two main modules: one that queries SPARQL endpoints and another that queries local ontology files. A use case demonstrates a user selecting a language, entering search terms, and receiving consolidated results.
2. Mikel Berdufi
1
SemanticWebSearchEngine
Report
In this report we will give some details about this project. We will simply introduce the idea of this project
and then in the next section we will describe how this application works describing its software
architecture and a short user manual description.
Introduction
Semantic web as we know is the future of the web, and developing software based in this new concept is a
new challenge. Today’s there are a lot of libraries based in java, .net that allows us to build semantic web
apps. The most used library is Jena, and this software uses this type of java library.
SemanticWebSearchEngine (SEWSE) is a small semantic web search engine desktop app that allows the
user to:
Search from ontology files stored locally
Search from different Sparql endpoints online
Search in different language.
After collecting the information from this different sources the result is shown to the user in just one
single interface. Until now the user is able to select one of the 3 languages provided (en,it,es). User selects
the language, puts the keywords and then just press the search button and waits for the results.
In the next sections, more details about this software will be given.
SEWSE simple use case
Here in this section will be described a simple case of a user that is using the software. In fig1 is shown a a
simple illustration of this.
3. Mikel Berdufi
2
Figure 1
The user makes a search request using the software and then the app first search to files stored locally for
any matching. After that the software does an online search to Dbpedia and Bior2rdf endpoints for any
matching. At the end all the result are appended into one single structure and are shown to the user using
one single user interface.
SEWSE software architecture
The software is composed by modules and the main 2 modules of this software are:
- querySparqlendpoint(Service,querystr,Lang)
From the name we can understand that this module is the module that sends the request to a sparql
endpoint and returns the results from that endpoint. This module is used to query any sparql endpoint
that is specified as an input of this function.
It takes 3 parameters:
Service { the url of the sparql endpoint we wan to query}
Querystr {the keywords taken as input from the user}
Lang {language of searching}
An advantage of this module that we can query any endpoint and the number of endpoints we want to
query is not limited, because the only thing we can do is to call this module every time we want to query
an endpoint.
4. Mikel Berdufi
3
Another future is that we can query in the language we want. When we create an ontology we specify
labels for classes, individuals, properties in every language we want. Searching is done and the results are
returned in the language specified by the user.
Inside this module we find another function called queryTest(Service) .
This function is used to check if the sparql endpoint is up or down. If it’s down the user is notified for this.
So first the software checks if the Sparql endpoint is up or down.
This module searches all the classes and all the individuals from that sparql endpoint.
-queryFile(querystr,Lang)
This module is used to query the ontology files stored locally, that in fact are 2 ontologies (cvontology,
university).
Even in this case this module allows us to search in the chosen language for all the classes and individuals
stored in those ontology files.
Figure 2
5. Mikel Berdufi
4
Figure 2 is a simple architecture of the software, showing the 2 main modules of the software.
User Manual
To use this software is very simple. First user select the language of the search , then types the keywords
for what he want to search and then presses the search button , after that the result are shown to the user.
The main Interface:
Figure 3
6. Mikel Berdufi
5
Above we are going to explain all the steps that a user should follow to use the software.
First Step : { Select Searching language}
Figure 4
7. Mikel Berdufi
6
Second Step: {Type the keywords for what you want to search}
In this case we are searching for “ORG”
Figure 5
Third Step: {Press Search button and wait for the result}
Fourth Step : {The result interface}
Figure 6
8. Mikel Berdufi
7
The result interface is organized in this way:
In the same interface we see all the results from different sources as shown in Figure 7 .
Figure 7
In each of the result set we see the classes that are inside the brackets {class} and individuals are inside
[individual] as shown in Figure 8.
9. Mikel Berdufi
8
Figure 8
In this case we see that Company is a class and Microsoft is an instance of that class.
Conclusion
This is the first version of the software, and maybe in the next versions there will be some other futures as
part of it, like:
allowing searching of more than 3 languages
Better performance
A new result interface {providing to the user even the link source to each of the results in order to
click and get more information about the results}
This software is still in development