Software Tools
Software Created from the CityPulse Project to Complement the Datasets
CPA Semantic Annotation and Playback Tool
CPA is a tool for generating data streams. A data stream is a sequence of measurements from a sensor or other source, over time (for example temperature data, air pressure on a car's tire, level of fuel on an aircraft, etc.).
It is meant to be used as a tool for testing the performance of systems designed to gather and process large amounts of data from different sources (e.g. IoT middleware). Additionally it can be used to complement existing datastreams, such as the ones in the CityPulse Dataset Page.
Current Features Include:
- Simple to use, command-line user interface.
- Data Generation using different distributions (Poisson, Exponential, Geometric, Pareto, Gaussian, Uniform/Random and Constant).
- Ability to specify starting date of data collection, periodicity (amount of time between subsequent measurements), prefix of URI of generated datastream.
- Generates the datasets in CityPulse information Model format (see Model Primer page for more information on the model).
- Data Playback support with built-in validation of .ttl using Apache Jena.
- Customizable speed of playback (real-time, accelerated, decelerated).
- Customizable mode of data transmission (JSON/UDP sockets).
Downloading and using CPA: See tool web page on Github.
SSN Ontology Validation Tool
Click to access the tool (opens in a new window).
This web application allows ontology developers to validate their data that are based on the Semantic Sensor Network (SSN) ontology.
Users can input their data either by uploading a file or directly inputting the data in the textbox. An SSN instance “smart-knife” is provided an example.
The validator service will receive the data and compare it against the SSN ontology and other ontologies that are frequently associated with it. The result given is a validation report that reports any inconsistencies with the data. The application also provides a tag cloud that illustrates the popularity of the terms that are used by all the data that has been submitted for validation.
When a document is submitted to the service, the data is passed to the validator which uses the Jena Eyeball API. The document is then parsed via a SPARQL engine whereby the terms it contains are extracted and stored.
A Configurable Benchmark to Evaluate RSP Engines using Smart City Datasets
Click to access the tool (opens in a new window).
CityBench, a comprehensive benchmarking suite to evaluate RSP engines within smart city applications and with smart city data. CityBench includes real-time IoT data streams generated from various sensors deployed within the city of Aarhus, Denmark. We provide a configurable testing infrastructure and a set of continuous queries covering a variety of data- and application- dependent characteristics and performance metrics, to be executed over RSP engines using CityBench datasets. We evaluate two state of the art RSP engines using our testbed and discuss our experimental results. This work can be used as a baseline to identify capabilities and limitations of existing RSP engines for smart city applications.
SAOPY - A Library for Semantic Annotation of Sensory Data
Click to access the tool (opens in a new window).
Increasing amount of ontologies and Linked Data resulted in an unacceptable quantity of noise within the Web of Data which inhabits applications from effectively exploiting this rich open, well-defined and structured information. LOD-Stats reported in that there is still a vast amount of erroneous Linked Datasets available on the Semantic Web. Although validators are useful to verify syntactical consistency and correctness, they cannot detect domain specific semantic or factual mistakes that may need an overview of domain specific ontologies[6]. We address this issue by providing a sensor annotation library, called SAOPY, that embodies well-known ontologies in the domain of sensor networks. It aims to pre- vent common syntax errors (e.g. undefined properties and classes, poorly formed namespaces, problematic prefixes, literal syntax) in RDF documents during the annotation process before it is published as linked data.