The Internet of Things (IoT) is not only about interconnecting embedded devices to the Internet, but also about providing knowledge on such devices and what they sense from the physical world. One focus of IoT is put on extracting actionable knowledge and providing value-added services by means of reasoning techniques. Stream reasoning techniques offer a promising solution for processing dynamic, heterogeneous, and volume data for IoT. In this article, we identify the challenges for utilizing stream reasoners from the IoT point of view, review the landscape of stream reasoning techniques, and examine their capabilities to meet the challenges of IoT. Moreover, we present an experimental IoT system implementing stream reasoning and perform a gap analysis to evaluate stream reasoners. Finally, based on the analysis, we suggest several recommendations for future development of stream reasoners in order to overcome the identified gaps.