In the modern world of service-oriented software engineering (SOSE), the services can be aggregated from the semantic interoperability level to meet the user’s personal and diversified needs. First, the paper proposes a service clustering method based on service ontology. It clusters services from the function perspective to form the service clusters. This can significantly reduce the overhead and enhance the service discovery efficiency. In addition, it makes use of the service capability and the interaction information to organize the service clusters form the semantic interoperability level. Furthermore, it discusses the problem of sufficient and necessary capability, and interoperability type. The users can discover the services that can meet their needs efficiently. The corresponding service clustering and discovery algorithms are also designed. Finally, the feasibility and effectiveness of the proposed methods are validated through experiments and a practical case study.