Outils pour utilisateurs

Outils du site


td_histoire_numerique:creation_liste_notices_bnf

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
td_histoire_numerique:creation_liste_notices_bnf [2015/09/22 22:06]
Francesco Beretta
td_histoire_numerique:creation_liste_notices_bnf [2015/09/25 07:19] (Version actuelle)
Francesco Beretta [Requête dans les données de la Bibliothèque nationale]
Ligne 5: Ligne 5:
 ==== Requête dans les données de la Bibliothèque nationale ==== ==== Requête dans les données de la Bibliothèque nationale ====
  
-La Bibliothèque nationale de France a retranscrit une partie des informations que contiennent ses notices d'​autorité sous forme de données publiées sur le web avec des technologies dites du [[https://​fr.wikipedia.org/​wiki/​Web_s%C3%A9mantique|web des données ou web sémantique]]. Voir la [[http://​www.bnf.fr/​fr/​professionnels/​innov_num_web_donnees.html|documentation de ce projet]] et une présentation du [[http://​data.bnf.fr/​semanticweb|modèle de données ​adopté]].+La Bibliothèque nationale de France ​(BNF) a retranscrit une partie des informations que contiennent ses notices d'​autorité sous forme de données publiées sur le web avec des technologies dites du [[https://​fr.wikipedia.org/​wiki/​Web_s%C3%A9mantique|web des données ou web sémantique]]. Voir la [[http://​www.bnf.fr/​fr/​professionnels/​innov_num_web_donnees.html|documentation de ce projet]] et une présentation du [[http://​data.bnf.fr/​semanticweb|modèle de données]] ​adopté par la BNF.
  
-On interroge le point d'accès SPARQL de la Bibliothèque nationale de France pour créer un ensemble de données tirées des notices d'​autorité. Ouvrir l'[[http://data.bnf.fr/sparql/|Editeur SPARQL de data.bnf.fr]] et coller ​dans l'​espace Rêquete la requête qui suit, tout en laissant ​le format de sortie par défautHTMLLe résultat de la requête est ainsi mis en forme et peut être parcouru.+A titre d'exemple, on peut comparer ​la [[http://catalogue.bnf.fr/ark:/12148/​cb118976048/​PUBLIC|notice '​Nicolas Copernic'​ du catalogue général]] et celle mise à disposition ​dans le cadre du [[http://data.bnf.fr/​11897604/​nicolas_copernic/​|projet web des données]].
  
 +Pour les intéressés,​ une présentation des concepts du web sémantique,​ dans le contexte du mouvement //Open Data//, se trouve [[http://​phn-wiki.ish-lyon.cnrs.fr/​doku.php?​id=thatcamp_2014:​session_thatcamp2014|sur cette page]].
 +
 +\\
 +Il est donc désormais possible d'​interroger avec le langage SPARQL le point d'​accès des données de la BNF pour créer un ensemble de données tirées des notices d'​autorité. ​
 +
 +Pour ce faire, il faudra ouvrir l'​[[http://​data.bnf.fr/​sparql/​|Editeur SPARQL de data.bnf.fr]] et coller dans l'​espace '​Rêquete'​ la requête qui suit, tout en laissant le format de sortie par défaut: HTML.
 +
 +Le résultat de la requête est ainsi présenté sous forme de table et peut être parcouru.
 +
 +\\
 +**Requête:​**
 <code sparql> <code sparql>
 PREFIX ​ egr:  <​http://​rdvocab.info/​ElementsGr2/>​ PREFIX ​ egr:  <​http://​rdvocab.info/​ElementsGr2/>​
Ligne 41: Ligne 52:
 </​code>​ </​code>​
  
-Pour les intéressés,​ une présentation des concepts du web sémantique,​ dans le contexte du mouvement //Open Data//, se trouve [[http://​phn-wiki.ish-lyon.cnrs.fr/​doku.php?​id=thatcamp_2014:​session_thatcamp2014|sur cette page]]. 
  
-=== Création et nettoyage du fichier à encoder ===+Avec cette requête nous créons d'​abord une population d'​acteurs dont les notices biographiques de la BNF parlent de mathématiques ou d'​astronomie,​ puis nous ajoutons quelques propriétés de manière optionnelle (c'​est-à-dire qu'​elles peuvent être renseignées ou pas dans les données BNF) concernant le nom, l'​année et le lieu de naissance. 
 + 
 +Grâce au filtre sur les années de naissance, la période étudiée va du début du 12e siècle jusqu'​à la deuxième moitié du 18e siècle. 
 + 
 +Pour les curieux, sous le champs '​Requête'​ de l'​éditeur SPARQL de data.bnf.fr vous trouverez des exemples d'​autres requêtes qu'on peut effectuer. 
 +\\ 
 + 
 +==== Création et nettoyage du fichier à encoder ​====
  
-    * Revenir ​à la page de la '​Requête'​ et changer le '​Format du résultat'​ à CSV (comma-separated values) +    * Revenez ​à la page de la '​Requête'​ et changer le '​Format du résultat'​ à CSV (comma-separated values) 
-    * Reexécuter al requête, ​sélectionner ​toute la page du résultat et la copier dans le presse-papier +    * Re-exécutez la requête. En fonction du navigateur utilisé et de son paramétragedeux cas de figure sont possibles:  
-    Ouvrir ​une nouvelle feuille de calcul dans le logiciel de tableur (Calc pour LibreOffice/​OpenOffice;​ Excel dans la suite Microsoft) +      * le texte séparé par virgule s'​affiche:​  
-    Coller ​avec collage spécial dans la première cellule de la feuille de calcul: A1 et choisir 'Texte non formaté'​. +         * dans ce cas, sélectionnez ​toute la page du résultat et copiez-la copier dans le presse-papier 
-      * Dans la boîte de dialogue mettre '​Virgule'​ comme séparateur +         ​ouvrez ​une nouvelle feuille de calcul dans le logiciel de tableur (Calc pour LibreOffice/​OpenOffice;​ Excel dans la suite Microsoft) 
-      * Mettre ​le 'Type de colonne'​:'Texte' pour la colonne 'annee+         ​collez ​avec collage spécial dans la première cellule de la feuille de calcul: A1 et choisir 'Texte non formaté'​. 
-      * Importer ​et vérifier le résultat +      ​* le texte du document au format CSV est proposé en téléchargement 
-    * Sauvegarder le nouveau fichier avec le nom '​liste_notices_BNF'​ au format .ods ou .xls+         * dans ce cas, enregistrez-le sur votre disque dur, dans un dossier du TD histoire numérique consacré à l'​exercice 2, en ajoutant au nom le suffixe '​.csv'​. Par exemple, appelez le fichier '​liste_notices_BNF.csv'​. 
 +         * démarrez le logiciel Calc de la suite LibreOffice (ou eXcel de la suite Microsoft Office) et ouvrez le fichier que vous venez d'​enregistrer 
 +    ​* Dans la boîte de dialogue ​qui s'​ouvre au moment de coller le contenu du presse-parier,​ ou lors de l'​ouverture du fichier enregistré:​ 
 +      * mettre le jeu de caractères à UTF-8 
 +      * mettre '​Virgule'​ comme séparateur 
 +      * pour la colonne '​annee',​ mettre ​le 'Type de colonne' ​à '​Texte'​ 
 +      * importer ​et vérifier le résultat 
 +    ​* **Sauvegarder le nouveau fichier** avec le nom '​liste_notices_BNF'​ au format .ods ou .xls
  
     * Ajouter une colonne avant la colonne '​annee'​ qu'on va appeler '​nom'​     * Ajouter une colonne avant la colonne '​annee'​ qu'on va appeler '​nom'​
-    * Dans la première cellule qui contient les données insérer la formule: =SI(ESTVIDE(B2);​C2;​B2) +    * Dans la première cellule qui contient les données ​(normalement la cellule D2) insérer la formule: ​<​code>​=SI(ESTVIDE(B2);​C2;​B2)</​code>​ 
-    * Copier-coller cette formule dans toutes les cellules de la colonne sauf la première ligne+    * Copier-coller cette formule dans toutes les cellules de la colonne sauf la première ligne
 +      * copier la cellule D2 
 +      * sélectionner toutes les cellules de la colonne = sélectionner la première, appuyer sur la touche majuscule, sélectionner la dernière cellule 
 +      * exécuter la commande: '​Collage spécial'​ et cocher uniquement la case '​formule'​
     * Ajouter une colonne annee_mediane après la colonne année     * Ajouter une colonne annee_mediane après la colonne année
     * Insérer dans toutes les cellules de cette colonne la formule <​code>​=SI(ESTERREUR(CHERCHE("​-";​E2)) ; E2; CONCATENER(GAUCHE(E2;​2);"​51"​))</​code>​     * Insérer dans toutes les cellules de cette colonne la formule <​code>​=SI(ESTERREUR(CHERCHE("​-";​E2)) ; E2; CONCATENER(GAUCHE(E2;​2);"​51"​))</​code>​
-    * Ajouter une colonne '​naissance'​ avant la colonne '​gd'​ (gender) et mettre cette formule dans toutes les cellules: =SI(ESTVIDE(G2);​F2;​CONCATENER(G2;",​ ";​F2)) +    * Ajouter une colonne '​naissance'​ avant la colonne '​gd'​ (gender) et mettre cette formule dans toutes les cellules: ​<​code>​=SI(ESTVIDE(G2);​F2;​CONCATENER(G2;",​ ";F2))</​code>​ 
-    * Ajouter une colonne '​notice'​ après la colonne '​bio'​ et mettre dans toutes les cellules cette formule: =CONCATENER(D2;"​ (";​H2;"​) ";​J2;"​ [";​A2;"​]"​)+    * Ajouter une colonne '​notice'​ après la colonne '​bio'​ et mettre dans toutes les cellules cette formule: ​<​code>​=CONCATENER(D2;"​ (";​H2;"​) ";​J2;"​ [";​A2;"​]"​)</​code>​
     * Trier les données d'​après les colonnes '​annee_mediane'​ et '​nom'​     * Trier les données d'​après les colonnes '​annee_mediane'​ et '​nom'​
  
 On obtient ce résultat: {{:​td_histoire_numerique:​liste_notices_bnf.ods|liste_notices_BNF}} On obtient ce résultat: {{:​td_histoire_numerique:​liste_notices_bnf.ods|liste_notices_BNF}}
  
td_histoire_numerique/creation_liste_notices_bnf.1442952412.txt.gz · Dernière modification: 2015/09/22 22:06 par Francesco Beretta