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:09]
Francesco Beretta [Extraction de toutes les unités de connaissance]
Ligne 77: Ligne 77:
 |<in ana="​11"><​en ref="​17"​ ana="​23">​Nicolas-Claude Fabri de Peiresc</​en>​ (également orthographié de Peyresc), né le <dat when="​15801201"​ type="​du">​1er décembre 1580</​dat>​ à <en type="​li"​ ana="​22">​Belgentier</​en></​in>​|11|Naissance|15801201|17|Nicolas Claude Fabri de Peiresc| |<in ana="​11"><​en ref="​17"​ ana="​23">​Nicolas-Claude Fabri de Peiresc</​en>​ (également orthographié de Peyresc), né le <dat when="​15801201"​ type="​du">​1er décembre 1580</​dat>​ à <en type="​li"​ ana="​22">​Belgentier</​en></​in>​|11|Naissance|15801201|17|Nicolas Claude Fabri de Peiresc|
  
-La requête peut évidemment être adaptée à loisir en fonction du questionnement du chercheur. 
  
 ==== Extraction des naissances ==== ==== Extraction des naissances ====
  
 +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>​
td_histoire_numerique/exercice_5.txt · Dernière modification: 2016/03/03 10:26 par Francesco Beretta