An overview of SemSearch
One major goal of this work is to hide the complexity of semantic search
end users and to make it easy to use and eﬀective for naive users. To
this goal, we identiﬁed the following key requirements:
– Low barrier to access for ordinary end users. Our semantic search
engine should overcome the problem of knowledge overhead and ensure that
ordinary end users are able to use it without having to know about the
vocabulary or structure of the ontology or having to master a special
– Dealing with complex queries. In contrast with existing semantic-based
keyword search engines which only answer simple queries, our semantic
search engine should allow end users to ask complex queries and provide
comprehensive means to handle them.
– Precise and self-explanatory results. Our semantic search engine
be able to produce precise results that on the one hand satisfy user
and on the other hand are self-explanatory. Thus, ordinary end users can
understand the results (e.g. what they are and why they are there)
having to consult the back-end semantic data repositories or their
– Quick response. Our semantic search engine should provide quick
to user queries, thus encouraging ordinary end users to harvest the
of the semantic web technology. This requires that we make the mechanism
of semantic search as simple as possible.
To meet these requirements, we chose the keyword-based searching route
rather than the natural language question answering route, and
avoided linguistic processing which is a relatively expensive process in
search. We overcome the limitation of current keyword-based semantic
engines by supporting a Google-like query interface which supports
queries in terms of multiple keywords. Figure 1 shows a layered
our semantic search engine. It separates end users from the back-end
neous semantic data repositories by several layers.
– The Google-like User Interface Layer, which allows end users to
queries in terms of keywords. As will be described in Section 4, the
like query interface extends traditional keyword search languages by
the explicit speciﬁcation of i) the queried subject and ii) the
– The Text Search Layer, which makes sense of user queries by ﬁnding out
the explicit semantic meanings of the user keywords. As will be
in Section 5, central to this layer are two components: i) a semantic
A Search Engine for the Semantic Web 5
Fig. 1. An overview of the SemSearch architecture.
index engine, which indexes documents and their associated semantic
including classes, properties, and individuals; and ii) a semantic
engine, which supports the searching of semantic entity matches for the
– The Semantic Query Layer, which produces search results for user
by translating user queries into formal queries. This layer comprises
components, including i) a formal query construction engine, which
lates user queries into formal queries, ii) a query engine, which
speciﬁed meta-data repository using the generated formal queries, and
a ranking engine, which ranks the search results according to the degree
their satisfactory on the user query. The mechanism of formal query
ation will be described in Section 6.
– The Formal Query Language Layer, which provides a speciﬁc formal
query language that can be used to retrieve semantic relations from the
underlying semantic data layer.
– The Semantic Data Layer, which comprises semantic metadata that are
gathered from heterogeneous data sources and are represented in diﬀerent
Figure 2 shows an overall diagram of the SemSearch search engine. It ac-
cepts keywords as input and produces results which are closely related
user keywords in terms of semantic relations. The search process of
comprises four major steps:
– Step1. Making sense of the user query, which is to ﬁnd out the
meanings of the keywords speciﬁed in a user query.
– Step2. Translating the user query into formal queries.
– Step3. Querying the back-end semantic data repositories using the
ated formal queries.
Fig. 2. An overall diagram of the SemSearch search engine.
– Step4. Ranking the querying results.
Step1 is carried out within the Text Search Layer. The rest of the steps
associated with the Semantic Query Layer. In the following sections, we
describe the Google-like query interface (in Section 4). We will then
to detail the ﬁrst two steps of the search process (Step 1 in Section 5
in Section 6). The two further steps will be brieﬂy described in Section
we describe the implementation of the search engine.