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 Prochaine révision Les deux révisions suivantes | ||
td_histoire_numerique:exercice_2 [2015/09/22 18:20] Francesco Beretta |
td_histoire_numerique:exercice_2 [2015/09/22 21:50] Francesco Beretta |
||
---|---|---|---|
Ligne 5: | Ligne 5: | ||
**Document à télécharger pour l'exercice de mardi 22 septembre**: {{:td_histoire_numerique:liste_notices_bnf.ods|liste_notices_BNF}} | **Document à télécharger pour l'exercice de mardi 22 septembre**: {{:td_histoire_numerique:liste_notices_bnf.ods|liste_notices_BNF}} | ||
- | ==== Requête dans les données de la Bibliothèque nationale ==== | + | Les indications concernant la production du document se trouvent sur [[td_histoire_numerique:creation_liste_notices_bnf|cette page]]. |
- | 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. | ||
- | <file> | ||
- | PREFIX egr: <http://rdvocab.info/ElementsGr2/> | ||
- | |||
- | SELECT DISTINCT ?s ?na ?fn ?annee ?pb ?gd ?bio | ||
- | |||
- | WHERE | ||
- | |||
- | { { { SELECT DISTINCT ?s ?bio | ||
- | |||
- | WHERE | ||
- | |||
- | { { ?s egr:biographicalInformation ?bio | ||
- | |||
- | FILTER ( contains(?bio, "mathém") || contains(?bio, "Mathém") ) | ||
- | |||
- | } | ||
- | |||
- | UNION | ||
- | |||
- | { ?s egr:biographicalInformation ?bio | ||
- | |||
- | FILTER ( contains(?bio, "astrono") || contains(?bio, "Astrono") ) | ||
- | |||
- | } | ||
- | |||
- | } | ||
- | |||
- | } | ||
- | |||
- | ?s egr:dateOfBirth ?bd | ||
- | |||
- | OPTIONAL | ||
- | |||
- | { ?s <http://xmlns.com/foaf/0.1/name> ?na } | ||
- | |||
- | OPTIONAL | ||
- | |||
- | { ?s <http://xmlns.com/foaf/0.1/familyName> ?fn } | ||
- | |||
- | OPTIONAL | ||
- | |||
- | { ?s egr:placeOfBirth ?pb } | ||
- | |||
- | OPTIONAL | ||
- | |||
- | { ?s <http://xmlns.com/foaf/0.1/gender> ?gd } | ||
- | |||
- | } | ||
- | |||
- | BIND(strbefore(strafter(str(?bd), "http://data.bnf.fr/date/"), "/") AS ?annee) | ||
- | |||
- | FILTER ( ( ?annee> "1100" ) && ( ?annee <"1761" ) ) | ||
- | |||
- | } | ||
- | |||
- | ORDER BY ?annee | ||
- | </file> | ||
- | <code sparql> | ||
- | </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 === | ||
- | |||
- | * Revenir à 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 | ||
- | * Ouvrir une nouvelle feuille de calcul dans le logiciel de tableur (Calc pour LibreOffice/OpenOffice; Excel dans la suite Microsoft) | ||
- | * Coller avec collage spécial dans la première cellule de la feuille de calcul: A1 et choisir 'Texte non formaté'. | ||
- | * Dans la boîte de dialogue mettre 'Virgule' comme séparateur | ||
- | * Mettre le 'Type de colonne':'Texte' pour la colonne 'annee' | ||
- | * 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' | ||
- | * Dans la première cellule qui contient les données insérer la formule: =SI(ESTVIDE(B2);C2;B2) | ||
- | * Copier-coller cette formule dans toutes les cellules de la colonne sauf la première ligne | ||
- | * Ajouter une colonne annee_mediane après la colonne année | ||
- | * Insérer dans toutes les cellules de cette colonne la formule =SI(ESTERREUR(CHERCHE("-";E2)) ; E2; CONCATENER(GAUCHE(E2;2);"51")) | ||
- | * 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 'notice' après la colonne 'bio' et mettre dans toutes les cellules cette formule: =CONCATENER(D2;" (";H2;") ";J2;" [";A2;"]") | ||
- | * 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}} | ||
===== Annotation du document ===== | ===== Annotation du document ===== | ||
Ligne 117: | Ligne 33: | ||
| {eud}TTT{/eud} | en-tête d'unité documentaire | tei:head | A placer toujours au début d'une unité documentaire pour disposer d'un titre | | | {eud}TTT{/eud} | en-tête d'unité documentaire | tei:head | A placer toujours au début d'une unité documentaire pour disposer d'un titre | | ||
| {seg}TTT{/seg} | segment | tei:seg | Au dessous du niveau paragraphe, toujours à l'intérieur d'un paragraphe, regroupe en règle générale plusieurs propositions. | | | {seg}TTT{/seg} | segment | tei:seg | Au dessous du niveau paragraphe, toujours à l'intérieur d'un paragraphe, regroupe en règle générale plusieurs propositions. | | ||
- | | {co0}TTT{/co} | contentu | tei:seg | | | + | | {co0}TTT{/co} | contentu | tei:seg | | |
- | | {in0}TTT{/in} | information | tei:seg | | | + | | {in0}TTT{/in} | information | tei:seg | | |
- | | {en0}TTT{/en} | entité nommée | tei:name | | | + | | {en0}TTT{/en} | entité nommée | tei:name | | |
- | | {ro0}TTT{/ro} | référence à un objet | tei:rs | | | + | | {ro0}TTT{/ro} | référence à un objet | tei:rs | | |
- | | {dat}TTT{/dat} | date | tei:date | | | + | | {dat}TTT{/dat} | date | tei:date | | |
- | Dans l'espace de noms du TD, le nom des balises possède deux caractères si la balise est susceptible d'être associée à un objet de la base de données, trois si cette possibilité est exclue. \\ Pour les balises à deux lettres, un 0 est ajouté si la référence à un objet dans la base de données est omise. | + | Dans l'espace de noms du TD, le nom des balises possède deux caractères si la balise est susceptible d'être associée à un objet de la base de données, trois si cette possibilité est exclue. \\ Pour les balises à deux lettres, un 0 est ajouté si la référence à un objet dans la base de données est omise. |
=== Types === | === Types === | ||
Ligne 144: | Ligne 60: | ||
=== Dates === | === Dates === | ||
- | Nous utilisons pour les dates le [[https://fr.wikipedia.org/wiki/ISO_8601|format ISO 8601]]. \\ | + | Nous utilisons pour les dates le [[https://fr.wikipedia.org/wiki/ISO_8601|format ISO 8601]]. \\ |
On saisira les dates sous forme de texte au format ISO 8601, ce qui permet de traiter les dates tronquées (seulement l'année, ou seulement l'année et le mois, etc.) | On saisira les dates sous forme de texte au format ISO 8601, ce qui permet de traiter les dates tronquées (seulement l'année, ou seulement l'année et le mois, etc.) | ||
- | \\ Mise en forme des dates : \\ \\ {dat20001101} le premier novembre de la dernière année du siècle précédent{/dat} \\ \\ | + | \\ Mise en forme des dates : \\ \\ {dat20001101} le premier novembre de la dernière année du siècle précédent{/dat} |
| dd | Date de début | | | dd | Date de début | |