<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Dados Ligados |</title><link>https://clementgodbarge.com/pt/tag/dados-ligados/</link><atom:link href="https://clementgodbarge.com/pt/tag/dados-ligados/index.xml" rel="self" type="application/rss+xml"/><description>Dados Ligados</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>pt-pt</language><lastBuildDate>Fri, 28 Mar 2025 00:00:00 +0000</lastBuildDate><image><url>https://clementgodbarge.com/media/icon_hu_64a6c3bec25b3d7b.png</url><title>Dados Ligados</title><link>https://clementgodbarge.com/pt/tag/dados-ligados/</link></image><item><title>persNamer</title><link>https://clementgodbarge.com/pt/code/persnamer/</link><pubDate>Fri, 28 Mar 2025 00:00:00 +0000</pubDate><guid>https://clementgodbarge.com/pt/code/persnamer/</guid><description>&lt;h2 id="persnamer-ligar-a-tei-ao-virtual-international-authority-file"&gt;persNamer: ligar a TEI ao Virtual International Authority File&lt;/h2&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;O persNamer é uma ferramenta especializada em Python que simplifica a integração de dados de autoridade sobre pessoas, provenientes do VIAF (Virtual International Authority File), em documentos XML TEI. Ao converter identificadores VIAF em marcação TEI pronta a usar, o persNamer reduz consideravelmente o trabalho manual de criação de entradas estruturadas de pessoas para as edições académicas digitais.&lt;/p&gt;
&lt;h2 id="o-desafio-do-controlo-de-autoridade-em-tei"&gt;O desafio do controlo de autoridade em TEI&lt;/h2&gt;
&lt;p&gt;As edições académicas digitais exigem muitas vezes a identificação precisa de personagens históricas, com os seus nomes normalizados e datas de vida. Manter um controlo de autoridade coerente ao longo de um projeto obriga a:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Identificar as pessoas nos textos históricos&lt;/li&gt;
&lt;li&gt;Encontrar dados de autoridade a seu respeito&lt;/li&gt;
&lt;li&gt;Criar entradas TEI corretamente formatadas&lt;/li&gt;
&lt;li&gt;Garantir referências coerentes em todo o projeto&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Estes passos são, por norma, manuais, demorados e propensos a incoerências.&lt;/p&gt;
&lt;h2 id="como-funciona-o-persnamer"&gt;Como funciona o persNamer&lt;/h2&gt;
&lt;p&gt;O persNamer automatiza este fluxo de trabalho:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Obtenção dos dados VIAF&lt;/strong&gt;: a partir de um identificador VIAF, a ferramenta recupera os dados RDF por negociação de conteúdo HTTP&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Extração da informação essencial&lt;/strong&gt;: analisa o RDF para extrair o nome preferido, a data de nascimento e a data de morte&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Geração da marcação TEI&lt;/strong&gt;: cria dois fragmentos XML essenciais:
&lt;ul&gt;
&lt;li&gt;Uma &lt;strong&gt;entrada de ficheiro de autoridade&lt;/strong&gt; (elemento &lt;code&gt;&amp;lt;person&amp;gt;&lt;/code&gt; com um &lt;code&gt;xml:id&lt;/code&gt; gerado, &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;Uma &lt;strong&gt;etiqueta de anotação&lt;/strong&gt; separada (&lt;code&gt;&amp;lt;persName&amp;gt;&lt;/code&gt; com um atributo &lt;code&gt;ref&lt;/code&gt; que remete para a entrada de autoridade)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Esta dupla saída permite aos editores manter um ficheiro de autoridade centralizado e, ao mesmo tempo, inserir facilmente etiquetas de anotação nos seus textos TEI.&lt;/p&gt;
&lt;h2 id="características-principais"&gt;Características principais&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Geração normalizada de identificadores&lt;/strong&gt;: cria IDs XML coerentes no formato &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álise de RDF&lt;/strong&gt;: usa o &lt;code&gt;rdflib&lt;/code&gt; para extrair informação de várias propriedades 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;Interface de linha de comandos&lt;/strong&gt;: execução simples, com o número VIAF como único argumento obrigatório&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Saída detalhada&lt;/strong&gt;: fornece informação pormenorizada sobre o processamento, a par do XML final&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="exemplo-de-utilização"&gt;Exemplo de utilização&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 produz:&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="aplicações-nas-humanidades-digitais"&gt;Aplicações nas humanidades digitais&lt;/h2&gt;
&lt;p&gt;O persNamer é particularmente útil para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Edições académicas digitais que exijam controlo de autoridade&lt;/li&gt;
&lt;li&gt;Projetos de codificação TEI que trabalhem com figuras históricas&lt;/li&gt;
&lt;li&gt;Iniciativas de dados ligados que liguem documentos a registos de autoridade&lt;/li&gt;
&lt;li&gt;Garantir a coerência em grandes corpora TEI&lt;/li&gt;
&lt;li&gt;Ensinar os conceitos do controlo de autoridade em cursos de humanidades digitais&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="implementação"&gt;Implementação&lt;/h2&gt;
&lt;p&gt;O persNamer está escrito em Python e depende de:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;requests&lt;/code&gt; para os pedidos HTTP&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rdflib&lt;/code&gt; para a análise de RDF&lt;/li&gt;
&lt;li&gt;&lt;code&gt;lxml&lt;/code&gt; para o tratamento de XML&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;O código-fonte e a documentação estão no
.&lt;/p&gt;</description></item></channel></rss>