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_5 [2016/01/05 22:55] Francesco Beretta [Extraction de toutes les unités de connaissance] |
td_histoire_numerique:exercice_5 [2016/01/05 23:12] Francesco Beretta [Extraction des naissances] |
||
---|---|---|---|
Ligne 80: | Ligne 80: | ||
==== Extraction des naissances ==== | ==== Extraction des naissances ==== | ||
+ | La requête peut évidemment être adaptée au questionnement du chercheur. On peut ainsi, par exemple, sélectionner uniquement les enseignements: | ||
+ | <code sql> | ||
+ | WITH tw1 AS | ||
+ | ( | ||
+ | SELECT UNNEST(xpath ('//in',texte_xml)) texte_xml | ||
+ | FROM objets.objet | ||
+ | WHERE pk_objet = 3 | ||
+ | ) | ||
+ | SELECT tw1.texte_xml, | ||
+ | (((xpath ('/in[@ana=1621]/@ana',tw1.texte_xml))[1])::text)::integer cle_type_information, | ||
+ | t1.nom type_information, | ||
+ | array_to_string(xpath('/in/dat/@when',tw1.texte_xml), '–') dates, | ||
+ | array_to_string(xpath('/in/en[@ana=1624]/@ref',tw1.texte_xml), ',') acteur, | ||
+ | t2.nom nom_acteur, | ||
+ | regexp_replace(array_to_string(xpath('/in/en[@ana=10]/descendant-or-self::*/text()',tw1.texte_xml), ' '), '\s{1,}', ' ', 'g' ) institution, | ||
+ | array_to_string(xpath('//en[@ana=1622]/descendant-or-self::*/text()',tw1.texte_xml), ',') matiere | ||
+ | |||
+ | |||
+ | FROM tw1 | ||
+ | JOIN vues.vm_objet_vue_de_base t1 ON t1.pk_objet = ( ( (xpath ('/in/@ana',tw1.texte_xml))[1])::text)::integer | ||
+ | LEFT JOIN vues.vm_objet_vue_de_base t2 ON t2.pk_objet = ( ( (xpath ('/in/en/@ref',tw1.texte_xml))[1])::text)::integer | ||
+ | WHERE (((xpath ('/in[@ana=1621]/@ana',tw1.texte_xml))[1])::text)::integer = 1621 | ||
+ | </code> | ||
+ | |||
+ | Et le résultat: | ||
+ | ^texte_xml^cle_type_information^type_information^dates^acteur^nom_acteur^institution^matière^ | ||
+ | |<in ana="1621"><dat when="1580" type="dd">En 1580</dat>, <en ref="1619" ana="1624">il</en> est devenu <en><en ref="1625" ana="1623">professeur</en> de <en ref="15" ana="1622">mathématiques</en></en> à l'<en ana="10">université de <en type="li">Heidelberg</en></en>[jusqu'en <dat when="1583" type="df">1583</dat>]</in>|1621|Enseignement|1580–1583|1619|Maestlin, Michael|université de Heidelberg|mathématiques| | ||
+ | |<in ana="1621"><en ref="1619" ana="1624">Il</en> a enseigné ensuite à l'<en ana="10">université de <en type="li">Tübingen</en></en> à partir de <dat when="1583" type="dd">1583</dat>, à l'âge de 47 ans</in>|1621|Enseignement|1583|1619|Maestlin, Michael|université de Tübingen| | | ||
+ |