Research Article

Prefiltering Strategy to Improve Performance of Semantic Web Service Discovery

Algorithm 1

Filtering by comparing concepts and attributes.
Input: List1 of the form [(Concept, [ListOfAttributes]), …]
  (extracted from either Goal.Pre or Ws.Post)
  List2 of the form [(Concept, [ListOfAttributes]), …]
  (extracted from either Ws.Pre or Goal.Post)
  Tag (either GOAL or WEBSERVICE)
Output: (WsName, Tag) (as insertion into module FilteredWsModule)
(1)   Let equiv(, ) = (:: ) or (:: ) or (:=: )
(2)   PossibleMatch True
(3)   for all (Concept2, [ListOfAttributes2]) List2 do
(4)    if not   (Concept1, [ListOfAttributes1]) List1 (
(5)         equiv(Concept1, Concept2) and
(6)          (attribute2 [ListOfAttributes2]) (
(7)           (attribute1 [ListOfAttributes1]) (
(8)           equiv(attribute1, attribute2)
(9)          )
(10)        )
(11)      )
(12)   then
(13)    PossibleMatch False
(14)   end if
(15)  end for
(16)  if
(17)    PossibleMatch = True
(18)  then
(19)     Insert (WsName, Tag) into FilteredWsModule
(20) end if