Outils pour utilisateurs

Outils du site


td_histoire_numerique:exercice_5

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
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| |
 + 
td_histoire_numerique/exercice_5.txt · Dernière modification: 2016/03/03 10:26 par Francesco Beretta