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 10:04] Francesco Beretta [Principes d'annotation] |
td_histoire_numerique:exercice_2 [2015/09/22 21:40] Francesco Beretta |
||
---|---|---|---|
Ligne 9: | Ligne 9: | ||
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. | 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. | ||
- | <code sparql>PREFIX egr: <http://rdvocab.info/ElementsGr2/> | + | <code sparql> |
+ | PREFIX egr: <http://rdvocab.info/ElementsGr2/> | ||
SELECT DISTINCT ?s ?na ?fn ?annee ?pb ?gd ?bio | SELECT DISTINCT ?s ?na ?fn ?annee ?pb ?gd ?bio | ||
+ | |||
WHERE | 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 } | ||
- | } | + | { { { SELECT DISTINCT ?s ?bio |
- | BIND(STRBEFORE(STRAFTER(STR(?bd), "http://DATA.bnf.fr/date/"), "/") AS ?annee) | + | |
- | FILTER ( ( ?annee > "1100" ) && ( ?annee < "1761" ) ) | + | 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 | ORDER BY ?annee | ||
</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]]. | 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 === | === Création et nettoyage du fichier à encoder === | ||
Ligne 60: | Ligne 84: | ||
* 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 | ||
* 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 =SI(ESTERREUR(CHERCHE("-";E2)) ; E2; CONCATENER(GAUCHE(E2;2);"51")) | + | * 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: =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;"]") | * 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' | * 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}} |
===== Annotation du document ===== | ===== Annotation du document ===== | ||
Ligne 73: | Ligne 97: | ||
Documentation de LibreOffice (traduction en français): | Documentation de LibreOffice (traduction en français): | ||
- | * [[https://help.libreoffice.org/Common/Find_and_Replace/fr|Rechercher & remplacer]] | + | * [[https://help.libreoffice.org/Common/Find_and_Replace/fr|Rechercher & remplacer]] |
- | * [[https://help.libreoffice.org/Common/List_of_Regular_Expressions/fr|Liste des expressions régulières]] | + | * [[https://help.libreoffice.org/Common/List_of_Regular_Expressions/fr|Liste des expressions régulières]] |
- | + | ||
=== Recherche de similarités === | === Recherche de similarités === | ||
Ligne 83: | Ligne 105: | ||
* [[https://fr.wikipedia.org/wiki/N-gramme|N-Gram]] | * [[https://fr.wikipedia.org/wiki/N-gramme|N-Gram]] | ||
* [[https://books.google.com/ngrams/graph?content=Galileo+Galilei,Cartesio,Descartes,Copernico,Copernicus,Kopernik&year_start=1800&year_end=2000&corpus=22&smoothing=3&share=&direct_url=t1;,Galileo Galilei;,c0;.t1;,Cartesio;,c0;.t1;,Descartes;,c0;.t1;,Copernico;,c0;.t1;,Copernicus;,c0;.t1;,Kopernik;,c0|Google NGram viewer]] – explication : [[https://fr.wikipedia.org/wiki/Ngram_Viewer|Ngram Viewer]] | * [[https://books.google.com/ngrams/graph?content=Galileo+Galilei,Cartesio,Descartes,Copernico,Copernicus,Kopernik&year_start=1800&year_end=2000&corpus=22&smoothing=3&share=&direct_url=t1;,Galileo Galilei;,c0;.t1;,Cartesio;,c0;.t1;,Descartes;,c0;.t1;,Copernico;,c0;.t1;,Copernicus;,c0;.t1;,Kopernik;,c0|Google NGram viewer]] – explication : [[https://fr.wikipedia.org/wiki/Ngram_Viewer|Ngram Viewer]] | ||
- | |||
- | |||
- | |||
==== Principes d'annotation ==== | ==== Principes d'annotation ==== | ||
+ | |||
+ | Le principe de l'[[https://fr.wikipedia.org/wiki/Extensible_Markup_Language|encodage en format XML]] mais de manière simplifiée. | ||
=== Balises === | === Balises === | ||
+ | |{ud0_}TTT{/ud} | unité documentaire | tei:div | Au dessus du niveau paragraphe, enveloppe un paragraphe | | ||
+ | | {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. | | ||
+ | | {co0}TTT{/co} | contentu | tei:seg | | | ||
+ | | {in0}TTT{/in} | information | tei:seg | | | ||
+ | | {en0}TTT{/en} | entité nommée | tei:name | | | ||
+ | | {ro0}TTT{/ro} | référence à un objet | tei:rs | | | ||
+ | | {dat}TTT{/dat} | date | tei:date | | | ||
- | |{ud0_}TTT{/ud} | unité documentaire| tei:div | Au dessus du niveau paragraphe, enveloppe un paragraphe | | + | 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. |
- | |{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.| | + | |
- | |{co0}TTT{/co} | contentu| tei:seg| | | + | |
- | | {in0}TTT{/in}| information| tei:seg| | | + | |
- | |{en0}TTT{/en}| entité nommée| tei:name| | | + | |
- | |{ro0}TTT{/ro}| référence à un objet| tei:rs| | | + | |
- | |{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.\\ | + | |
=== Types === | === Types === | ||
- | |||
On peut également ajouter un sigle sur deux caractères indiquant le type d'objet après le chiffre. | On peut également ajouter un sigle sur deux caractères indiquant le type d'objet après le chiffre. | ||
- | | ai | Acteur [individuel]| | + | | ai | Acteur [individuel] | |
- | | ac | Acteur collectif| | + | | ac | Acteur collectif | |
- | | oa | Objet abstrait| | + | | oa | Objet abstrait | |
- | | cs | Caractère social| | + | | cs | Caractère social | |
- | |om| Objet matériel| | + | | om | Objet matériel | |
- | | bi| Bibliographie| | + | | bi | Bibliographie | |
- | |ud| Unité documentaire| | + | | ud | Unité documentaire | |
- | |od| Objet digital| | + | | od | Objet digital | |
- | |li| Lieu| | + | | li | Lieu | |
- | |im| Immeuble| | + | | im | Immeuble | |
- | + | ||
- | Par exemple: | + | |
- | {en0cs}mathématicien{/en} | + | |
- | + | ||
- | \\ | + | |
+ | Par exemple: {en0cs}mathématicien{/en} | ||
=== 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| | + | |
- | |df | Date de fin| | + | |
- | |di | Date intermédiaire| | + | |
- | |du | Date unique| | + | |
+ | | dd | Date de début | | ||
+ | | df | Date de fin | | ||
+ | | di | Date intermédiaire | | ||
+ | | du | Date unique | | ||
- | | [e] | Date exacte | | + | | [e] | Date exacte | |
- | | r | Date reconstituée | | + | | r | Date reconstituée | |
- | | p | Date postulée | | + | | p | Date postulée | |
Il était en fonction au {dat20001115r_di} milieu du mois de novembre de la dernière année du siècle précédent{/dat}. | Il était en fonction au {dat20001115r_di} milieu du mois de novembre de la dernière année du siècle précédent{/dat}. | ||
+ | |||
+ | \\ | ||
+ |