This document presents a framework for annotating and processing real-time IoT data streams from smart cities. The framework uses a knowledge-based approach to semantically annotate streaming data with temporal, spatial, thematic, and quality attributes. It develops an information model called the Stream Annotation Ontology (SAO) to represent annotated IoT streams. The framework also includes a message broker and middleware to exchange annotated data. It was evaluated in a traffic scenario using road sensor data from Aarhus, Denmark. Future work will integrate higher-level querying and evaluate performance at large scales.