You are on page 1of 13

47

A SEMANTIC SEARCH AGENT APPROACH:


FINDING APPROPRIATE SEMANTIC WEB
SERVICES BASED ON USER REQUEST TERM(S)

Duygu Ielik duygu.celikgemu.edu.tr


Atilla El9i atilla.elci@emu.edu.tr
Computer Engineering Department, Eastern Mediterranean University, Magusa,
.Mersin-10, Turkey

Abstract: This paper proposes a searching mechanism to discover Semantic


Web Services satisfying user requirements. The increase in web
services and lack of semantic base in search mechanisms ofUDDI
make it difficult for users to find a required web service. It is
proposed to develop a Semantic Search Agent (SSA) to discover
required web services from web. The system uses OWL-S for
describing semantics of web services and discovers suitable
semantic web services through these semantic descriptions. OWL-
S allows semantic description of web services and hence, the
Semantic Search Agent is able to understand predefined concepts
of Semantic Web Services, extract necessary information and
decide on the requirement of a service for a user. The Semantic
Search Agent interacts with user and Semantic Web Services. The
system proposes to combine complimentary aspects of two
research topics (Smart Web Query Engine and Matchmaking
Algorithm of OWL-S/UDDI Matchmaker) to facilitate the
provision of web services to a user.
Keywords: Semantic Search Agent, SSA, Semantic Web Services, OWL-S,
Smart Web Query, Matching Algorithm.

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.

2. PROPOSED SYSTEM AND APPLIED METHODS


We classify the SSA work in two main parts: Semantic Enhancement of
Input Terms and Matchmaking AlgorithnL
The proposed system further combines aspects of two research topics
(Smart Web Query Engine and Matchmaking Algorithm of OWL-S/UDDI
676
Matchmaker) to facilitate the finding of semantic web services for a user.
First, the SSA takes user's request word(s) and enhances them with their
synonym and is_a related terms. Then all terms are sent to UDDI registry
server to retrieve all related web services.
Afterwards the agent connects to all ofthe related web services' OWL-S
files and extracts the necessary input/output information about them. The SSA
compares the input/output information of the user against that of the SWS
(profile information in semantic description of SWS) based on the
matchmaking algorithm.

2.1 Smart Web Query Engine


Smart Web Query Engine [51 discusses search engines. Search engines
are very important tools for the people to get information from Internet but the
low-accuracy and low-recall persists widely in current search engines. Search
engines provide only primitive data query capabilities and require a detailed
syntactic specification to retrieve relevant data.
Smart Web Query Engine project [5] investigates a new web query
method that is called Smart Web Query (SWQ) method for semantic retrieval
of web data. The SWQ method uses domain semantics represented as context
ontologies. These context ontologies are specified and formulate suitable web
quenes to search.
A user supplies some keywords that are separated by Boolean operators
and some search parameters such as maximum number of pages to consider
for search operation. Processing this input the engine builds a parse tree for
the user's query. User keywords are enhanced with synonym, antonym and
other related terms such as "Is a" or "Acts on"; the engine prepares a suitable
query which is sent to some classical search engine(s) to retrieve relevant
pages. Next, the engine applies some semantic search filters to returned
relevant pages.
The present study found this approach to be helpf.il; hence some
concepts of SWQ to retrieve relevant web services from UDDI are used here.
Thus the first task of an SSA, proposed in this article, is to perform SWQ
logic for Semantic Enhancement of Input Terms.
2.2 Matchmaking Algorithm
UDDI is a standard for discovery of Web Services that stands for
Universal Description, Discovery and Integration. The UDDI Project is an
industry plan that is working to enable businesses to quickly, easily, and
dynamically find and carry out transactions between each other.
Nowadays, many researchers are targeting on adding semantics to
UDDI for the purpose of enhancing the discovery mechanism of UDDI. One
such study, developed by Paolucci et al, is called OWL-S/UDDI Matchmaker
[6], [7] that describes an algorithm for matching service advertisement and
service request. Paolucci et al developed a Matching Engine that performs
677
flexible matches recognizing the similarity of an advertisement in UDDI and a
user request. Matchmaking Algorithm is the algorithm implemented in UDDI
by Paolucci et al [6,7]. UDDI records advertisements of services and supports
search of services that provide a set of requested finctionalities. However
UDDI, in its current standard, does not provide any support for finding
services on the basis semantics. Advertisement and user request on the other
hand refer to OWL concepts and the associated semantics. The Matchmaking
Algorithm tries to recognize semantic matches between all advertisements and
a user request despite their syntactic differences and difference in modeling
abstraction. No matching occurs if a request does not recognize any
advertisement A match is found if and only if for each output of the request,
there is a matching output in the advertisement. Degree of success depends on
the degree of matches detected. If one of the request's output is not matched
by any of advertisement's output then the match fails (Figure 1). The matching
events have same structure for inputs.

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 1. Algorithm for Output Matching [61.

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

Figure 2. Rules for Degree of Match Assignment [61.

Finally, our purpose is to implement that algorithm on our SSA instead


of at the UDDI side. UDDI will work classically in our study. The agent will
perform the matching algorithm between the user inputs/outputs and those of
the SWS. The proposed system is able to specify relationships between those
inputs/outputs parameters such as EXACT, PLUGIN, SUBSUME and FAIL.
According to those relationships the system serves suitable web services to the
678
user based on user request. If the agent will find any similarity according to
above rules then it will decide on usefulness ofthat web service. After that all
elimination of the returned web services by the UDDI, the agent will prepare
an interface and send it to user as a result

3. ARCHITECTURE OF THE SEMANTIC SEARCH


AGENT
The purpose of this system is to guide a user looking for a suitable web
service. This is achieved by using SSA to locate SWS according to user's
request. SSA understands this request in an appropriate manner and tries to
find suitable SWS through their ontologies/concepts. Thus, users can find
required web services in efficient ways and with ease of matching their
requirements. The agent interacts with user and SWS from the beginning of
the process till the end. Next subsection discusses a detailed process structure
of the proposed SSA.

3.1 A Process Diagram for the Semantic Search Agent


Web Service technologies such as UDDI and Semantic Web
technologies such as OWL-S are used to develop this project. OWL-S is used
to add semantics into web services and the SSA is able to understand meaning
of SWS contents rendering it able to use the full potential of SWS. The
response generated by the SSA will then provide references to selected
services. Semantic information about services such as input, output, and
precondition is stored in the profile of the web services. The following figure
gives brief information about system architecture, which includes the user, the
UDDI registry, related SWS and their OWLS files, predefined ontologies and
their databases and lastly the proposed SSA. Figure 3 shows details of our
system process structure. First of all, user enters request word as an input to
the system. Then. the SSA takes entered word from user. Next, the agent
checks all ontologies against the entered word and prepares an interface to ask
the user which ontology is related with its search. The user selects the relative
ontology name and sends it to agent The agent then looks for
synonym/relational words which are stored in selected ontology by the user
and enhances the entered word with synonyms thus the search operation
makes UDDI more accurate. The agent has two important roles/tasks, which
are Semantic Enhancement of Input Terms and Matchmaking Step. All
operations at this point are enhanced by the agent input using the input term
and synonym terms or some relational terms.
An important point is that the entered term by the user is enhanced with
synonym terms and is_a related terms. In this project, sample ontologies were
prepared for defining relations between terms; SSA is to find appropriate
ontology according to the user request and then operates on that ontology to
679
extract the terms similar to the term entered by the user. The prepared request
is sent to the UDDI for retrieving relevant web services. For example, if we
send the "Bond" term to UDDI directly, the UDDI may send back irrelevant
services or is unable to find any services recorded as "Bond" in UDDI. So, the
system should first find terms related to the term "Bond" and then send the
service request to UDDI.

SeeumaU Web So* S to~~~~~o


u6 Web Smvlc. 2 5w,ks WebSinks

_"_*~~~~~~~~~O
s _iIp ),

Remaining operations of the agent are similar to that of matchmaker


e pt 0 g , se fr 3. T

.~~~~Fgr An
3. Prcs Chr of th Semanti Serc Agenti

utoW*

Figure 3. A Process Chan of the Semantic Search Agent

Remaining operations of the agent are similar to that of matchmaker


engine project (depicted by 10 through 13, see figure 3). The UDDI returns
related service names and address information sent to agent through user.
Now, the agent starts to perform matchmaking step and it cormects to those
returned services and extracts I/ 0 information from their profiles based on
their OWL-S ontologies. The user input information and output information
will be compared with those of the services. It was necessary to have an
efficient algorithm here and matchmaker algorithm was found to be best
suited for this purpose [6], [7], [8] and [9]. After performing matchmaking
step, the agent will prepare an interface also including eliminated SWS names
and addresses then sends it to user as an output at step 14 (see figure 3).
As mentioned, there are two main roles in SSA's tasks list. This section
gave brief description of the system architecture and the tasks of the main
procedures in the system. Next sections detail information on how Semantic

680
Enhancement of User Input Terms and Matchmaking Step are applied to the
system.

4. A CASE STUDY FOR THE SSA


In this section, the user's request for documents on "Bond" is taken into
consideration in the following; semantic enhancement and matchmaking steps
are carried out in providing the user with proper semantic information.

4.1 Semantic Enhancement of User Input Terms


In this study, the step for semantic enhancement of user's input terms
performs enhancement of the terms entered by the user with its synonym(s).
As the web services search for the terms, results become more and more
accurate. As a result the user retrieves all services, related to its request,
available in,UDDI. UDDI can do only syntactic based search operation so
couldn't find related web services in its registries. The user enters some
term(s), using these term(s) system tries to find ontologies that include these
terms.

Figure 4. A Part of the Financial Investment Ontology

The user should select most relevant ontology to service search


operation. In order to help ontology determination, the engine matches the
user's keywords to the ontologies and presents appropriate ontologies. For
example "Bond" terms can be found in both financial trading and adhesives
ontologies. At this point, the system uses the user to determine which
ontology is most relevant to its required service. Some. synonym keywords
and some relational keywords, such as "Is a", are produced according to the
terms entered by the user. The terms entered by the user and their synonyms
as well as the related terms are passed to UDDI search registries.
Figure 4 illustrates part of financial investment ontology and underlines
how relation terms of financial investment ontology are developed. The
681
system uses this ontology as it makes it more understandable and describes
behavior of the system. During the process of this research some ontologies
were created using Proteg6 3.0 and some queries were applied to these
ontologies using Algernon, a plug-in for Prot6ge 3.0.
For example, if the user input is the "bond" and SSA wants to check
which ontologies contain the term "bond" in them, furthermore the SSA
wishes to display these results to the user for the purpose of reducing the
search area then it has to follow the routine below.
((:Instance source_terms ?a)
(term ?a ?b)
(:FAILL(:NEQ ?b "bond"))
(relationship_code ?a ?c)
(:Instance relationships ?d)
(relationship code ?d ?e)
(:FAIL(:NEQ ?e ?c))
(ontology name ?d ?f))

Figure 5. Query Finding the Ontologies Containing the Term "Bond"

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.

Figure 6-Result,of,the."Bond" Term Includes by above Ontologie

'0l t-t
W _ a-'

5 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~~~-7M n

Figure 6. Result ofthe "Bond" Term Includes by above Ontologies


Fin4lly, the agent is checking the "Bond" tenn in financial investment
ontology for finding its synonym terns that is shown as a query in figure 7.

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"

The system enters in selected ontology (Financial Investment) by the


user and searches the term "Bond" synonyms and is_a relations. The system
recognizes, the term "Bond" has two synonym terms that are "Stock" and
"Share". Also the SSA checks is_a terms for the term "bond" that found one
is_a relation such as "Instrument" according to financial investment ontology
(Please see Figure 4).
After specifying the synonyms and is_a relational terms, the SSA
prepares to enhance search criteria and begins searching in UDDI for related
web services. The system applies matchmaking step after searching UDDI.
This matchmaking is done for all returned web services related to the user's
criteria. The next section describes how the system applies matchmaking step.

4.2 Matchmaking Step


SWS' profile(s) stores IOPE (Input, Output, Precondition and Effect)
information. The Input of the user information and that of the UDDI provided
SWS profile(s) as well as the output of the user information and the output of
the UDDI provided SWS profile(s) are matched to each other, making the task
of matchmaking logical and easy to implement. The system extracts the
respective IOPE and attempts to apply matchmaking step in order to find the
degree of a match between user request and UDDI provided SWS profile(s).
Figure 9 shows a simple example illustrating how a user request for a
service is matched with a financial investment of SWS. In this figure the
service gives price information of financial investments. The input of the
service is restricted by instances of the concept Price as defined in Fin_Inv
ontology and the service generates outputs as instance of concept of financial
investments in Fin Inv ontology.

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>

Figure 8. I/O Information of Financial Investment Selling Service

A possible user input is instances of "Price" and it output is an


instance of the term "Bond". The matching operation needs a match between
the inputs and outputs information of user and the inputs and outputs
information of the above SWS respectively. In this scenario the inputs of the
user and the SWS are same so their match is termed as exact match according
to matchmaking algorithm. Furthernore, the user's output is the term "Bond",
whereas the SWS output is "Financial Investment". As the term "Bond" is a
subclass of the ontology "Financial Investments" so they are classified as an
exact match as well. Finally, the SSA recognizes that the user request and
SWS are related to each other because exact match was found for both their
inputs and outputs information.

4.3 Result of Case Study


The case study was perforned by system's processing a user request
and providing the user with SWS that can service that particular request. In
this case study the user request contained the term "Bond". The system first
attempted to find ontologies that contain, or are related to, the term "Bond".
In this attempt the system found two ontologies, "Financial Investment"
ontology and "Adhesives" ontology, containing/ related to the requested term
(bond). After discovering that two ontologies for the specific request the SSA
queries the user on what ontology interests it. The possible answer "Financial
Investment" is chosen by the user and this causes the SSA to investigate all
synonym(s)! related of the requested term "Bond" in that ontology. Finally,
having found the related terms and synonyms of the requested term "Bond",
the SSA looks up the UDDI server to locate all matching web services that
exist in its registry. This is done to increase the probability of finding a
suitable service in the UDDI registry for the user's request. For instance, one
suitable web service found for "Bond" term was "Financial Investment
Selling Service". SSA now matches the input and output parameters of the
684
user to that of the web services. In this case study, the degree of match for the
user requested term "Bond" with the SSA discovered service "Financial
Investment Selling Service", was found to be "Exact". Finally, the system
understands that this service is suitable for the user request

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

You might also like