# Multi-Purpose Ontology-Based Visualization of Spatio-Temporal Data: A Case Study on Silk Heritage
## 3 STMaps Visualization Tool
### Multipurpose Ontology-Based Spatio-Temporal Visualization  
STMaps can be considered a spatio-temporal KAVT. Although the original purpose of the application is to show an interactive map of the information stored in SILKNOW's knowledge graph, STMaps is capable of showing data from different domain ontologies. To accomplish this, it uses a VRO. STMaps is currently ready to work with VISO, although it could potentially work with other visualization ontologies. STMaps is a visual tool implemented in Unity (Unity 2018.4.19 was used to develop the tool). The use of Unity allows developing a cross-platform application with state-of-the-art graphics. There are two main ways in which the STMaps tool can be used: the first one is by running a stand-alone application and the second one is by embedding a WebGL plugin into an HTML web page. In the case of a stand-alone application, no platform-dependent strategies have been implemented. Therefore, STMaps works on Windows, Linux and Mac OS. In the case of the HTML implementation, the web browser should be able to support WebGL 2.0 in order to run STMaps. In both cases (stand-alone or web application), STMaps needs to get the source data from a DO, and in both cases, the same configuration file is used: _STMaps.json_. This is the default content of STMaps.json:  
_( \"DataOntology\": \"[[http://data.silknow.org](http://data.silknow.org)]([http://data.silknow.org](http://data.silknow.org))\(\backslash\)T\(\backslash\)textquotedblright, \"VisualizationOntology\":\"[[http://purl.org/viso/](http://purl.org/viso/)]([http://purl.org/viso/](http://purl.org/viso/))\(\backslash\)T\(\backslash\)textquotedblright, \"StyleSheet\":\"style.json\"  
Figure 1: Overview of SILKNOW’s ontology. Image generated with the WebVOWL (Web-based Visualization of Ontologies) viewer, integrated in the Ontome web page [75]. \"DataFile\": \"datafile.json\" } This file contains the URL of the domain ontology (_DataOntology_ field) where the source data are located, the URL of the visualization ontology (_VisualizationOntology_ field) which defaults to VISO although our tool could potentially support other VROs, a stylesheet file (_StyleSheet_ field) and a data file (_DataFile_ field). The stylesheet defines how data are visualized, whereas the data file specifies the datasets that have been filtered from the DO. As only a fraction of the DO is required to be visualized, this data file defines which datasets we want to visualize. The data file simply contains an array of JSON objects of Point type. Each point is defined by:  
- The URI of the object (in the DO). - The class the object belongs to (it refers to a particular class defined in the stylesheet file). - The spatio-temporal properties of the object (as defined in the stylesheet file). - A link to an image, if available. Since STMaps uses Unity and gathers the filtered data from the DO by means of this data file, the tool is fully portable and can be used both in stand-alone or web-based modes, as long as the filtering process can be streamed to the data file, something that is not difficult to achieve. The stylesheet file defines two basic concepts: scenes and classes. A scene is a particular set of rules for visualizing spatio-temporal data. A class defines how each object is visualized for each of the scenes defined in each instance of STMaps. This includes defining which of their properties will be visualized and how they will be represented. An object can be visualized differently in different scenes. Therefore, multiple scene configurations can be defined per class. This file, thus, contains a list of scenes and a list of classes, each of them containing one or more scene configurations.