unrealistic to force all enterprise systems and
applications to expose their data according to a
predefined ontology. Instead, we need to allow
organizations to evolve their semantic web
incrementally and independently. To support this
path, we adopt REST (Fielding 2000, Richardson
2007) web service paradigm as our semantic web
infrastructure, because REST is optimized for such
distributed hypertext systems. Unlike conventional
approaches to semantic web that aim to support
linking and querying of raw RDF triples (Linked
Data), we focus on developing knowledge based
web services that can enhance enterprise
communications. In particular, we investigate how
to develop a scalable and robust REST architecture
that can share and compose distributed knowledge
web services across organizations.
Proactive search pushes relevant information to
users without user’s asking for it specifically. It is a
departure from current interactive search paradigm
in several aspects. In interactive searches, a user
composes a specific query, enter it into a search box,
select results and integrate them into his application
manually. Albeit being quite flexible, interactive
search has some disadvantages and limitations.
Firstly, the interactive search mode usually forces a
user to leave his current activity and work on a
separate search activity. Secondly, the query does
not carry the context from which the search is
launched. Thirdly, the results of interactive search
depend on the quality and accuracy of user’s query.
Fourthly, to integrate the search result back into the
user’s workflow and context, it typically requires
user’s manual operation.
In proactive search, a user’s communication
activity is treated as the query to the search engine,
thereby providing the necessary context for more
accurate results. Instead of asking a user to select the
results, proactive search integrates relevant
information directly into the communication activity
in a nonintrusive way. As a result, the user can focus
on his business activities without taking detours to
seek for relevant information. For example, an
incoming email or an outgoing email can be treated
as query to the proactive search engine. The relevant
information found about the topic, people or
products mentioned in the emails is integrated into
the emails as hyperlinks. The disadvantage of
proactive search is that the input is limited to current
user’s activity and context. The second challenge in
adopting semantic web technologies is how to
determine what is relevant given a context as this is
significantly more complex than most queries. In
open domain search, these are very difficult
problems. However, as enterprises have more
organized and predictable activities and workflows
than individual users, we can use those patterns in
enterprise data to help tackle these tough problems.
Proactive search can be supported by client-
server architecture as interactive search. However,
the clients in proactive search assume more
responsibility than in interactive search. In proactive
search, the clients are software agents that monitor
user’s activities and invoke the corresponding
knowledge base web services to obtain the right
information at the right time.
The rest of the paper is organized as follows.
Section 2 presents the overall architecture of our
semantic web based system. Section 3 briefly
discusses the knowledge transformation process.
Section 4 presents some functions and services built
into our approach and architecture. Section 5
discusses the agents and applications based on the
described functions and services. Section 6 is
dedicated to implementation and experimental
results. Section 7 reviews some related work, and we
conclude this paper with Section 8.
2 OVERALL ARCHITECTURE
To support semantic web based proactive search, we
need to provide customized semantic web based
functions that are targeted to different business
environments. For example, in a call center, we need
functions that classify emails, annotate important
concepts in emails, and suggest relevant responses.
In a group collaboration application, we need
functions that bring up contact history on a subject
and show common interest between participants.
However, due to the limitation of SPARQL, many of
these functions cannot be implemented as SPARQL
queries to RDF databases. For this reason, we decide
to expose these functions as REST services that are
sharable and reusable across organizations. REST
services encourage distributed and independent
development of services, which is one of our design
goals. Besides connecting different applications, our
REST composition approach allows us to distribute
a semantic function that is too large for one machine
to multiple machines in parallel, and use service
composition to aggregate the distributed logic.
On the client side, our software agents are
embedded in user’s communication and
collaboration applications. These agents monitor
user’s activities, retrieve relevant information from
the REST services, and inject the relevant
information into the collaboration environment.
WEBIST 2011 - 7th International Conference on Web Information Systems and Technologies
650