8 Personnaliser ses opérations avec le langage GREL

Pendant quelques secondes, une information s’affiche après une modification des données réalisée via le menu. Elle indique la formule utilisée par OpenRefine.

Ex:

Ces formules se retrouvent aussi dans l’historique des traitements.

Les transformations personnalisées, la création de nouvelles colonnes, et les facettes personnalisées reposent sur des formules de ce type, saisies manuellement.

Elles utilisent le langage GREL (Google Refine Expression Language, ou General Refine Expression Language).

Documentation officielle https://github.com/OpenRefine/OpenRefine/wiki/General-Refine-Expression-Language

Essai de documentation en français (work in progress) : Annexe : Structure de données et GREL

8.1 L’écran de saisie des formules

Un même écran accessible par différent menus :

  • Editer les cellules > Transformer
  • Editer la colonne > Ajouter une colonne en fonction de cette colonne
  • Facettes > Personnaliser la facette textuelle/numérique
  • Colonne Toutes > Transformer

Trois onglets utiles: aide, historique, commandes favorites

Activité

Lire les premières parties du Mémo (modèle de données, structure du langage)

Annuler toutes les modifications du projet en cours.

Dans la colonne Authors, ouvrir le menu Editer les cellules > Transformer, puis utiliser une fonction du langage GREL pour supprimer les espaces initiaux et finaux.

    • Réponse
    • value.trim()

Utiliser une formule GREL pour passer le contenu de toutes les colonnes en majuscules.

    • Réponse
    • Menu Toutes > Transformer

      value.toUppercase()

Créer une nouvelle colonne Annee ne contenant que l’année de l’article (utiliser la fonction substring() )

    • Réponse 1 (la plus simple)
    • value.substring(-5,-1)

      substring extrait la chaîne allant du 5e caractère avant la fin au dernier caractère en excluant celui-ci.

    • Réponse 2 (inutilement complexe)
    • Réponse 3 (si l’année n’est pas toujours à la fin de la chaîne)