<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>VIAF |</title><link>https://clementgodbarge.com/ca/tag/viaf/</link><atom:link href="https://clementgodbarge.com/ca/tag/viaf/index.xml" rel="self" type="application/rss+xml"/><description>VIAF</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>ca</language><lastBuildDate>Fri, 28 Mar 2025 00:00:00 +0000</lastBuildDate><image><url>https://clementgodbarge.com/media/icon_hu_64a6c3bec25b3d7b.png</url><title>VIAF</title><link>https://clementgodbarge.com/ca/tag/viaf/</link></image><item><title>persNamer</title><link>https://clementgodbarge.com/ca/code/persnamer/</link><pubDate>Fri, 28 Mar 2025 00:00:00 +0000</pubDate><guid>https://clementgodbarge.com/ca/code/persnamer/</guid><description>&lt;h2 id="persnamer-connectar-la-tei-amb-el-virtual-international-authority-file"&gt;persNamer: connectar la TEI amb el Virtual International Authority File&lt;/h2&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;persNamer és una eina especialitzada en Python que facilita la integració en documents TEI XML de dades d’autoritat sobre persones procedents del VIAF (Virtual International Authority File). En convertir els identificadors VIAF en marcatge TEI a punt per fer servir, persNamer redueix notablement la feina manual que comporta crear entrades de persona estructurades per a les edicions acadèmiques digitals.&lt;/p&gt;
&lt;h2 id="el-repte-del-control-dautoritats-en-tei"&gt;El repte del control d’autoritats en TEI&lt;/h2&gt;
&lt;p&gt;Les edicions acadèmiques digitals sovint exigeixen identificar amb precisió els personatges històrics, incloent-hi els seus noms normalitzats i les dates de naixement i mort. Mantenir un control d’autoritats coherent en tot un projecte requereix:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Identificar les persones en els textos històrics&lt;/li&gt;
&lt;li&gt;Trobar-ne dades d’autoritat&lt;/li&gt;
&lt;li&gt;Crear entrades TEI correctament formatades&lt;/li&gt;
&lt;li&gt;Garantir referències coherents al llarg de tot el projecte&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Aquests passos solen ser manuals, lents i propensos a la incoherència.&lt;/p&gt;
&lt;h2 id="com-funciona-persnamer"&gt;Com funciona persNamer&lt;/h2&gt;
&lt;p&gt;persNamer automatitza aquest flux de treball:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Obté les dades del VIAF&lt;/strong&gt;: a partir d’un identificador VIAF, l’eina recupera les dades RDF mitjançant negociació de contingut HTTP&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;N’extreu la informació clau&lt;/strong&gt;: analitza l’RDF per extreure’n el nom preferit, la data de naixement i la data de mort&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Genera el marcatge TEI&lt;/strong&gt;: crea dos fragments XML essencials:
&lt;ul&gt;
&lt;li&gt;Una &lt;strong&gt;entrada de fitxer d’autoritats&lt;/strong&gt; (element &lt;code&gt;&amp;lt;person&amp;gt;&lt;/code&gt; amb un &lt;code&gt;xml:id&lt;/code&gt; generat, &lt;code&gt;&amp;lt;persName&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;birth&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;death&amp;gt;&lt;/code&gt; i &lt;code&gt;&amp;lt;idno type=&amp;quot;VIAF&amp;quot;&amp;gt;&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Una &lt;strong&gt;etiqueta d’anotació&lt;/strong&gt; a part (&lt;code&gt;&amp;lt;persName&amp;gt;&lt;/code&gt; amb un atribut &lt;code&gt;ref&lt;/code&gt; que apunta a l’entrada d’autoritat)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Aquesta doble sortida permet als editors mantenir un fitxer d’autoritats centralitzat i, alhora, inserir fàcilment etiquetes d’anotació en els seus textos TEI.&lt;/p&gt;
&lt;h2 id="característiques-principals"&gt;Característiques principals&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Generació d’identificadors normalitzats&lt;/strong&gt;: crea identificadors XML coherents amb el format &lt;code&gt;pers-[familyname]-[givenname initial]&lt;/code&gt; (p. ex., &lt;code&gt;pers-deteligny-c&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Anàlisi d’RDF&lt;/strong&gt;: fa servir &lt;code&gt;rdflib&lt;/code&gt; per extreure informació de diverses propietats RDF (p. ex., &lt;code&gt;rdfs:label&lt;/code&gt;, &lt;code&gt;schema:name&lt;/code&gt;, &lt;code&gt;viaf:mainHead&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Interfície de línia d’ordres&lt;/strong&gt;: s’executa amb un número VIAF com a únic argument obligatori&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sortida detallada&lt;/strong&gt;: proporciona informació detallada del processament juntament amb l’XML final&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="exemple-dús"&gt;Exemple d’ús&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;python persNamer.py &lt;span class="m"&gt;314802260&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Aquesta ordre produeix:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;person&lt;/span&gt; &lt;span class="na"&gt;xml:id=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;pers-deteligny-c&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;persName&amp;gt;&lt;/span&gt;Charles deTéligny&lt;span class="nt"&gt;&amp;lt;/persName&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;birth&amp;gt;&lt;/span&gt;1535&lt;span class="nt"&gt;&amp;lt;/birth&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;death&amp;gt;&lt;/span&gt;1572-08-24&lt;span class="nt"&gt;&amp;lt;/death&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;idno&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;VIAF&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;314802260&lt;span class="nt"&gt;&amp;lt;/idno&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;/person&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;persName&lt;/span&gt; &lt;span class="na"&gt;ref=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;#pers-deteligny-c&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Charles deTéligny&lt;span class="nt"&gt;&amp;lt;/persName&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="aplicacions-en-humanitats-digitals"&gt;Aplicacions en humanitats digitals&lt;/h2&gt;
&lt;p&gt;persNamer és especialment útil per a:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Edicions acadèmiques digitals que requereixen control d’autoritats&lt;/li&gt;
&lt;li&gt;Projectes de codificació TEI que treballen amb personatges històrics&lt;/li&gt;
&lt;li&gt;Iniciatives de dades enllaçades que connecten documents amb registres d’autoritat&lt;/li&gt;
&lt;li&gt;Garantir la coherència en grans corpus TEI&lt;/li&gt;
&lt;li&gt;Ensenyar els conceptes del control d’autoritats en cursos d’humanitats digitals&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="implementació"&gt;Implementació&lt;/h2&gt;
&lt;p&gt;persNamer està escrit en Python i depèn de:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;requests&lt;/code&gt; per a les peticions HTTP&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rdflib&lt;/code&gt; per a l’anàlisi d’RDF&lt;/li&gt;
&lt;li&gt;&lt;code&gt;lxml&lt;/code&gt; per a la gestió de l’XML&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;El codi font i la documentació són al
.&lt;/p&gt;</description></item></channel></rss>