Décrire les colonnes du fichier source vs décrire ce qu’on veut extraire
Avec Table Schema il est recommandé de décrire toutes les colonnes, dans l’ordre :
The order of elements in fields array SHOULD be the order of fields in the CSV file. The number of elements in fields array SHOULD be the same as the number of fields in the CSV file. (cf. https://specs.frictionlessdata.io/table-schema/#descriptor)
De plus, le name
de la colonne n’est pas obligé de matcher le header lorsqu’il est présent.
The field descriptor MUST contain a name property. This property SHOULD correspond to the name of field/column in the data file (if it has a name). (cf. https://specs.frictionlessdata.io/table-schema/#name)
Avec insitu on ne décrit que les colonnes qu’on utilise, et on les référence par leur nom ou leur index. Il y a d’ailleurs une ambiguité si on écrit une valeur numérique, par exemple column: 5
c’est sans doute son index, mais si on écrit column: 2021
c’est sans-doute son en-tête...
Autre différence, comme avec insitu on décrit la représentation cible, une même colonne source peut apparaître plusieurs fois, quand on veut produire plusieurs colonnes SQL à partir de celle-ci (cf. Tableau de suivi des partenaires
dans acv
)