Tutoriels (texte)


Nous vous encourageons à regarder nos vidéos, elles ont été conçues pour vous tenir par la main et vous amener, pas à pas, à apprivoiser Sparklis pour que vous puissiez faire, aussi rapidement que possible, vos requêtes par vous-mêmes.
Pour autant, une fois une vidéo tutorielle regardée vous pouvez avoir besoin d’en lire le texte et de reprendre les étapes à votre rythme. C’est pourquoi nous le reproduisons ici.

Prise en main de l’interface

fenêtre de gauche, vous choisissez le type d’entité qui vous intéresse. Elles sont indiquées en orange : bibliographic record, book, collection, concept, document, image, issue, person et proceedings.
Une fois cette entité choisie, vous pouvez la qualifier, en cliquant sur une propriété, en violet, toujours dans la première fenêtre. Pour ajouter d’autres propriétés, il faut cliquer à nouveau sur le nom de l’entité, puis sur une nouvelle propriété.
La deuxième fenêtre sert à sélectionner/spécifier.
La troisième fenêtre sert à opérer des tris et des regroupements sur vos résultats de requête.
Si vous faites une erreur, cliquez sur la flèche de droite du programme et non sur celle de votre navigateur !
En cliquant sur la roue dentée, vous pouvez modifier certains paramètres, notamment le nombre de lignes de résultats. On valide ces paramètres en cliquant à nouveau sur la roue dentée, ce qui permet également de sortir de ces menus.
Une fois votre requête construite, vous pouvez copier un permalien qui vous permettra de la partager ou de la retrouver, vous pouvez aussi visualiser la requête Sparql que le programme a généré en cliquant sur le bouton Yasgui view. Sur cet écran, vous pouvez télécharger votre table de résultats en format csv et accéder aux menus Google graph.

Première requête

Comment trouver les articles d’un auteur en particulier ?

Bien entendu, si on ne veut que la liste des articles d’un auteur, il serait plus logique de faire cette recherche sur le portail Persee.fr, mais cette requête sera le point de départ d’autres requêtes, plus complexes, qu’on ne pourra faire que sur data.persee.fr

Je demande donc tous les documents, dans la fenêtre de gauche, je clique ensuite sur « has an identifier » pour obtenir leur identifiant. Je veux connaître l’auteur de ces articles : je reclique sur document puis sur « has an aut », cet auteur a un nom, je le demande également, toujours dans la fenêtre de gauche, celle des entités et des propriétés. Je tape alors dans le champ de saisie de la deuxième fenêtre le nom de l’auteur qui m’intéresse : en l’occurrence Gaston Maspero, je valide en faisant “entrée” puis “OK”.

Construire la requête.

La requête déjà construite

Les coauteurs d’un auteur en particulier

J’ai maintenant les articles d’un auteur, j’aimerais connaître les coauteurs de ces articles.

J’ajoute donc que ces documents ont aussi un auteur qui n’est PAS Gaston Maspero : je clique sur Document dans ma requête en train de s’écrire, je demande l’auteur, j’indique son nom dans le champ de saisie de la fenêtre du milieu, et j’ajoute « not » en cliquant sur ce mot dans la fenêtre de droite. Je peux ajouter que je veux que ce critère soit optionnel en cliquant sur « optionally » dans la fenêtre de droite, de cette façon, je garde les articles signés uniquement par Gaston Maspero.

Construire la requête.

La requête déjà construite.

Faire des listes

J’ai maintenant une liste d’articles de Gaston Maspero et, éventuellement, d’autres personnes. Pour chaque article, j’obtiens une ligne de résultat avec un premier auteur et un deuxième auteur. J’obtiens donc un grand nombre de lignes. Il serait plus intéressant d’avoir une ligne par article et la liste des auteurs.
En cliquant sur la colonne “2nd name” dans le tableau de résultats, je peux demander dans la troisième fenêtre “the list of”, j’indique ensuite, toujours dans la troisième colonne, en haut des choix proposés, que je veux la liste pour chaque identifiant.

Construire la requête.

La requête déjà construite.

Ordonner les résultats

Sparql est par essence un langage non ordonné. Les résultats de recherche apparaissent dans l’ordre dans lequel ils sont trouvés, en général en relation avec l’ordre dans lequel les données ont été entrées dans la base.
J’ai une liste d’articles avec la liste de leurs auteurs, j’aimerais les classer par nombre d’auteurs.
Dans la zone d’écriture de la requête, je clique dans la partie haute de la requête, avant les commandes d’agrégation en liste, pour faire apparaître toutes les colonnes. Dans le tableau de résultats, je clique sur la colonne 2nd name, puis sur “the number of” dans la troisième fenêtre, j’indique ensuite – toujours dans la troisième fenêtre – que je veux ce nombre pour chaque identifiant. Je clique ensuite, toujours dans la troisième fenêtre, sur “Highest to lowest” pour ranger les résultats par ordre décroissant de nombre d’auteurs.

Construire la requête.

La requête déjà construite.

Générer une courbe

Je recherche tous les documents qui ont un identifiant et une date de publication papier. En cliquant sur la colonne “identifier” dans le tableau de résultats puis sur “the number of” dans la troisième fenêtre, je demande le nombre d’identifiants pour chaque année : “for each Date of paper publication” dans la partie haute de la troisième fenêtre. En cliquant sur “lowest to highest”, j’ordonne les années par ordre croissant.
Je peux alors cliquer sur Yasgui view, cliquer sur Google charts, puis sur Chart config et choisir une courbe. Après quelques réglages, j’obtiens la courbe du volume de documents par année.

Construire la requête.

La requête déjà construite. (Il vous restera à cliquer sur Yasgui view, puis en bas de la requête Sparql, sur Google Charts, sur Chart config à droite, et choisir une courbe.)

Comment réutiliser une requête exemple ?

J’ai cliqué sur un permalien m’amenant à une requête qui donne tous les coauteurs de tous les auteurs de la base, par ordre décroissant de nombre de coauteurs.
Si vous voulez connaître les coauteurs d’un auteur donné, il suffit de cliquer sur le premier “that has a name” (dans la requête en train de s’écrire), de cliquer dans la troisième fenêtre “that is”, d’entrer dans le champ de saisie de la deuxième fenêtre le nom de l’auteur qui vous intéresse, de valider ce choix (retour, puis “OK”) et vous aurez les coauteurs de votre auteur. On peut alors supprimer la dernière partie de la requête, qui n’a plus lieu d’être si on a un seul auteur de référence. Et demander le titre ou l’identifiant des travaux communs et éventuellement effectuer un tri sur ceux-ci, en cliquant sur « anything » dans la requête et en en demandant le titre ou l’identifiant.

Construire la requête.

La requête de départ.

La requête déjà construite, avec, pour chaque identifiant, la liste des coauteurs

Rechercher plusieurs familles de mots dans les titres

Pour effectuer cette requête nous utiliserons des expressions régulières, si vous n’êtes pas familier de ce concept, regardez en ligne comment écrire ces expressions qui permettent notamment de rechercher différents mots dérivés d’un même radical.
Je commence par chercher des documents qui ont un titre et une date de publication papier. Si je veux consulter les documents, je peux ajouter l’identifiant, si les auteurs m’intéressent, je peux les ajouter aussi. Nous allons ici faire au plus simple et nous contenter du titre et de la date de publication papier.
Je veux préciser que les documents que je cherche contiennent dans leur titre un des mots « agriculture, agricole, agriculteur ou agricultrice » au singulier ou au pluriel, c’est donc ici qu’interviennent les expressions régulières. Je choisis donc, dans la troisième fenêtre « matches as regex », je saisis mon expression régulière (agric(ole?s?|ultures?|ulteurs?|ultrices?)) dans le champ de la deuxième fenêtre, je valide.
Je veux maintenant ajouter que je cherche aussi les documents qui contiennent les mots de la famille de « paysans » (paysa(ns?|nes?ries?)) et ceux de la famille de « rural » (rura(le?s?|ux|lités?)). Je sélectionne dans la requête en train de se former la regex et je choisis dans la troisième colonne, a choice between, je clique à nouveau sur « matches as regexp », je saisis ma deuxième regexp, et je recommence pour la troisième : « a choice between », matches as regex, je saisis.
Je donne ensuite un nom à cette colonne : je sélectionne dans ma requête en formation « a choice » et je saisis le nom que j’ai choisi : par exemple mot_cle.
Je vais maintenant faire une agrégation comme on l’a déjà vu sur d’autres requêtes : je sélectionne la colonne document, je demande the number of dans la troisième fenêtre, je précise pour chaque année de publication (« for each date of print publication ») et pour mes choix de mot_clé (« for each mot-cle ») et j’ordonne les années en cliquant sur « date of print publication » dans la requête puis sur « lowest to highest » dans la troisième fenêtre. Voilà !

Construire la requête.

La requête déjà construite

Générer plusieurs courbes à partir d’une requête

Nous nous éloignons de Sparklis pour voir comment traiter les données téléchargées à la suite d’une requête complexe.
J’ai sauvegardé le fichier csv de la requête précédente sur mon drive, et ouvert une feuille de calcul.
Je vais importer mes données.
(Fichier > Importer)
Je précise, au moment de l’import, que mes données sont séparées par des virgules.
Dans mon tableur, je crée trois nouvelles feuilles, je les nomme du nom de mes expressions régulières.
Dans la première feuille, celle où j’ai importé mes données, je les trie par la colonne B, celle des expressions régulières.
Je sélectionne les données propres à chaque expression régulière. Je les copie colle, expression régulière par expression régulière, dans l’onglet du même nom. J’ai donc sur chacune de mes trois feuilles les années, le nom de l’expression régulière et le nombre de documents.
Je nettoie les données : dans chacune des trois feuilles, je supprime la colonne B, qui est uniformément remplie avec le nom de l’onglet, ce n’est plus vraiment une information, je n’en ai plus besoin.
Dans la première feuille, maintenant vide, j’entre les noms de colonnes : Années, agri, paysan, rural.
Dans la première colonne j’entre une année un peu en amont de la première année de mes données. Mes données commencent en 1843, j’entre donc 1840, et je tire la poignée pour avoir des nombres croissants de 1840 à 2016.
Dans la première cellule de la colonne Agri, je colle cette formule :

=IFERROR(vlookup($A2,agri!$A$1:$B,2,false),0)

qui va aller regarder dans la feuille “agri” si elle trouve l’année présente dans cette ligne à la colonne A, si l’année est présente dans la feuille « agri », je récupérerai le nombre de documents correspondant, sinon, un 0 sera renseigné.
Je colle la formule et je tire la poignée pour la dupliquer à chaque ligne.
Je fais de même pour les autres colonnes, en changeant le nom de l’onglet dans la formule : je remplace agri! par paysan! puis par rural!.
Je peux maintenant cliquer sur l’icône des graphiques et choisir des courbes.

Je coche “utiliser la première colonne comme”
Et mes courbes se font toutes seules !
J’obtiens un graphique avec trois courbes représentant l’évolution comparée de l’utilisation de ces trois familles de mots dans les titres de l’intégralité des documents présents dans Persée.

Conseils : les bonnes pratiques sur Sparklis

  • Pour retourner en arrière, utiliser la flèche vers la gauche du programme et non celle du navigateur.
  • Pour enlever un choix, une étape, cliquer sur la croix rouge.
  • On peut taper la propriété que l’on recherche dans le champ de saisie de la première fenêtre si on ne veut pas le chercher dans la liste (taper “aut”, ou “publication”…)
  • Resélectionner la ressource si on veut lui appliquer plusieurs propriétés : Un auteur qui a un nom, (recliquer sur l’auteur) et une date de naissance.
  • Demander systématiquement et dès le début de la requête, le nom d’un auteur ou l’identifiant d’un document, à moins de vouloir les agréger dans un nombre.
  • Pour faire une liste, ou compter les éléments, cliquer sur la colonne concernée dans le tableau de résultats, puis sur le choix dans la troisième fenêtre.
  • Cliquer en haut de la requête pour faire apparaître toutes les colonnes une fois que vous avez fait une agrégation.
  • Cliquer en haut de la requête si le tri demandé dans la troisième fenêtre vous donne un 1 ou un 0 selon que l’élément remplit la condition ou non.
  • Dans la troisième fenêtre, repérer où se situe le “focus” en regardant la partie surlignée : <–
  • Utiliser l’identifiant de la ressource comme moyen d’identification unique et ainsi faciliter la sélection, le regroupement, le tri des résultats.
  • Pour les illustrations, pour sélectionner celles pour lesquelles nous avons les droits de diffusion, utiliser la propriété “that has an access rights” avec comme valeur “http://creativecommons.org/licenses/by-nc-sa/3.0/fr/”
  • Pour trier efficacement les auteurs et gérer les homonymes, pensez à demander le nom de famille (family name) et le prénom (given name) et non “le nom” (name).
  • Une propriété peut être optionnelle grâce à “optionaly” dans la troisième fenêtre.
  • Dans l’état actuel des choses, pour rechercher un terme qui contient une lettre accentuée, il vaut mieux passer par “matches as regex” dans la troisième fenêtre. (Très bientôt, vous pourrez les saisir dans le champ de saisie de la deuxième fenêtre, tout simplement).
  • Quand on fait plusieurs tris sur une même entité, par exemple le nombre d’articles et la liste des titres pour chaque auteur, l’option “for each aut” se duplique dans la fenêtre de droite, toujours cliquer sur celle du haut !