The wide adoption of the Service Oriented Architecture (SOA) paradigm has provided a means for heterogeneous systems to seamlessly interact and exchange data. Thus, enterprises and end-users have widely utilized Web Services (WS), either as stand-alone applications or as part of more complex service compositions, in order to fulfill their business needs. But, while WS offer a plethora of benefits, a significant challenge rises due to the abundance of available services that can be retrieved online. In this work, we propose a framework for the selection and dynamic composition of WS, by utilizing Linked open Data (LoD). In addition, we propose a hybrid algorithm that uses as input the user's personalized weights for non-functional characteristics and the results produced by appropriate SPARQL queries that are filtered results using a top-k approach. It then handles the ranking of alternatives based on their population. Finally, using two case studies and a dataset that describes realworld WS, we argue on the feasibility and performance of the proposed method.