- Design Phases
- Design: Data Modelling
- Data: High Level Types, HLT
- From Data Modeling to Entity Messages
- How to perform Data Modeling
- Concept of ServiceURI and HLT Identifiers
- Concept of Time Series
- Rule for Entity Models/Instances, names and values
- Examples of Data Models
- How to Create Entity Instances / IoT Devices, and their messages
- High Level Type vs Storage and distribution channel
In traditional development processes the data modelling would go on the identification of classes, they relationships, class diagram, and the definition of tables for the SQL database, performing normalization, etc.
In the case of IoT/WoT modeling the Data Modelling phase consists in the definition data structures/models (Entity Models) used in the solutions. In Snap4City, the approach is grounded on Big Data and Digital Twin, coming from IoT/WoT domains, event driven, and scalability being big data. The approach passes from formalization of Entity Models which are identical from the data ingestion and data storage. The Entity Models on storage are directly indexed into the storage without the need to defining for them a specific table structure and relationships among tables, neither to perform normalization to permit the efficient indexing. All the relationships among the entities and the Entity Models are modelled into the knowledge base, and the Smart City API can efficiently query them by using multiple filters via noSQL approach, transparent for the developer.
This phase has to answer at questions such as:
- Which information is present in these data, it fits the purpose?
- Which data models are used, standard, custom, etc.?
- Which data models would be produced?
- How can I get the data?
- Are those data private/public, which licensing?
- Is the licensing compatible with the purpose?
- Are those data ethically compliant?
- Do I need to create a DPIA for GDPR?
- Do I need to create an agreement?