Weaving models are used in the model driven engineering (MDE) community for various application scenarios related to model mappings. However, an analysis of its suitability for specification of heterogeneous schema mappings reveals that weaving models lack support for mapping rules and, therefore, cannot prevent mapping specifications which are semantically meaningless, wrong or disallowed. This paper proposes a solution which overcomes the identified open issue by providing the explicit support for semantic mapping rules. It is based on introduction of weaving metamodels augmented with constraints written in OCL. The role of OCL constraints is to restrict mapping specifications to only those which are semantically meaningful. Using well known MDE technologies, such as EMF and QVT, an existing tool is used to validate the presented solution. This solution is also successfully evaluated in practice.