In the paper we discuss the problem of data integration in a P2P environment. In such setting each peer stores schema of its local data, mappings between the schema and schemas of some other peers (peer's partners), and schema constraints. The goal of the integration is to answer queries formulated against arbitrarily chosen peers. The answer consists of data stored in the queried peer as well as data of its direct and indirect partners. We focus on defining and using mappings, schema constraints, query propagation across the P2P system, and query reformulation in such scenario. A special attention is paid to discovering missing values using schema constraints and to reconcile inconsistent data using reliability levels assigning to the sources of data. The discussed approach has been implemented in SixP2P system (Semantic Integration of XML data in P2P environment).