<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Linked Data |</title><link>https://clementgodbarge.com/it/tag/linked-data/</link><atom:link href="https://clementgodbarge.com/it/tag/linked-data/index.xml" rel="self" type="application/rss+xml"/><description>Linked Data</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>it-it</language><lastBuildDate>Fri, 28 Mar 2025 00:00:00 +0000</lastBuildDate><image><url>https://clementgodbarge.com/media/icon_hu_64a6c3bec25b3d7b.png</url><title>Linked Data</title><link>https://clementgodbarge.com/it/tag/linked-data/</link></image><item><title>persNamer</title><link>https://clementgodbarge.com/it/code/persnamer/</link><pubDate>Fri, 28 Mar 2025 00:00:00 +0000</pubDate><guid>https://clementgodbarge.com/it/code/persnamer/</guid><description>&lt;h2 id="persnamer-collegare-la-tei-al-virtual-international-authority-file"&gt;persNamer: collegare la TEI al Virtual International Authority File&lt;/h2&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;persNamer è uno strumento Python specializzato che facilita l’integrazione, nei documenti XML TEI, dei dati di autorità sulle persone forniti da VIAF (Virtual International Authority File). Convertendo gli identificatori VIAF in marcatura TEI pronta all’uso, riduce di molto il lavoro manuale necessario per creare voci di persona strutturate in un’edizione critica digitale.&lt;/p&gt;
&lt;h2 id="il-controllo-di-autorità-nella-tei"&gt;Il controllo di autorità nella TEI&lt;/h2&gt;
&lt;p&gt;Le edizioni critiche digitali richiedono spesso di identificare con precisione i personaggi storici, con i nomi normalizzati e le date di nascita e di morte. Mantenere un controllo di autorità coerente in tutto un progetto richiede di:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;identificare le persone nei testi storici&lt;/li&gt;
&lt;li&gt;trovare dati autorevoli su di loro&lt;/li&gt;
&lt;li&gt;creare voci TEI formattate a dovere&lt;/li&gt;
&lt;li&gt;garantire riferimenti coerenti in tutto il progetto&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Passaggi che, di norma, sono manuali, lenti e soggetti a incoerenze.&lt;/p&gt;
&lt;h2 id="come-funziona-persnamer"&gt;Come funziona persNamer&lt;/h2&gt;
&lt;p&gt;persNamer automatizza questo flusso di lavoro:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Recupero dei dati VIAF&lt;/strong&gt;: dato un identificatore VIAF, lo strumento recupera i dati RDF tramite negoziazione del contenuto HTTP&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Estrazione delle informazioni essenziali&lt;/strong&gt;: analizza l’RDF per estrarre il nome preferito, la data di nascita e la data di morte&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Generazione della marcatura TEI&lt;/strong&gt;: crea due frammenti XML:
&lt;ul&gt;
&lt;li&gt;una &lt;strong&gt;voce dell’authority file&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; generato, &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;un &lt;strong&gt;tag di annotazione&lt;/strong&gt; a parte (&lt;code&gt;&amp;lt;persName&amp;gt;&lt;/code&gt; con un attributo &lt;code&gt;ref&lt;/code&gt; che rimanda alla voce di autorità)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Questo doppio output permette ai curatori di mantenere un authority file centralizzato e, insieme, di inserire con facilità i tag di annotazione nei loro testi TEI.&lt;/p&gt;
&lt;h2 id="caratteristiche-principali"&gt;Caratteristiche principali&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Generazione normalizzata degli ID&lt;/strong&gt;: crea ID XML coerenti nella forma &lt;code&gt;pers-[cognome]-[iniziale del nome]&lt;/code&gt; (per es. &lt;code&gt;pers-deteligny-c&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Analisi RDF&lt;/strong&gt;: usa &lt;code&gt;rdflib&lt;/code&gt; per estrarre le informazioni da diverse proprietà RDF (per es. &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;Interfaccia a riga di comando&lt;/strong&gt;: si esegue con un numero VIAF come unico argomento obbligatorio&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Output dettagliato&lt;/strong&gt;: accompagna l’XML finale con informazioni dettagliate sull’elaborazione&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="esempio-duso"&gt;Esempio d’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;Questo 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="applicazioni-nellumanistica-digitale"&gt;Applicazioni nell’umanistica digitale&lt;/h2&gt;
&lt;p&gt;persNamer torna particolarmente utile per:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;le edizioni critiche digitali che richiedono un controllo di autorità&lt;/li&gt;
&lt;li&gt;i progetti di codifica TEI che trattano personaggi storici&lt;/li&gt;
&lt;li&gt;le iniziative di linked data che collegano documenti a record di autorità&lt;/li&gt;
&lt;li&gt;garantire la coerenza in grandi corpora TEI&lt;/li&gt;
&lt;li&gt;insegnare il controllo di autorità nei corsi di umanistica digitale&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="realizzazione"&gt;Realizzazione&lt;/h2&gt;
&lt;p&gt;persNamer è scritto in Python e dipende da:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;requests&lt;/code&gt; per le richieste HTTP&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rdflib&lt;/code&gt; per l’analisi RDF&lt;/li&gt;
&lt;li&gt;&lt;code&gt;lxml&lt;/code&gt; per la gestione dell’XML&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Il codice sorgente e la documentazione sono nel
.&lt;/p&gt;</description></item></channel></rss>