Keywords

1 Introduction

Today, an unprecedented number of physical objects are connected to the Internet of Things (IoT). Such objects can be of many different types, such as thermostats for creating smart home systems, HVAC (Heating, Ventilation and Air Conditioning) monitoring and control systems, autonomous vehicle and robot systems, sensors that display the condition of a machine running in a factory, wearable technologies (smartwatches, smart health products, etc.). There are many different areas and environments where the Internet of Things can play a remarkable role and improve our quality of life. These applications include transportation, health, industrial automation and emergency response to natural and human-caused disasters where it is difficult for people to make decisions, etc. The common characteristics of all these systems are that they use various sensors to interact with the environment.

Ontologies in Semantic Web contains the concepts, data, attributes and relationships between entities on a domain. They include the classes, their attributes, and also the instances of the classes. An ontology can be queried by using query languages.

When an application or a system is to be developed for the Internet of Things, it is very important to find and select sensors that are suitable and having the right features for the work to be done. A wide range of sensors are available on the market, and a search over the internet is usually required to find the correct and most suitable sensor necessary for the job. However, an useful environment, where sensor data is available collectively and expressed with the same format, is not fully available over the internet.

When this problem was addressed, the idea of creating a structure consisting of sensor types and information emerged as a solution. In line with this idea, the use of Semantic Web technologies was considered. Firstly, the sensor types are investigated, after this work an application ontology is developed according to the sensor types and with use of a developed application, this ontology was queried.

In the second chapter of the paper the background in this context is introduced, in the third chapter the material and method used in the research are explained, and the fourth chapter concludes the paper.

2 Background

In order to develop an ontology in the subject of sensors, it was first investigated whether there is an ontology prepared in this regard.

S. Avancha, et al. [1], has developed a comprehensive sensor node ontology for adaptive sensor networks. This ontology is used to adapt a wireless sensor network to operating conditions with changing the parameters while the communication and calibration of the network stay maintained.

M. Eid, R. Liscano, and A. E. Saddik [2, 3], has proposed a framework to develop a sensor ontology. Their framework references the Standard Upper Merged Ontology (SUMO) [4], which forms a starting point for developing IEEE Standard Upper Ontology [5], a general-purpose, large and formal ontology.

A prototype sensor information store compatible with the Semantic Web infrastructure called OntoSensor was developed using ISO (International Standards Organization) and OGC (Open Geospatial Consortium) models by D. J. Russomanno, C. R. Kothari, and O. a. Thomas [6].

In another study, M. Compton et al. [7], developed an ontology called SSN Ontology, which defines sensors as capabilities, measurement processes, observations and deployments.

In another study conducted by E. Maleki, F. Belkadi, B. J. van der Zwaag, and A. Bernard [8], a sensor ontology was developed that enables the implementation of a service application in Industrial Product-Service Systems.

In recent years, SSN ontology has been revisited and an ontology called SOSA has been developed to model the interaction between entities involved in Sensor, Observation, Sample and Actuator (SOSA) ontology, observation, operation and sampling actions by Armin Haller et al. [9] and K. Janowicz, A. Haller, S. J. D. Cox, D. Le Phuoc, and M. Lefrançois [10]. SSN and SOSA were developed by a joint working group created by W3C (World Wide Web Consortium) and OGC (Open Geospatial Consortium) Web Spatial Data (SDW) to identify sensors, actuators, samplers and their observations, operation and sampling activities. These ontologies are published as both the W3C recommendation and the OGC standard of implementation. Also OGC (Open Geospatial Consortium) has developed a generic data model, named SensorML [11], in UML (Unified Modeling Language) to capture the classes and their relations for all types of sensors.

3 Material and Method

3.1 Tools and Languages

At the beginning of the study the tools and programming languages to be used in the development of Sensor Application Ontology and the creation of the querying application have been decided. In this context, to use the W3C standard OWL [12] as the ontology development language and the Protégé [13] tool, a free, open-source ontology editor and framework developed by Stanford University as an ontology development environment was chosen. The Apache Jena [14] library was used to parse the ontology and SPARQL [15] querying language was used to query the developed Sensor Application Ontology.

While developing the application, the Java programming language was used on the Netbeans development tool and it was provided to work web-based through Apache Tomcat [16].

3.2 Method

Firstly, during the ontology development phase, the sensor types, to be used to restrict sample application, were selected and in this context, the 6 most widely used sensor types in Internet of Things applications were decided. These sensor types are Flow, Pressure, Level, Infrared, Speed and Proximity and Displacement sensors.

In the second step of the study, the samples of the selected sensor types were examined and their characteristics were extracted. Some of these features are seen in Table 1. These characteristics were used to develop the classes in the ontology and also to develop the attributes of the classes.

Table 1. Sensor types and features.

After this stage, the development of ontology was carried out using the Protege development environment and the OWL ontology language. It was decided that all sensor types were subclasses of a master class called Sensor derived from owl: Thing, and the implementation was realized (Fig. 1).

Fig. 1.
figure 1

The classes of the developed Sensor Application Ontology shown in the Protégé tool.

The features seen in Table 1 were also developed as attributes of sensor types (Fig. 2).

Fig. 2.
figure 2

Examples of attributes of sensor types shown in the Protégé tool.

In the next phase of the study, sample sensors from the selected sensor types were included in the ontology and the development of Sensor Application Ontology was completed (Fig. 3).

Fig. 3.
figure 3

Some examples of the instances of selected sensor types shown in the Protégé tool.

At the last stage of the study, Sensor Application Ontology has been queried with the use of developed application program. The application program was developed using Apache Jena Library, Java Programming Language and Apache Tomcat. SPARQL query language was used to query the developed Sensor Application Ontology (Fig. 4).

Fig. 4.
figure 4

Sensor querying application.

While making a query firstly the Sensor Type is selected, secondly the desired Sensor Attribute is selected and the third step is selecting the range of the attribute and writing the desired value. After pushing the Search Button, the name of the Sensor and desired attribute values are listed as output (Fig. 4).

The tool had been developed using many different technologies and the Sensor Querying Application is an easy to use tool. But also there must be done some improvements to the tool as user interface.

4 Conclusion

At the end of the study, a Sensor Application Ontology, that could be used to search sensors that can be used in Internet of Things applications and to find the properties of these sensors, was developed. Also, an application program that could query the Sensor Application Ontology was programmed.

The missing part of the study is that the application ontology includes only a limited type of sensors and sensor instances. In future studies, it is planned to increase both the sensor types and the sensor samples included in the application ontology.

Another development in the study may be in the process of determining sensor characteristics. In the current method, sensor features are manually added to ontology. In the later stages of the study, it is planned to determine the sensor characteristics from sensor information over the internet and add them to the ontology automatically.