DISIT Lab
A Knowledge Model to describe a smart city, that interconnect data from infomobility service, Open Data and other sources
DISIT Lab, University of Florence, Italy, http://www.disit.org
The Unified Knowledge Model of Snap4City - is available under Creative Commons Attribution-ShareAlike 3.0 Unported license
s4c
http://model.snap4city.org/s4c/
The unified knowledge model of snap4city enables the description of enties and relations of the snap4city platform.
Snap4City Unified Knowledge Model
This property is used to state that a Process consume a DataSource. Most probably a failure in the data source access or acquisition will result in a failure on the process.
consume
This property is used to state that a data source is used by some component.
dataUsedBy
This property is used to state that something depends on something else. In general A dependsOn B mean that if B is malfunctioning also A may have some malfunctioning.
dependsOn
This property is used to state that an IotApplication uses the services provided by a DataAnalytic application. A failure of the data analytic will probably result in a failure in the IoTApplication.
exploit
This property is used to state that a Process exposes a MicroService.
expose
This property is used to state that the values of a widget are generated by an IotApplication. A failure of the IoTApplication will probably results with problems with the widget.
generatedBy
This property is used to state that a IotApp generates values for a widget.
generates
This property is used to state that an Administrative component (e.g. a User, a Group or an Organization) has a conteinerized application.
hasApp
This property is used to state that an IoT device has an IotDeviceAttribute.
hasAttribute
This property is used to state that an Administration component (e.g. Group or Organization) has a Dashboard. Meaning that the component owns the dashboard.
hasDashboard
This property is used to state that an Administration component (e.g. Group or Organization) has a Data. Meaning that the component owns the data.
hasData
This property is used to state that an organization has a group of data elements.
hasGroup
This property is used to state that an Administration component (e.g. Group or Organization) has a Iot Application. Meaning that the component owns the Iot Application.
hasIotApp
This property is used to state that a user group or an organization has a user belonging to it.
hasUser
This property is used to state that an organization has a group of users.
hasUseGroup
This property is used to state that a Dashboard has a Widget.
hasWidget
This property is used to state that a conteinerized application belong to an administrative thing like a user or an organization.
isAppOf
This property is used to state that an IotDeviceAttribute is an attribute of an IotDevice.
isAttributeOf
This property is used to state that a DataSource is consumed by a Process.
isConsumedBy
This property is used to state that a dashboard is owned by a specific administrative entity.
isDashboardOf
This property is used to state that a data asset is owned by a specific administrative entity.
isDataOf
isDependencyOf
This property is used to state that services provided by a DataAnalytic application are exploited by an IotApplication.
isExploitedBy
This property is used to state that a MicroService is exposed by a Process.
isExposedBy
This property is used to state that a group belong to an organization or to an user.
isGroupOf
This property is used to state that a Widget is in a Dashboard. Since a widget can be only in a dashboard this property is Functional.
isInDashboard
This property is used to state that an IotApp belong to an administrative thing like a User.
isIotAppOf
This property is used to state that a DataGather is produced by a Process.
isProducedBy
This property is used to state that an IotDevice is registered with an IotBroker. Since the platform will receive device updates via the broker a malfunction of the broker will probabily result in a malfunction with the interaction with the device.
isRegisteredTo
This property is used to state that a UserGroup belong to a specific Organization.
isUserGroupOf
isUserOf
This property is used to state that a Process is visualized by an UserInterface.
isVisualizedBy
This property is used to state that a Process produce a DataGather.
produce
This property is used to state that an IotBroker registers an IotDevice.
register
This property is used to state that a Widget or an IotApplication use some data available on the platform (e.g. a Sensor). If the data is malfunctioning probably will result in a mulfunction on the widget or the IotApplication that use it.
useData
This property is used to state that a dashboard use the services from a node-red Iot Application. For example when there is at least a widget of the dashboard that is controlled by the IotApplication. This means that there is a dependency from the dashboard with the IotApp.
useIotApp
This property is used to state that a Data is used by an IotApp.
usedByIotApp
This property is used to state that a Data is used by a widget.
usedByWidget
This property is used to state that an IotApplication is used from a Dashboard.
usedInDashboard
This property is used to state that an UserInterface visualizes a Process.
visualize
This data property is used to state if an IoT Device is certified or not. Certification can be performed for example using a blockchain.
certified
represents a general datamodel data property
dataModel
This data property is used to state the "data type" of a snap4city element (e.g. a KPI).
dataType
This data property is used to state the description of a snap4city element (e.g. a KPI).
description
This data property is used to state the "healthiness" of a snap4city element (e.g. a sensor).
healthiness
This data property is used to state the high level type of the snap4city element.
highLevelType
This data property is used to associate an image to a snap4city element.
image
This data property is used to state the date and time when the status of a snap4city element (e.g. a sensor, a KPI) was checked.
lastCheck
This data property is used to provide the last date for a sensor attribute.
lastDate
This data property is used to provide the last value for a sensor attribute.
lastValue
This data property is used to state some license information of the snap4city element (e.g. DataSource).
licensing
This data property is used to provide the number of monthly clicks of a snap4city UserInterface element.
monthlyClicks
This data property is used to provide monthly usage information of a snap4city UserInterface (e.g Dashboard).
monthlyUsage
This data property is used to provide the number of minutes a snap4city UserInterface element was viewed in the month.
monthlyViewedMinutes
This data property is used to state the "nature" of a snap4city element (e.g. a sensor, a KPI).
nature
This data property is used to provide the process information of a snap4city element.
process
represent a general realtime data property
realTime
represents a general semantic data property
semantic
represents a general status data property
status
This data property is used to state the "sub nature" of a snap4city element (e.g. a sensor, a KPI).
subNature
This data property is used to state the subtitle of a snap4city element (e.g. a dashboard).
subtitle
represents a general technical data property
technicalData
This data property is used to state the title of a snap4city element (e.g. a dashboard).
title
This data property is used to state the "title_w" of a snap4city element (e.g. a widget).
title_w
This data property is used to state the "type" of a snap4city element.
type
This data property is used to state the "value name" of a snap4city element (e.g. a sensor).
valueName
This data property is used to state the "value type" of a snap4city element (e.g. a sensor, a KPI).
valueType
This data property is used to state the "value unit" of a snap4city element (e.g. a sensor, a KPI).
valueUnit
This data property is used to state the "visibility" of a snap4city element (e.g. a sensor, a KPI).
visibility
This class represents the IoT Devices that are used to actuate one or more behaviours on a system.
Actuator
This class represents any snap4city administration facility used to group entities as dashboards, IoT applications or other data sources.
AdministrativeThing
AreaManagerUser
This class represents any container-based application running on snap4city
ContainerizedApp
1
This class represents any dashboard available on the platform.
Dashboard
This class represents any data managed by the snap4city platform.
Data
This class represents any data analytic process that user may define.
DataAnalytic
This class represents entities providing data outside the snap4city platform.
DataProviding
This class represents any source of data that can be used in the snap4city platform.
DataSource
This class represents a data table uploaded on the snap4city platform.
DataTable
This class represents any external service that is made available to snap4city platform users, allowing them to embed this service in a widget of a dashboard.
ExternalService
This class represents a group of data (cannot have applications or dashboards)
Group
This class represents any heatmap uploaded on the snap4city platform.
Heatmap
This class represents the IoT Applications available on the Snap5City platform. These applications are running node-red which allows a low-code approach to the development of data ingestion and simple data processing.
IoTApp
This class represents any IoT broker used to access a set of IoT Devices.
IoTBroker
1
This class represents any IoT device available on the platform.
IotDevice
This class is used to describe each single device attribute of an IoTDevice in terms of dataType (e.g. integer), valueName (e.g. air_temperature), valueUnit (e.g. celsius degrees) and valueType (e.g. temperature).
IotDeviceAttribute
This class represents any IoT device model that are defined on the snap4city platform and used by IotDevices as a template.
IotModel
This class represents any KPI (Key Performance Indicator) that is generally available on the snap4city platform.
KPI
ManagerUser
This class represents any micro service exposed by snap4city.
MicroService
This class represents any personal KPI that a user defined on the platform.
MyKPI
This class represents any Point of Interest defined by a user on the platform.
MyPOI
This class represents any personal data that the user defined on the platform.
MyPersonalData
This class represents an organization within a snap4city platform.
Organization
This class represents an origin destination matrix that has been uploaded/generated on the platform.
OriginDestinationMatrix
This class represents any Point of Interest available on the platform.
POI
This class represents a table with Points of Interests uploaded on the snap4city
POITable
This class represents any data analytic process implemented using R and exposing its functionalities using plumber.
PlumberDataAnalytic
This class represents any instance of the Portia web crawler running on the snap4city platform.
PortiaCrawler
This class represents any kind of processing element
ProcessingThing
This class represents any data analytic process implemented using python and exposing its functionalities using flask.
PythonDataAnalytic
RootAdminUser
This class represents any sensor device which provides data to be shown in widgets.
Sensor
This class represents any storage facility.
Storage
This class represents a synoptic showing some data.
Synoptic
ToolAdminUser
This class represents a traffic flow map uploaded on the platform.
TrafficFlow
This class represents a set of trajectories uploaded on the platform.
Trajectories
This class represents a typical time trend associated with a sensor value (e.g air temperature).
TypicalTimeTrend
This class represents any user registered on the snap4city platform
User
This class represents a group of users.
UserGroup
This class represents any process providing an interactive user interface.
UserInterface
This class represents a Web Feature Service exposed from a geoserver that can be used on the platform.
WFS
1
This class represents any widget that is present in a dashboard. The widget can belong to only one dashboard.
Widget
This class represent any thing that is managed by the snap4city platform.
s4cThing