etalab / schema-irve

TableSchema pour les Infrastructures de Recharge de Véhicules Electriques (IRVE)
10 stars 10 forks source link

A quoi sert la propriété "path" ? #34

Closed fchabouis closed 7 months ago

fchabouis commented 1 year ago

Salut @geoffreyaldebert , on se demandait avec @Miryad3108 à quoi servait cette propriété "path". J'ai l'impression qu'elle ne sert peut-être à rien ? Merci !

https://github.com/etalab/schema-irve/blob/a5a6c59e49d13fd67cf24893d1a4c960c1ab0873/datapackage.json#L9

thbar commented 8 months ago

Je retrouve bien path dans la spécification ici:

Mais l'usage n'est pas encore clair.

Je garde ouvert et on revisitera ça.

johanricher commented 8 months ago

Ca sert à indiquer l'URL (path) d'un fichier exemple (ici un exemple valide), de façon similaire à ce que faisait le schéma dans sa version antérieure :

https://github.com/etalab/schema-irve/blob/v2.1.0/schema.json#L12

L'utilisation de cette propriété resources->path est décrite dans ce "pattern", qui sert de complément à la spec Table Schema. En revanche, ce n'est pas prévu pour un Data Package, mais c'est le choix qui a été fait quand le besoin de regrouper 2 schémas IRVE a été implémenté sous forme de Data Package.

Pour le contexte, il faut aussi ne pas oublier que l'utilisation de la spec Data Package pour regrouper plusieurs Table Schema, comme ici, est un hack custom et pas conforme ni à la spec Table Schema ni à la spec Data Package... Un Data Package sert à regrouper une ou plusieurs "ressources" entendues comme des données (fichiers CSV par exemple), pas des schémas.

thbar commented 8 months ago

Merci @johanricher pour le commentaire et les clarifications - c'est bon à savoir clairement... On garde ouvert on va revisiter ça ! (peut-être mettre à jour le README avec ces infos à terme etc).

thbar commented 7 months ago

je vois que c'est utilisé pour valider le package ici:

❯ frictionless validate datapackage.json

# -----
# valid: statique/exemple-valide-statique.csv 
# -----

## Summary 

+------------------------+--------------------------------------+
| Description            | Size/Name/Count                      |
+========================+======================================+
| File name              | statique/exemple-valide-statique.csv |
+------------------------+--------------------------------------+
| File size (KB)         | 1648                                 |
+------------------------+--------------------------------------+
| Total Time Taken (sec) | 0.02                                 |
+------------------------+--------------------------------------+

# -----
# valid: dynamique/exemple-valide-dynamique.csv 
# -----

## Summary 

+------------------------+----------------------------------------+
| Description            | Size/Name/Count                        |
+========================+========================================+
| File name              | dynamique/exemple-valide-dynamique.csv |
+------------------------+----------------------------------------+
| File size (bytes)      | 327                                    |
+------------------------+----------------------------------------+
| Total Time Taken (sec) | 0.006                                  |
+------------------------+----------------------------------------+

Si je modifie le chemin ça plante.

Bon l'explication me paraît suffisante même si le nom de l'attribut est peu explicite.

Merci !