When the system discover services (initial service list), he need to filtering and selecting appropriate services. This selection, based on : user needs, Qos, contextual reasoning\learing, ....?
Service discovery is based only on syntactic matching (for simplification purpose). Selection is based on contextual reasoning and learning at the service level (by the agents that manage the services).
When we based on simplified syntactic matching, so it's only a network discovery, .? we have not risk of missing important services, since we have not a rich discription ( semantic) ?