Jeux de données
Définition
Un jeu de données (dataset) est un ensemble cohérent et versionné (fonctionnellement) de données appartenant à une même classe.
Un dataset est défini par les propriétés suivantes :
Identifiant |
Il s’agit d’un identifiant technique |
Nom |
Le nom d’un dataset doit permettre de lui donner du sens. On pourrait par exemple créer 2 datasets -les voitures neuves et les épaves roulantes- pour catégoriser spécifiquement les données. |
Classe |
Le type de données ciblées par le dataset |
Type |
Ouvert, Fermé, Modifiable |
Slug |
Il s’agit d’un identifiant unique lisible par l’homme, utilisé pour identifier une ressource au lieu d’un identifiant moins lisible (ex : un id) |
Le tuple <Classe,Nom,Slug> doit être unique.
Il existe 3 types de dataset chacun avec leur propriété spécifique :
Fermé |
Il s’agit d’un ensemble de données injectées dans la plateforme sous la forme d’une opération atomique, comme un import de fichier CSV contenant l’ensemble des accidents. Il est immuable. Il possède les propriétés d’atomicité, et de cohérence d’une transaction ACID. Ils ne sont plus modifiables après import et permettent d’assurer une rejouabilité des transformations dont ils sont la source. |
Ouvert |
Il représente un flux de donnée entrant, par exemple les données issues de l’ensemble des capteurs de température d’un parc de bâtiments. Ses données ne sont pas modifiables, on agit en ajout uniquement. Il s’agit de séries chronologiques. Chaque ajout d’un item donne lieu à la création d’une version représentée par le timestamp de l’arrivée de l’item. |
Modifiable |
Les jeux de données modifiables qui sont un ensemble d’items qui peuvent être modifiés au fil du temps. Bien que la traçabilité des modifications soit assurée, ces derniers ne permettent pas la rejouabilité. |
Les datasets sont rattachés aux utilisateurs les ayant créés.
Instanciation
Chaque dataset peut ensuite être instancié en tant que datasetVersion et possèdera alors les propriétés suivantes :
Identifiant |
Il s’agit d’un identifiant technique |
Dataset |
Un lien vers la définition de l’instance |
Last Modified |
Il s’agit de la dernière date de modification de la version de dataset. Elle est mise à jour à chaque modification. |
Classe |
Un lien vers le type de données ciblées par le dataset |
State |
Permet de définir l’état du dataset (cf Concepts jeux de données ) |
Version |
Un dataset étant immutable, plusieurs injections du même dataset donneront lieu à plusieurs versions de celui-ci. Cette version est représentée par un entier qui s’incrémente à chaque nouvelle version. |
With File |
Nous permet de savoir si notre dataset est lié à un fichier importé. |
Les types
Provoly permet de gérer plusieurs types de données différents. Ces types sont regroupés sous 4 grands ensembles.
Types
Types | Ensemble |
---|---|
String, Keyword, Text |
STRING |
Integer, Double |
NUMERIC |
Date |
DATE |
Point, Multipoint, LineString, MultiLineString, Polygon, MultiPolygon |
GEO |
Les types permettent de valider la cohérence entre la donnée et le modèle cible contrairement aux ensembles de types qui permettent d’appliquer un certain nombre de contrôles différenciés.