In order to improve the efficiency and quality of service composition,a service composition algorithm based on semantic constraint is proposed.First, a user’s requirements and services from a service repository are compared with the help of a matching algorithm.The algorithm has two levels and filters out the services which do not match the user’s constraint personality requirements.The mechanism can reduce the searching scope at the beginning of the service composition algorithm.Secondly,satisfactions of those selected services for the user’s personality requirements are computed and those services,which have the greatest satisfaction value to make up the service composition,are used.The algorithm is evaluated analytically and experimentally based on the efficiency of service composition and satisfaction for the user’s personality requirements.