Research Article

Graph-Based Semantic Web Service Composition for Healthcare Data Integration

Algorithm 2

Backward search.
Input: and are the requested input and output parameters of WS searching (I/O dependency)
Output: is a set of discovered paths of potential web services (sets of operations)
procedure BWS(u,v)
           //V is a set of discovered nodes
         // is a set of queue of ordered pairs of vertices and paths (sets of arcs)
while do
          //get the ordered pair of vertex and path in queue as
  if has no adjacent arc then   //check if is an origin vertex of a path
       //creating the reverse path of potential services into
            //add into
  else if then        //check if is not equal to input vertex
   for     //to find the adjacent arcs of t through a query “select ?e where {?e head ?t.}”
              //create as a clone arcs set of
           //append an arc e to arcs set
           //find head vertex of arc e from a query “select ?vi where {?e tail ?vi.}”
    if is not in then     //check if have not been visited
           //add to the set of visited vertices
    enqueue to     //put order to for the next round in while loop
    end if
   end for
  end if
end while
return               //return when is empty
end