Internet of Things (IoT) is highly heterogeneous in terms of devices, communication technologies, protocols, data formats, and semantics. Data generated from various sources are represented using different semantics. It makes semantic interoperability as one of the significant issues in provisioning seamless communication and services over diverse IoT platforms. Semantic models help in exchanging semantically annotated information among such heterogeneous applications in a meaningful way. Seamless communication among different types of applications is commonly accomplished by using middleware, ontology, and semantic web technologies. In this paper, we present a comprehensive survey of different semantic interoperability solutions in the context of IoT. The pivotal semantic models available in the literature are compared with the help of a classification framework. This study identifies various open research issues and challenges for facilitating interoperable IoT communications. For the purpose of implementation and performance evaluation of various semantic models, we also suggest some important tools and frameworks. After pointing out different prospects and problems of the existing semantic interoperability schemes, the factors for improvement are identified indicating future research directions.