
 
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