Question : Quelles pistes pour regrouper des fiches liées à un mot-clé ou une fiche en fonction d’un autre thésaurus dans une exportation tabulaire ?

Il arrive souvent qu’un thésaurus soit utilisé pour classer des fiches par type. Lorsque ces fiches se retrouvent sous forme de liste (par exemple, la liste des fiches indexées par un mot-clé), il est souvent pertinent de regrouper ces fiches par type afin d’aérer la liste et la rendre plus lisible.

Niveau : Scriptage (gabarit et exportation)

Réponse :

Une solution est de mettre en place une extraction spécifique pour l’exportation tabulaire et de passer ensuite par une transformation. Cette solution a l’avantage de s’adapter à tous les cas de figure mais elle est complexe à mettre en place. C’est pour simplifier le travail qu’a été introduit une « inclusion » particulière : json_fichedistribution (rappelons que dans une exportation tabulaire, une inclusion est une instruction qui va proposer un traitement spécifique, différent du formatage habituel d’une colonne).

L’inclusion json_fichedistribution produit une colonne dont le contenu est un objet au format JSON décrivant la répartition des fiches.

Voici un premier exemple :

%json_fichedistribution:fiches_par_type
corpus_document|thesaurus_typedoc|propriete_date

Exemple d’une distribution simple

La première ligne, commençant par %, est la déclaration de l’inclusion. json_fichedistribution est le nom de l’inclusion, la suite :fiches_par_type indique le nom de la colonne dans la table (ici fiches_par_type).

Les lignes suivantes contiennent les informations de configuration de l’inclusion. Les barres verticales | sont les séparateurs entre les arguments qui peuvent être au nombre de trois

Le premier argument obligatoire est le nom d’un ou plusieurs corpus (séparés par une espace ou des virgules), dans notre exemple corpus_document. Ce sont les corpus sur lequel vont se faire la répartition.

Après les corpus vient l’argument du thésaurus qui va servir au regroupement (ici thesaurus_typedoc).

Enfin, le dernier argument est facultatif : il s’agit d’un champ de type date. En effet, à l’intérieur des regroupements suivant les mot-clés du thésaurus indiqués, les fiches vont être regroupées par année. En l’absence de l’indication du champ, les fiches seront regroupées suivant la date de création.

Un exemple de JSON résultant est le suivant :

{"_2":[{"year":2001,"fiches":[{"corpus":"document","id":4,"lang":"fr","date":"2001"}]}]}