The vision of the Semantic Web is to reduce manual discovery and usage of Web resources (documents and services) and to allow intelligent agents to automatically identify these Web resources, integrate them and execute them for achieving the intended goals of the user. The composed Web service is represented as a workflow, called service flow. This paper presents different types of compositional knowledge required for automatic Web service flow generation: operational (syntactic), semantic and pragmatic knowledge. Operational knowledge deals with the right output and input types for possible service composition, while semantic knowledge is domain-specific expert knowledge that governs the Web service compositionality. In addition, pragmatic knowledge allows the contextual as well as common sense knowledge to constrain the Web service composition. We show how to extend the current XML-based standards to represent the compositional knowledge or rules that play a role in service discovery...