Context-aware computing is a typical paradigm of ubiquitous computing and aims to provide context information anywhere and anytime. Context data management which handles gathering, processing, managing, evaluating and disseminating context information is the heart of context-aware system. Context provision and acquisition, thus, become crucial for context-aware computing. In order to decouple
... [Show full abstract] application developers from the tedious work of managing underlying context data sources, a proper context query language should be defined to express context information requirements without considering details of underlying structure. Different types of context queries have been proposed previously and an evaluation demonstrates that SQL-based and RDF-based query languages are most powerful in expressing context queries. However, although the RDF-based languages are more suitable for expressing relations and reasoning operations, it is not as flexible as the SQL-based methods in representing user requirements. Additionally, the RDF-based language creates a large amount of overheads due to its various definitions of classes, sub-classes and relations. In order to address these issues, we propose and design this SQL-based context query language which is easy to use and very flexible to express queries with different constraints. It supports both pull and push based context data retrieval, as well as different context processing functions to generate meaningful context information.