# A Survey of Techniques for Discovering, Using, and Paying for Third-Party IoT Sensors
## 3 Related Work for Sharing IoT Devices
### Related Research for Querying IoT Devices  
Querying IoT devices involves using attributes such as Data Type: Temperature and Location: Melbourne City to find IoT devices (more specifically, finding IoT devices and data descriptions) that match an IoT application's needs. An example of such a query can be detecting the battery level of electric cars located less than 5 km from the Melbourne city center; the IoT device query technique should find the IoT device description that has a type: battery level, system: electric car, and geospatial: circular area with a radius of 5 km from Melbourne city center. Google search [43] uses a scalable hypertextual search technique that can provide high-precision results. However, this technique is not designed for querying IoT device descriptions as they are much more complicated than websites. [PERSON] [44] have used a two-phase query technique based on the syntax of IoT device descriptions. The first phase is responsible for finding the matching IoT devices via a syntax-based query. The second phase is responsible for finding the required Application Program Interface (API) for the selected IoT devices in order to integrate them. [PERSON] et al. [34] have proposed an IoT device query technique that can check synonyms and find other words with similar meanings and stop words that are not relevant to the query. Also, this technique provides a geographical interface for IoT applications to help them select the best match for IoT devices. GeoCENS search [38] have proposed using a hybrid peer-to-peer network (See Section 3.2 to allow for the distributed query of IoT devices. This technique allows finding even non-GeoCENS OGC web services (OWSs) (i.e., IoT devices) that are not registered in the hybrid peer-to-peer network. GeoCENS utilizes SOS [45] and SensorML [45] to enable the querying of IoT devices. This technique is scalable for a large number of stored IoT devices. The IoT device querying proposed by [34; 38; 44] uses matching keywords techniques, which lack flexibility for answering IoT device queries [17]. Simple Protocol and RDF Query Language (SPARQL) [14] is an RDF query language that has the ability to manipulate and retrieve RDF data. SPARQL supports a variety of queries and can return accurate results that match the IoT application's needs. Also, SPARQL is scalable for querying a large number of registered IoT devices. There are several \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Scalable** & **IoT-Owned** & **Interoperable** &
\begin{tabular}{c} **Full Support of Registering** \\ **IoT Devices** \\ \end{tabular} \\ \hline Refs. [34; 36] evaluate & & & None of the related work fully \\ registration of up to & & & supports registering IoT \\
1,000,000 IoT devices & & & devices \\ \hline \hline \end{tabular}
\end{table} 
Table 4: The related research that addresses Internet of Things device registration challenges. papers that have proposed using SPARQL as a query technique, such as [PERSON] et al. [21], [PERSON] et al. [34], [PERSON] and [PERSON] [27], [PERSON] et al. [15], [PERSON] et al. [13], [PERSON] et al. [41], and [PERSON] et al. [22]. Based on the above review, most techniques in the related work have the ability to query heterogeneous IoT devices and their data. However, none of the related work supports comprehensive queries, mainly due to the lack of ontology describing IoT devices as IoT device query techniques cannot search for information that has not been described. The IoT device query techniques proposed in [34; 38; 43; 44] are not IoT-owned as they are centralized and/or controlled by specific individuals or organizations. The current implementations of SPARQL [14] are on centrally owned infrastructure. Also, according to the review of related work, the IoT device query techniques proposed in [34; 38; 44] did not provide evidence for their scalability. [PERSON] et al. [34] provide an evaluation for querying up to 1,000,000 IoT devices. [PERSON] et al. [36] and [PERSON] et al.