Ci-dessous, les différences entre deux révisions de la page.
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:10] 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. |
- | A titre d'exemple, on trouvera 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]]. | + | 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]]. |
- | 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éfaut: HTML. Le résultat de la requête est ainsi mis en forme et peut être parcouru. | + | 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 43: | 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étrage, deux 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}} | ||