A good P2P file sharing system is usually expected to achieve the following design goals: scalability, routing efficiency and complex query support. In this paper, we propose such a system, called PSON, which can satisfy all the three requirements. PSON is essentially a semantic overlay network of logical nodes, in which queries are routed on the basis of semantics. A logical node is formed by a cluster of peers that are close to each other in the physical network. Each cluster selects a powerful peer as super peer to support routing in the overlay network. To facilitate routing, all the super peers (or logical nodes) are organized in the form of a balanced tree. By exploiting the concepts of hierarchy and semantics, PSON can support complex queries in a scalable and efficient way. In this paper, we will describe the system architecture, and examine the key component of PSON design, i.e., semantic overlay construction and routing. We also conduct simulations, and show that the query ro...