<?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/es/tag/viaf/</link><atom:link href="https://clementgodbarge.com/es/tag/viaf/index.xml" rel="self" type="application/rss+xml"/><description>VIAF</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>es-es</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/es/tag/viaf/</link></image><item><title>persNamer</title><link>https://clementgodbarge.com/es/code/persnamer/</link><pubDate>Fri, 28 Mar 2025 00:00:00 +0000</pubDate><guid>https://clementgodbarge.com/es/code/persnamer/</guid><description>&lt;h2 id="persnamer-conectar-la-tei-con-el-virtual-international-authority-file"&gt;persNamer: conectar la TEI con el Virtual International Authority File&lt;/h2&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;persNamer es una herramienta especializada en Python que agiliza la integración en documentos XML TEI de los datos de autoridad sobre personas de VIAF (Virtual International Authority File). Al convertir los identificadores VIAF en marcado TEI listo para usar, persNamer reduce en buena medida el trabajo manual que supone crear entradas de persona estructuradas para una edición crítica digital.&lt;/p&gt;
&lt;h2 id="el-reto-del-control-de-autoridades-en-tei"&gt;El reto del control de autoridades en TEI&lt;/h2&gt;
&lt;p&gt;Las ediciones críticas digitales suelen exigir una identificación precisa de los personajes históricos, con sus nombres normalizados y sus fechas de nacimiento y muerte. Mantener un control de autoridades coherente en todo un proyecto exige:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Identificar a las personas en los textos históricos&lt;/li&gt;
&lt;li&gt;Encontrar datos de autoridad sobre ellas&lt;/li&gt;
&lt;li&gt;Crear entradas TEI con el formato correcto&lt;/li&gt;
&lt;li&gt;Garantizar que las referencias sean coherentes en todo el proyecto&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Todo ello suele hacerse a mano, lleva tiempo y se presta a incoherencias.&lt;/p&gt;
&lt;h2 id="cómo-funciona-persnamer"&gt;Cómo funciona persNamer&lt;/h2&gt;
&lt;p&gt;persNamer automatiza este flujo de trabajo en tres pasos:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Obtiene los datos de VIAF&lt;/strong&gt;: a partir de un identificador VIAF, recupera los datos RDF mediante negociación de contenido HTTP&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Extrae la información clave&lt;/strong&gt;: analiza el RDF para extraer el nombre preferente y las fechas de nacimiento y muerte&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Genera el marcado TEI&lt;/strong&gt;: crea dos fragmentos XML esenciales:
&lt;ul&gt;
&lt;li&gt;Una &lt;strong&gt;entrada del fichero de autoridades&lt;/strong&gt; (elemento &lt;code&gt;&amp;lt;person&amp;gt;&lt;/code&gt; con un &lt;code&gt;xml:id&lt;/code&gt; generado, &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; e &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 de anotación&lt;/strong&gt; independiente (&lt;code&gt;&amp;lt;persName&amp;gt;&lt;/code&gt; con un atributo &lt;code&gt;ref&lt;/code&gt; que remite a la entrada de autoridad)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Esta doble salida permite al editor mantener un fichero de autoridades centralizado y, a la vez, insertar sin esfuerzo etiquetas de anotación en sus textos TEI.&lt;/p&gt;
&lt;h2 id="características-principales"&gt;Características principales&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Identificadores normalizados&lt;/strong&gt;: genera identificadores XML coherentes con el formato &lt;code&gt;pers-[apellido]-[inicial del nombre]&lt;/code&gt; (p. ej., &lt;code&gt;pers-deteligny-c&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Análisis de RDF&lt;/strong&gt;: usa &lt;code&gt;rdflib&lt;/code&gt; para extraer información de distintas propiedades RDF (p. ej., &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;Interfaz de línea de comandos&lt;/strong&gt;: se ejecuta con un número VIAF como único argumento obligatorio&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Salida detallada&lt;/strong&gt;: informa con detalle del procesamiento junto a la salida XML final&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="ejemplo-de-uso"&gt;Ejemplo de uso&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;Este comando produce:&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="aplicaciones-en-humanidades-digitales"&gt;Aplicaciones en humanidades digitales&lt;/h2&gt;
&lt;p&gt;persNamer resulta especialmente útil para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ediciones críticas digitales que necesitan control de autoridades&lt;/li&gt;
&lt;li&gt;Proyectos de codificación TEI que trabajan con personajes históricos&lt;/li&gt;
&lt;li&gt;Iniciativas de datos enlazados que conectan documentos con registros de autoridad&lt;/li&gt;
&lt;li&gt;Garantizar la coherencia en grandes corpus TEI&lt;/li&gt;
&lt;li&gt;Enseñar el control de autoridades en cursos de humanidades digitales&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="implementación"&gt;Implementación&lt;/h2&gt;
&lt;p&gt;persNamer está escrito en Python y depende de:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;requests&lt;/code&gt; para las peticiones HTTP&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rdflib&lt;/code&gt; para el análisis de RDF&lt;/li&gt;
&lt;li&gt;&lt;code&gt;lxml&lt;/code&gt; para el manejo de XML&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;El código fuente y la documentación están en el
.&lt;/p&gt;</description></item></channel></rss>