eWoT: A Semantic Interoperability Approach for Heterogeneous IoT Ecosystems Based on the Web of Things
Abstract
:1. Introduction
2. Related Work
Centralised approaches have a good efficiency, although they require the data from the IoT devices to be centralised in a triple store, introducing a number of limitations such as scalability, how data is pushed by the IoT devices (and thus translated into RDF), and the freshness of pushed data when solving a SPARQL query [9].
Federation approaches assume that the IoT devices of the ecosystem have a SPARQL endpoint enabled. They exploit this assumption by treating each device as a distributed triple store that can be queried by means of federation techniques to answer a SPARQL query [13].
3. Semantic Specification of Thing Ecosystem Descriptions
3.1. WoT Thing Description Ontology
- wot:ThingDescription: represents anything, physical or virtual, which has a distinct and independent existence and can have one or more Web representations.
- wot:InteractionPattern: represents, in the context of WoT, an exchange of data between a Web client and a Thing, that is, it specifies how data can be accessed.
- wot:Endpoint: represents the Web location where a service can be accessed by an application, that is, from where the data can be fetched.
- wot:DataSchema: represents the input data or output data of a given interaction pattern, including information such as the data type used and which unit of measurement the data is represented in, if needed. It contains an excerpt of the model.
3.2. WoT-Mapping Ontology
4. Semantic Interoperability Based on the Web of Things
Algorithm 1: Discovery. |
Implementation
- Triple store: we relied on the well-known triple store GraphDB (https://www.ontotext.com). This repository can be managed as a REST API, which perfectly suits the Registering Module sub-component to store the TED and the Discovery sub-component to interact with it.
- Discovery: we created a Java class that implements the discovery process presented by Algorithm 1.
- Distributed Access and Translator: in order to implement the functionalities of these two components, we relied on the Java library Helio (https://helio.linkeddata.es/), which is an engine to generate RDF from heterogeneous data sources (i.e., it performs the distributed access and the translation). We extended the code of this software artefact so it could understand the WoT-Mappings.
- Register Module and SPARQL Engine: these components are implemented using Jena 3.6.0. This Java library offers the functionality that answers a SPARQL query for a given RDF document, among other suitable functionalities to handle RDF documents.
5. Evaluation
- Experiment 1: 1134 Thing Descriptions where registered in eWoT without their corresponding WoT-Mappings, restricting the discovery to only context-based search. At the same time, the very same Thing Descriptions were inserted in an external GraphDB triple store. Then, a set of 20 queries were issued to both eWoT and the external GraphDB.On the one hand, this experiment aimed at validating whether the query answer produced by eWoT and GraphDB were the same, meaning that the queries answered by eWoT are complete and correct. On the other hand, the response times of eWoT and GraphDB were compared to ensure there were no statistically significant differences between them, meaning that eWoT is as efficient as a triple store when answering queries.
- Experiment 2: an incremental number of IoT devices were registered in eWoT up to 1000; for each, a set of 20 queries were issued. This experiment relied on a simulator that creates a variable number of digital twins for smart houses (i.e., IoT devices) that on the one hand register their TD and WoT-Mappings in eWoT and, on the other hand, enable a REST API that publishes JSON data.On the one hand, the scalability of eWoT was statistically analysed by simulating 100, 250, 500, 750, and 1000 smart houses. On the other hand, assuming there is no overhead in the transmission between eWoT and the IoT devices, the time that requires the distributed access and the translation of data was analysed in order to verify the amount of overhead that both introduce.
- Experiment 3: an incremental number of real-world IoT devices (i.e., photometer data published by the European project Stars4All (https://stars4all.eu/)) were registered in eWoT up to 400; for each, a set of 20 queries was issued. This experiment aimed at comparing the eWoT proposal with a custom centralised approach. The centralised approach consisted of a triple store (i.e., a GraphDB) that stored the TDs of the photometers and a developed custom service that read their values, translated them into RDF, and injected them in GraphDB.Environment: all the experiments where run in an Ubuntu GNU/Linux x86_64 with four cores and 34 GB of RAM. In this computer, we also simulated all the RESTful endpoints to reduce the network impact when measuring the time taken by the different data exchanges in our experiments. The simulator was implemented using Java 1.8, Spring Boot 2.1.5. For the translation of JSON documents into RDF we used the Helio library (https://helio.linkeddata.es/). To implement our Repository we relied on a GraphDB 8.7.2.Availability: the implementation of eWoT is publicly available at https://github.com/oeg-upm/eWoT. The simulator used in the experiments, and its manual, can be found under the folder MDPI-experiments in the very same repository, where it is specified how to reproduce Experiment 2. Unfortunately, due to confidentiality, the Thing Descriptions involved in Experiment 1 cannot be disclosed publicly. The results obtained in our experiments are publicly available at https://zenodo.org/record/3634897 as a Zenodo repository.The query-answering time for both approaches was evaluated by registering 100, 200, 300, and 400 photometers. The scalability in a real-world scenario was analysed for eWoT. In addition, a comparison between both proposals was performed, analysing their pros and cons.
5.1. Experiment 1: Discovery
5.2. Experiment 2: Discovery, Distributed Access, and Translation
5.3. Experiment 3: eWoT vs. Centralised Approach
6. Conclusions
Author Contributions
Funding
Acknowledgments
Conflicts of Interest
Abbreviations
W3C | World Wide Web Consortium |
WoT | Web of Things |
TD | Web of Things Thing Description ontology |
OP | Object Property |
WoT-M | Web of Things Mappings ontology |
O&M | Observation and Measures |
RDF | Resource Description Framework |
TED | Thing Ecosystem Description |
CSV | Comma Separated Values |
URI | Unified Resource Identifier |
IoT | Internet of Things |
References
- Wortmann, F.; Flüchter, K. Internet of Things. Bus. Inf. Syst. Eng. 2015, 57, 221–224. [Google Scholar] [CrossRef]
- Hassan, M.M.; Song, B.; Huh, E.N. A framework of sensor-cloud integration opportunities and challenges. In Proceedings of the 3rd international conference on Ubiquitous information management and communication, Suwon, Korea, 15–16 January 2009; pp. 618–626. [Google Scholar]
- Middleton, P.; Tully, J.; Kjeldsen, P. Forecast: The Internet of Things, Worldwide; Gartner: Stamford, CT, USA, 2013. [Google Scholar]
- Press, G. Internet of Things by the Numbers: Market Estimates and Forecasts; Forbes Media: Jersey City, NJ, USA, 2014. [Google Scholar]
- Rawat, D.B.; Brecher, C.; Song, H.; Jeschke, S. Industrial Internet of Things: Cybermanufacturing Systems; Springer: Berlin/Heidelberg, Germany, 2017. [Google Scholar]
- Initiative, E.P. Advancing IoT Platforms Interoperability; River Publishers: Gistrup, Denmark, 2018. [Google Scholar]
- Ouksel, A.M.; Sheth, A. Semantic interoperability in global information systems. ACM SIGMOD Rec. 1999, 28, 5–12. [Google Scholar] [CrossRef]
- Gyrard, A.; Serrano, M. Connected smart cities: Interoperability with seg 3.0 for the Internet of Things. In Proceedings of the 2016 30th International Conference on Advanced Information Networking and Applications Workshops (WAINA), Crans-Montana, Switzerland, 23–25 March 2016; pp. 796–802. [Google Scholar]
- Zhou, Y.; De, S.; Wang, W.; Moessner, K. Search techniques for the web of things: A taxonomy and survey. Sensors 2016, 16, 600. [Google Scholar] [CrossRef] [Green Version]
- World Wide Web Consortium. SPARQL 1.1 Overview; World Wide Web Consortium: Cambridge, MA, USA, 2013. [Google Scholar]
- Kaebisch, S.; Kamiya, T. Web of Things (WoT) Thing Description; First Public Working Draft, W3C: Cambridge, MA, USA, 2017. [Google Scholar]
- Mathew, S.S.; Atif, Y.; Sheng, Q.Z.; Maamar, Z. Web of things: Description, discovery and integration. In Proceedings of the 2011 International conference on Internet of Things and 4th International Conference on Cyber, Physical and Social Computing, Dalian, China, 19–22 October 2011; pp. 9–15. [Google Scholar]
- Buil-Aranda, C.; Arenas, M.; Corcho, O. Semantics and optimization of the SPARQL 1.1 federation extension. In Extended Semantic Web Conference; Springer: Berlin/Heidelberg, Germany, 2011; pp. 1–15. [Google Scholar]
- Kaebisch, S.; Anicic, D. Thing description as enabler of semantic interoperability on the Web of Things. In Proceedings of the IoT Semantic Interoperability Workshop, San Jose, CA, USA, 17–18 March 2016; pp. 1–3. [Google Scholar]
- Serena, F.; Poveda-Villalón, M.; García-Castro, R. Semantic discovery in the web of things. In Proceedings of the International Conference on Web Engineering, Rome, Italy, 5–8 June 2017; pp. 19–31. [Google Scholar]
- Yang, G.; Xie, L.; Mäntysalo, M.; Zhou, X.; Pang, Z.; Da Xu, L.; Kao-Walter, S.; Chen, Q.; Zheng, L.R. A health-IoT platform based on the integration of intelligent packaging, unobtrusive bio-sensor, and intelligent medicine box. IEEE Trans. Ind. Inf. 2014, 10, 2180–2191. [Google Scholar] [CrossRef] [Green Version]
- Giaffreda, R.; Capra, L.; Antonelli, F. A pragmatic approach to solving IoT interoperability and security problems in an eHealth context. In Proceedings of the 2016 IEEE 3rd World Forum on Internet of Things (WF-IoT), Reston, VA, USA, 12–14 December 2016; pp. 547–552. [Google Scholar]
- Hosek, J.; Masek, P.; Andreev, S.; Galinina, O.; Ometov, A.; Kropfl, F.; Wiedermann, W.; Koucheryavy, Y. A SyMPHOnY of integrated IoT businesses: closing the gap between availability and adoption. IEEE Commun. Mag. 2017, 55, 156–164. [Google Scholar] [CrossRef]
- Datta, S.K.; Bonnet, C.; Nikaein, N. An IoT gateway centric architecture to provide novel M2M services. In Proceedings of the 2014 IEEE World Forum on Internet of Things (WF-IoT), Seoul, Korea, 6–8 March 2014; pp. 514–519. [Google Scholar]
- Castellani, A.P.; Fossati, T.; Loreto, S. HTTP-CoAP cross protocol proxy: an implementation viewpoint. In Proceedings of the 2012 IEEE 9th International Conference on Mobile Ad-Hoc and Sensor Systems (MASS 2012), Las Vegas, NV, USA, 8–11 October 2012; pp. 1–6. [Google Scholar]
- Al-Fuqaha, A.; Khreishah, A.; Guizani, M.; Rayes, A.; Mohammadi, M. Toward better horizontal integration among IoT services. IEEE Commun. Mag. 2015, 53, 72–79. [Google Scholar] [CrossRef]
- Bröring, A.; Schmid, S.; Schindhelm, C.K.; Khelil, A.; Käbisch, S.; Kramer, D.; Le Phuoc, D.; Mitic, J.; Anicic, D.; Teniente, E. Enabling IoT ecosystems through platform interoperability. IEEE Softw. 2017, 34, 54–61. [Google Scholar] [CrossRef] [Green Version]
- Li, W.; Privat, G.; Le Gall, F. Towards a semantics extractor for interoperability of IoT platforms. In Proceedings of the 2017 Global Internet of Things Summit (GIoTS), Geneva, Switzerland, 6–9 June 2017; pp. 1–6. [Google Scholar]
- Li, W.; Privat, G. Cross-Fertilizing Data through Web of Things APIs with JSON-LD. In Proceedings of the European Semantic Web Conference, Heraklion, Crete, Greece, 30 May 2016. [Google Scholar]
- Jabbar, S.; Ullah, F.; Khalid, S.; Khan, M.; Han, K. Semantic interoperability in heterogeneous IoT infrastructure for healthcare. Wirel. Commun. Mob. Comput. 2017, 2017, 9731806. [Google Scholar] [CrossRef]
- Yachir, A.; Djamaa, B.; Mecheti, A.; Amirat, Y.; Aissani, M. A comprehensive semantic model for smart object description and request resolution in the Internet of Things. Procedia Comput. Sci. 2016, 83, 147–154. [Google Scholar] [CrossRef] [Green Version]
- Soldatos, J.; Kefalakis, N.; Hauswirth, M.; Serrano, M.; Calbimonte, J.P.; Riahi, M.; Aberer, K.; Jayaraman, P.P.; Zaslavsky, A.; Žarko, I.P.; et al. Openiot: Open source internet-of-things in the cloud. In Interoperability and open-source solutions for the Internet of Things; Springer: Cham, Switzerland, 2015; pp. 13–25. [Google Scholar]
- Desai, P.; Sheth, A.; Anantharam, P. Semantic gateway as a service architecture for iot interoperability. In Proceedings of the 2015 IEEE International Conference on Mobile Services, New York, NY, USA, 27 June–2 July 2015; pp. 313–319. [Google Scholar]
- Guinard, D.; Trifa, V.; Karnouskos, S.; Spiess, P.; Savio, D. Interacting with the soa-based Internet of Things: Discovery, query, selection, and on-demand provisioning of web services. IEEE Trans. Serv. Comput. 2010, 3, 223–235. [Google Scholar] [CrossRef] [Green Version]
- Wei, Q.; Jin, Z. Service discovery for Internet of Things: A context-awareness perspective. In Proceedings of the Fourth Asia-Pacific Symposium on Internetware, Qingdao, China, 30–31 October 2012; p. 25. [Google Scholar]
- Cassar, G.; Barnaghi, P.; Wang, W.; Moessner, K. A hybrid semantic matchmaker for iot services. In Proceedings of the 2012 IEEE International Conference on Green Computing and Communications, Besancon, France, 11–14 September 2012; pp. 210–216. [Google Scholar]
- Gomes, P.; Cavalcante, E.; Batista, T.; Taconet, C.; Chabridon, S.; Conan, D.; Delicato, F.C.; Pires, P.F. A QoC-aware discovery service for the Internet of Things. In Ubiquitous Computing and Ambient Intelligence; Springer: Cham, Switzerland, 2016; pp. 344–355. [Google Scholar]
- Gomes, P.; Cavalcante, E.; Batista, T.; Taconet, C.; Conan, D.; Chabridon, S.; Delicato, F.C.; Pires, P.F. A semantic-based discovery service for the Internet of Things. J. Internet Serv. Appl. 2019, 10, 10. [Google Scholar] [CrossRef] [Green Version]
- Gyrard, A.; Serrano, M. A unified semantic engine for Internet of Things and smart cities: From sensor data to end-users applications. In Proceedings of the 2015 IEEE International Conference on Data Science and Data Intensive Systems, Sydney, Australia, 11–13 December 2015; pp. 718–725. [Google Scholar]
- Žarko, I.P.; Mueller, S.; Płociennik, M.; Rajtar, T.; Jacoby, M.; Pardi, M.; Insolvibile, G.; Glykantzis, V.; Antonić, A.; Kušek, M.; et al. The symbIoTe Solution for Semantic and Syntactic Interoperability of Cloud-based IoT Platforms. In Proceedings of the 2019 Global IoT Summit (GIoTS), Aarhus, Denmark, 17–21 June 2019; pp. 1–6. [Google Scholar]
- Dimou, A.; Vander Sande, M.; Colpaert, P.; Verborgh, R.; Mannens, E.; Van de Walle, R. RML: A Generic Language for Integrated RDF Mappings of Heterogeneous Data. LDOW 2014, 1184. [Google Scholar]
- Stocker, M.; Seaborne, A.; Bernstein, A.; Kiefer, C.; Reynolds, D. SPARQL Basic Graph Pattern Optimization Using Selectivity Estimation. In Proceedings of the 17th International Conference on World Wide Web (WWW ’08), Beijing, China, 21–25 April 2008; ACM: New York, NY, USA, 2008; pp. 595–604. [Google Scholar] [CrossRef] [Green Version]
- Wylot, M.; Hauswirth, M.; Cudré-Mauroux, P.; Sakr, S. RDF data storage and query processing schemes: A survey. ACM Comput. Surv. 2018, 51, 84. [Google Scholar] [CrossRef]
- Pereira, D.G.; Afonso, A.; Medeiros, F.M. Overview of Friedman’s test and post-hoc analysis. Commun. Stat. Simul. C 2015, 44, 2636–2653. [Google Scholar] [CrossRef]
- Muggeo, V.M. Segmented: An R package to fit regression models with broken-line relationships. R News 2008, 8, 20–25. [Google Scholar]
- Gao, J.; Yang, X.; Jiang, Y.; Song, H.; Choo, K.K.R.; Sun, J. Semantic Learning Based Cross-Platform Binary Vulnerability Search For IoT Devices. IEEE Trans. Ind. Inf. 2019. [Google Scholar] [CrossRef]
Semantic Interoperability | Zhou et al. | Solves | ||
---|---|---|---|---|
IoT Device | IoT Ecosystem | Classification | SPARQL Query | |
Proposals [16,17,18,19,20,21,22,23,24,25,26,27,28] | ✓ | ✗ | - | ✗ |
Guinard et al. [29] | ✗ | ✓ | Text Indexing | ✗ |
Wei and Jin [30] | ✗ | ✓ | Centralised | ✗ |
Cassar et al. [31] | ✗ | ✓ | Centralised | ✓ |
Gyrard and Serrano [8,34] | ✗ | ✓ | Federation | ✓ |
Zarko et al. [35] | ✗ | ✓ | Federation | ✓ |
eWoT | ✗ | ✓ | Decentralised | ✓ |
GraphDB | eWoT | |||
---|---|---|---|---|
Query | Answer Size | Avg. Time (s) | Answer Size | Avg. Time (s) |
Linear 1 | 1520 | 0.08 | 1520 | 0.13 |
Linear 2 | 8832 | 0.09 | 8832 | 0.10 |
Linear 3 | 9120 | 0.10 | 9120 | 0.11 |
Linear 4 | 9120 | 0.16 | 9120 | 0.17 |
Star 1 | 4566 | 0.11 | 4566 | 0.11 |
Star 2 | 3603 | 0.06 | 3603 | 0.06 |
Star 3 | 5202 | 0.07 | 5202 | 0.07 |
Star 4 | 800,000 | 24.78 | 800,000 | 25.78 |
Tree 1 | 39,258 | 0.48 | 39,258 | 0.57 |
Tree 2 | 506,529 | 10.23 | 506,529 | 9.24 |
Tree 3 | 506,529 | 15.48 | 506,529 | 20.98 |
Tree 4 | 800,000 | 35.4 | 800,000 | 37.89 |
Cycle 1 | 259 | 0.02 | 259 | 0.02 |
Cycle 2 | 1150 | 0.10 | 1150 | 0.09 |
Complex 1 | 852,042 | 25.68 | 852,042 | 28.73 |
Complex 2 | 317,040 | 7.15 | 317,040 | 13.89 |
Complex 3 | 217,500 | 11.80 | 217,500 | 11.32 |
Complex 4 | 215,700 | 6.46 | 215,700 | 10.84 |
Complex 5 | 215,700 | 11.20 | 215,700 | 10.32 |
Complex 6 | 215,700 | 12.12 | 215,700 | 15.23 |
Query Answering Time in % | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
100 Endpoints | 250 Endpoints | 500 Endpoints | 750 Endpoints | 1000 Endpoints | ||||||
Query Type | Discovery | Access | Discovery | Access | Discovery | Access | Discovery | Access | Discovery | Access |
Linear 1 | 95% | 5% | 96% | 4% | 96% | 4% | 96% | 4% | 95% | 5% |
Linear 2 | 96% | 4% | 96% | 4% | 96% | 4% | 96% | 4% | 96% | 4% |
Linear 3 | 95% | 5% | 96% | 4% | 96% | 4% | 96% | 4% | 96% | 4% |
Linear 4 | 95% | 5% | 96% | 4% | 96% | 4% | 96% | 4% | 96% | 4% |
Star 1 | 96% | 4% | 96% | 4% | 96% | 4% | 96% | 4% | 96% | 4% |
Star 2 | 96% | 4% | 96% | 4% | 96% | 4% | 96% | 4% | 96% | 4% |
Star 3 | 96% | 4% | 96% | 4% | 96% | 4% | 96% | 4% | 96% | 4% |
Star 4 | 96% | 4% | 96% | 4% | 96% | 4% | 96% | 4% | 96% | 4% |
Tree 1 | 96% | 4% | 96% | 4% | 96% | 4% | 96% | 4% | 96% | 4% |
Tree 2 | 95% | 5% | 96% | 4% | 96% | 4% | 96% | 4% | 96% | 4% |
Tree 3 | 96% | 4% | 96% | 4% | 96% | 4% | 96% | 4% | 96% | 4% |
Tree 4 | 96% | 4% | 96% | 4% | 96% | 4% | 96% | 4% | 96% | 4% |
Complex 1 | 93% | 7% | 94% | 6% | 96% | 4% | 95% | 5% | 96% | 4% |
Complex 2 | 95% | 5% | 96% | 4% | 96% | 4% | 96% | 4% | 96% | 4% |
Complex 3 | 95% | 5% | 96% | 4% | 96% | 4% | 96% | 4% | 96% | 4% |
Complex 4 | 95% | 5% | 96% | 4% | 96% | 4% | 96% | 4% | 96% | 4% |
Complex 5 | 95% | 5% | 96% | 4% | 96% | 4% | 96% | 4% | 96% | 4% |
Complex 6 | 95% | 5% | 96% | 4% | 96% | 4% | 96% | 4% | 96% | 4% |
Complex 7 | 96% | 4% | 96% | 4% | 96% | 4% | 96% | 4% | 96% | 4% |
Complex 8 | 95% | 5% | 96% | 4% | 96% | 4% | 96% | 4% | 96% | 4% |
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Cimmino, A.; Poveda-Villalón, M.; García-Castro , R. eWoT: A Semantic Interoperability Approach for Heterogeneous IoT Ecosystems Based on the Web of Things. Sensors 2020, 20, 822. https://doi.org/10.3390/s20030822
Cimmino A, Poveda-Villalón M, García-Castro R. eWoT: A Semantic Interoperability Approach for Heterogeneous IoT Ecosystems Based on the Web of Things. Sensors. 2020; 20(3):822. https://doi.org/10.3390/s20030822
Chicago/Turabian StyleCimmino, Andrea, María Poveda-Villalón, and Raúl García-Castro . 2020. "eWoT: A Semantic Interoperability Approach for Heterogeneous IoT Ecosystems Based on the Web of Things" Sensors 20, no. 3: 822. https://doi.org/10.3390/s20030822
APA StyleCimmino, A., Poveda-Villalón, M., & García-Castro , R. (2020). eWoT: A Semantic Interoperability Approach for Heterogeneous IoT Ecosystems Based on the Web of Things. Sensors, 20(3), 822. https://doi.org/10.3390/s20030822