Professional Documents
Culture Documents
1. INTRODUCTION
Currently, web services interact by passing XML data, with data types
specified using XML Schema. Simple Object Access Protocol [SOAP] can be
used as the communication protocol [11, and the I/ 0 signatures for web
services are given by Web Services Description Language [WSDL] [2].
UDDI stands for Universal Description, Discovery and Integration [3] and
provides the means to publish and discover web services through a UDDI
registry. There are some difficulties in discovering required web services by a
user due to increase of web services and lack of semantic parts in current web
service technologies such as UDDI and WSDL. Due to this fact, the web
requires an intelligent system, which may be implemented using Semantic
Web. The lack of semantic parts in web services technologies and also
increasing number of web services are making it too difficult for finding
suitable web services according to the user's request
The topic of this article is a discussion of the development of a
Semantic Search Agent (SSA) that understands ontologies, concepts of
Semantic Web Services and connects to each of these services. The SSA
extracts necessary information choosing Semantic Web Services (SWS) that
are suitable for the user based on user's request. The proposed SSA is used to
service the user by looking at the semantic description of the SWS. It presents
semantically searched results to the user detailing the services selected based
on the request received by SSA. First, the agent enhances the user input term
with synonym or some related words such as is_a, then it checks if there is a
match between user's request and the profile infonnation (ontologies) of
SWS. The proposed system helps to find suitable SWS that provide service to
users. The proposed system includes an SSA placed between user and SWS.
The SSA provides communication between users and SWS; therefore, it
should be able to understand the semantics of SWS and communicate the
user's semantic information to SWS and vice versa. The agent should decide
and suggest if a particular service is usefuil, according to a user's request, as
an SSA for finding suitable SWS for users. Based on the aforementioned
scenario we classify the SSA work in two main parts: Semantic Enhancement
of Input Terms and Matchmaking Algorithm.
The article is arranged as follows: section 2 discusses the proposed
system and its methods; it furither provides a survey on smart search engines
and UDDI search mechanisms. Section 3 details the process structure of the
system developed during this research. The architecture focuses on two main
functions of our proposed SSA, namely "Semantic Enhancement of Input
Terms" and "Matchmaking" steps. Section 4 presents a case study of the
proposed system and finally, the last part is the conclusion to this article.
outputNtdh(output*R.qu,.t, outputtAdv.rtis.a)t (
SloblDsgroRtkche Ettet
forsll outi in outputsERqpeet do {
find outA in outputsAdvartis.m.st such that
degre*Watch' msxDegr*eXa%ch(o*tR,outA)
if (degreeNatehefoil) rosun fail
if (degrMtch<jgloba1D*gr*eaitcb)
glolDr..Ratcha dogr.Iatpe
retun sort (recordatch);}
Figure 2 shows the rules for degree of match, namely, exact, plug in,
subsume and fail. OutR symbolizes one output of the request whereas OutA
symbolizes output of the advertisement. If OutR and OutA are same or if
OutR is an immediate subclass of OutA then, degree of match will be "Exact".
degreeOfatch(outl, autA):
if outA-outR then return exact
if outR subclassOf outA then return exact
if outA subsues outi then return plugIl
if outR sub an outA then return subsums
otherwise fail
_"_*~~~~~~~~~O
s _iIp ),
.~~~~Fgr An
3. Prcs Chr of th Semanti Serc Agenti
utoW*
680
Enhancement of User Input Terms and Matchmaking Step are applied to the
system.
As shown in "f' block in Figure 6, the term "Bond" can appear in two
different ontologies, Financial Investment Ontology and Adhesives Ontology.
After that the system will show the names of those ontologies and the system
will ask to user which ontology is relevant with your search. After that, for
example the user chooses the financial investment ontology. Anymore the
system will operate on only that ontology.
'0l t-t
W _ a-'
5 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~~~-7M n
682
((:Instance source terms ?a)
(term ?a ?b)
(:FAIL(:NEQ ?b "bond"))
(relationship code ?a ?c)
(:Instance destination_terms ?d)
(relationship code ?d ?e)
(:FAIL(:NEQ ?c ?e))
(term ?d ?f)
(:Instance relationship_properties ?g)
(relationship_code ?g ?h)
(:FAIL(:NEQ ?h ?e))
(relationship_property_name ?g ?i)
(relationship_property_value ?Z ?I) )
Figure 7. Query Finding the Synonyms of the Term "Share"
683
<profile:Profile rdf:ID="FinanciatInvestmentSellingService">
profile:serviceName>StockSellingService</profile:serviceName>
<input>
<profile:ParameterDescription rdf:ID="Price">
<profile:ParameterName>Price.iprofile:ParameterName>
<profile:restrictedTo rdf:resource"Fin_Inv.owl#Price"I>
</profile:ParameterDescrption>
</input>
<output>
<profile:ParameterDescription rdf:-ID="FinacialjInvestments">
<profile:ParameterName>Fiuacialnvestments </profile:ParameterName>
<profile:restrictedTo rdf:resource="Fin Inv.owl#FinacialIlnvestments"/>
<Iprofile:ParameterDescription>
</outpuP
</profile:Profile>
5. CONCLUSION
The main problems of current web service technologies are the shortage
of semantic parts, increasing number of web services in the web, and
syntactic-based search operation for web services. These problems make
discovering of appropriate web services challenging.
This article provides an implementation of a SSA that can be used to
find related Semantic Web Services based on a user's request. The SSA
(SSA) developed here performs two main functions, namely:
a. Enhancing user request tern with synonym or related terms such as is_a
terms. '
b. Matching the SWS I/ 0 and user 1/ 0. The agent specifies and shows the
results of its findings as a page, including results of related web services,
also showing the scores computed during the matchmaking step.
The purpose of the matchmaker algorithm [6], [7], [8] and [9] was to be
implemented in UDDI. However, UDDI being a well-established simple
standard, it should not be subjected to change. Hence, we propose that the
SSA approach should be used for this purpose. The agent can determine the
services appropriate for the user and suggests them to the user. The agent also
considers the finctionalities of web services and communicates these
functionalities/operations to the user. This way the agent performs useful
decision-making process for the user.
The proposed system is implemented in the JAVA platform by using
NETBEANS 4.0. Also, the Financial Investments, Vehicle, Software and
Adhesive ontologies are created in Protege 3.1. Some semantic web services
are created for our test applications in Protege 3.1 as well. The user sends
some request parameters to the system such as the term "Bond" and the
system checks this term in our ontology DB. Then the system sends to the
user all retrieved ontology names that include the term "Bond". The user
selects the most relevant ontology according to his/her search criteria. The
system works only on the selected ontology from then on. The system
accesses the selected ontology and extracts all related terms such as synonym
terms and is_a related terms according to the term(s) entered by the user.
Then all terms are sent to the UDDI server and the system receives all
semantic web services information and their addresses. The system asks for
input/output parameters from user after that connects to all those returned web
services and extracts profile information by accessing their OWL-S file(s) or
their semantic descriptions. Finally, the system starts to perform the
685
matchmaking algorithm between all input/output parameters of user and
input/output parameters of returned web services. The system is able to
specify some relationships between those input/output parameters such as
EXACT, PLUGIN, SUBSUME and FAIL. According to those relationships
the system serves appropriate web services to the user based on user request
This approach may be applied in numerous domain search
requirements, such as in e-leaming, the system can be used for searching,
selecting and registering courses/modules. By finding, selecting and
combining these services, the system can decrease the user interaction in these
services for e-learning management.
We just used two properties for semantic enhancement of user input
terms. As was mentioned earlier these properties are synonym and is a.
Different properties may be employed depending requirements of the interest
domain. Similarly, by increasing the number of properties the performance of
the system will improve. Thus, the SSA will be able to get better results and
select better web services.
6. REFERENCES
[1] http://www.w3.org/TR/soap/. Last Visited Page: 18/07 2005.
[21 http://www.w3.org/TR/wsdl.html , Last Visited Page: 18/07 2005.
[3] http://www.uddi.org/, Last Visited Page: 18/07/2005.
[4] http://owlseditor.semwebcentral.org/. Last Visited Page: 18/07/2005.
[5] Roger H.L. Chiang, Cecil Eng Huang Chua and Veda C Storey. A smart web query
method for semantic retrieval of web data. Data & Knowledge Engineering, Volume 38,
Issue 1. July 200 l,Pages63-84, Last Visited Page:20/07 2005.
Thttp:/Hwww.sciencedirect.com/sciencehttp://www.kns.dlr.de.Projects, spreading/spreading
190198.html"'.
[6] K. Sycara. M. Paolucci. A. Ankolekar and N. Srinirasan. Automated Discovery.
Interaction and Composition of Semantic Web services" in Journal of Web Semantics.
Volume 1. Issue 1. September 2003. pp. 27-46.
[7] N. Srinivasan. M. Paolucci. and K. Svcara. Adding (OT- s ro l 'DDI. implementation
and throughput". in First Intemational Workshop on SemantiL VWeb Services and Web
Process Composition (SWSWPC 2004) 6-9. 2004. San Diego. ' alifornia. USA.
[8] M. Paolucci. T. Kawamura. T. R. Payne. and K. Svcara- Importing the Semantic Web in
UDDI. in Proceedings of Web Services. E-business and Semantic Web Workshop. 2002.
[91 T. Kawamura, J. A. De Blasio. T. HasegaNva. M. Paolucci. and K Sycara. 'A Preliminarv
Report of a Public Experiment of a Semantic Service Matchmaker combined with a LTDDI
Business Registry". in 1' International Conference on Service Oriented Computing
(ICSOC 2003), Trento. Italy. December 2003
[10] 'http://protege.stanford.edu/download/registered.htmli Protege 3.0 of Stanford
University, Last Visited Page: 15/07/2005.
[11] "http:J/www.hpl.hp.comnsemweb/jenahtm". Last Visited Page 18/07'2005.
[12] Thttp:#www.mindswap.org/2004/owl-s/api/index.shtmir' Last Visited Page: 18/07/2005.
[133] "'http://java.sun.com/products/jsp/overview.htrnl", Last Visited Page: 18/07/2005
[14] 'http: /protege.stanford.edu/". Last Visited Page 18/07 2005
[151 "'http:,.,/owlseditor.semwebcentral.org/' Last Visited Page 18I0" 2005
[16] Stefan Tang, a MS Thesis for Matching of Web Service Specifications (ising DAML-S
Descriptions. March 18th. 2004. Last Visited Page 1 8/0' 2(005
686
"http://ivs.tu-berlin.de/Projekte/owlsmatcher/resources/thesis_steftang.pdf'.
[17] N. Srinivasan, M. Paolucci, and K. Sycara, "CODE: A Development Environment for
OWL-S Web services", "http://iswc2004.semanticweb.org/demos/10/paper.pdf', Last
Visited Page: 18/07/2005.
[18] Anna V.Zhdanova, Jena 2.0 tutorial, Last Visited Page: 18/07/2005,
http://www.deri.at/teaching/seminars/intemal/slides/Jena-2.pdf.
[19] C.K. Olesen, T.Hqjgaard, MS thesis is for a Semantic UDDI Repository Combining
OWL-S and WSDL-S, Last Visited Page: 15/07/2005,
"http://groups.yahoo.com/group/semanticweb/files/Sem-UDDI.pdf".
[20] G. Denker and D. Elenius and D. Martin, OWL-S Editor for Creating Semantic Web
Services, "www.iswc200.4.semanticweb.org/demos/02/paper.pdft, Last Visited Page:
15/07/2005.
687