Working on XSL-T TMAPI 2

Recentemente è stata rilasciata una versione di test per una seconda versione delle TMAPI (API in java per gestire Topic Maps).
Accanto al progetto originario sono sorti diversi “port” in altri linguaggi php (phptmapi), C# (tmapi net) e anche XSL-T (XSL-T TMAPI).

In passato mi ero interessato di XSL-T TMAPI anche perché forniva un efficace foglio di stile (implementazione delle api in xsl) che convertiva un documento XTM in un intero sito HTML.

Il progetto originario era nato come parte di una tesi di Petr Janecek che non ha interesse a aggiornare il codice alla nuova versione delle TMAPI e, di conseguenza, al supporto di XTM2.

Un po’ per gioco, un po’ per voglia di verificare le mie competenze su xsl-t 2, un po’ perché potrebbe essere utile per la mia tesi di dottorato ho iniziato il lavoro per creare una seconda versione di queste api, supportando così XTM2.

Rispetto al progetto originario devo segnalare due cambiamenti:

  • i “metodi” (concetto che nel mondo xml è difficilmente “portabile”) get saranno supportati interamente (almeno per le “interfacce” che si intenderanno implementare). Questo si concretizzerà anche con la definizione di funzioni di dubbia utilità (per usare un eufemismo e non dire idiote)… ad esempio:
        <xsl:function name="tm:getParent" as="element()">
            <xsl:param name="p_object" as="element()" />
            <xsl:copy-of select="$p_object/parent::node()"/>
        </xsl:function>
    

    Che, come si può intuire, in xml è assolutamente inutile, visto che per sapere il parent di un topic, di una association, di un role o di altro, mi basta usare opportunamente xpath…

  • Seconda modifica rispetto al progetto iniziale è quella di non limitarsi ai “metodi” get… Petr infatti giustamente ritiene XSL-T inadatto all’interazione, ma c’è un caso in cui la possibilità di creare (non di aggiornare) costrutti può essere utili ed è quella di creare fogli di stili che transformino un documento XML (ad esempio un inventario EAD) in un documento XTM

Spero di concludere presto, inizio 2009, la prima fase…
A presto

Libx: UniUD

Facendo seguito ai buoni propositi, si parte con il primo “regalo di natale”: una versione di LibX per l’Università degli Studi di Udine.

Dati e cataloghi che ho usato

Opac: aleph
Link Resolver: No
Banche Dati: sabra (elenco)
Open Access: No
Linx o lista di “preferiti”: No
Cataloghi aggiuntivi:  SBN

Difficoltà: aleph è pienamente riconosciuto da LibX, nessun problema a dichiararlo (ovviamente possono essere aggiunte opzioni e termini di ricerca).
Sabra è un elenco interrogabile per titolo delle banche dati, è definito come bookmarket (via post).
SBN è un catalogo “comune” che avevo già definito altrove (così come il catalogo della LoC etc).
La versione di test è disponibile qui, come detto in precedenza se qualcuno fosse interessato a manutenerla non ha che da dirlo e giro l’accesso.

Topincs 2 e 3: Reload e Revolution

All’interno del blog ho spesso parlato di Topincs, ma molte informazioni sono ancora relative alla versione 1.

Da quella versione (già promettente e per me utile) la creatura di Robert Cerny si è evoluta moltissimo in questi due anni, vediamo le caratteristiche principali.

Topincs 2.0

La seconda versione di Topincs, presentato all’interno del convegno internazionale Topic Maps Research and Applications ’07, vede la grossa novità di un doppio editor (e di un visualizzatore). Affiancato al vecchio editor, che rispecchia  la logica delle Topic Maps, è presente una modalità “wiki”, che da un lato permette la comoda visualizzazione e navigazione fra quanto inserito nel proprio “arichivio” (in senso informatico, non archivistico), dall’altro permette la modifica guidata…
Sostanzialmente è possibile inserire tutti i campi descrittivi (occorrenze) e tutte le relazioni (associazioni) che siano state almeno una volta definite usando l’editor standard.
Semplificando, se io con l’editor standard, ho inserito per un topic con type “blog” almeno una volta l’occorrenza “Descrizione” e almeno una volta l’associazione “Ha come autore/E’ autore di” ecco che quelle opportunità mi verranno presentate per ogni istanza di blog che io volessi inserire con il wiki.

Alcuni esempi per spiegare meglio:
Continue reading

Strategia Push vs Pull: cambiamento di rotta?

Generalmente sono sempre stato convinto che la strategia pull fosse quella maggiormente adeguata, questo sia in Biblioteca, sia in Archivio, sia in altri campi.

Nella mia breve vita di utente gnu/linux (3-4 anni ormai) non ho mai spinto nessuno, nonostante venga talvolta additato come “talebano”, per l’adozione di questo sistema operativo (la così detta, con termine orribile, evangelizzazione), ma ho sempre aiutato (nel limite, basso, delle mie competenze) chi avesse imboccato quella strada.

Così in biblioteca e in archivio non ho mai spinto per una tecnologia, ma (anche attraverso i contatti di questa “finestra”) ho offerto (just for fan, come hobby, il mio lavoro è il dottorato) supporto.

Mi rendo sempre più conto che questa strategia possa essere fallimentare: sia con gli utenti finali (e qui ricorro a esperienze di terzi, non avendo, finora, avuto molti contatti con l’utenza), sia nei confronti degli operatori stessi (bibliotecari o archivisti).

Questo si tramuta in una sorta di inerzia che lascia sfumare e procastinare una serie di possibilità e opportunità (o, la to utenza finale, si traduce in uno scarsissimo utilizzo di risorse, quali banche dati etc., che costano davvero tanto).

Perché scrivo questo?
Nel marzo 2008, in occasione di SoftXbib 2008, ho presentato LibXITA un progetto di personalizzazione per le biblioteche italiane di LibX.

L’intento era quello di espandere l’utilizzo di LibX in Italia.
Sostanzialmente lo scarso interesse iniziale e il poco tempo libero ha fatto sì che libxita non venisse più aggiornata lato codice e che, quindi, queste personalizzazioni (alcune, credo, interessanti, come l’interrogazione automatica dei cataloghi via ajax) si riflettono esclusivamente nella barra di ricerca dell’Università Bicocca, la Bibliobar.

Il mio interesse verso LibX e verso il favorire un suo utilizzo in Italia non è scemato (si veda anche LibX e i cataloghi personalizzati e LibX e SBN – LibX e Sebina).
Ma ad oggi sono bene poche le università o biblioteche che si stanno muovendo (registro iniziative, interesse e primi passi dell’università di Siena e dell’università di Torino), sia per difficoltà con lo strumento, sia perché queste sono iniziative dei signoli, sia perché non si vuole disturbare altri (nel caso specifico me), sia perché simili progetti spesso e volentieri si fanno nel tempo libero (e di sicuro non posso biasimare chi dopo 8 ore di lavoro trovi poco rilassante passarne altre 4 al pc).

Da oggi, quindi, personalmente adotterò, per questo caso specifico la strategia push: nel tempo libero creerò versioni di libx per diverse biblioteche (se volete, “just in case”… senza aspettare il “time” che lo richieda), sperando poi possono servire ai diversi operatori (il mio push non arriva a tal punto, almeno  per ora, di degenerare nello spam verso le singole biblioteche… ma non è detto… 😉 ).
Questo servirà a me, per crearmi conoscenza su come implementare in libx i diversi cataloghi italiani, non sempre supportati e, magari, potrà servire a qualche biblioteca.

Tutto questo nell’ottica anche della futura LibX 2.0, che promette di rendere facilmente implementabili tutte quelle personalizzazioni che sono state incluse con modifiche radicali al codice nella bibliobar.

Ci saluta lcsh.info

E anche i subject headings della library of congress (LCSH) disponibili, su lcsh.info, come linked data (in comodo formato RDF) alla fine ci salutarono.

Il vulcanico Ed Summers non ha potuto far altro che adempiere alla richiesta della LoC:

On December 18th I was asked to shut off lcsh.info by the Library of Congress. As an LC employee I really did not have much choice other than to comply.

Al momento la richiesta riguarda esclusivamente la messa a disposizione su lcsh.info e non la conversione dei subject heading da MARCXML a un vocabolario SKOS (descritta da Ed Summers in LCSH, SKOS and Linked Data e concretizzata nell’esempio Browsing LCSH).

Che dire, pensando anche alla nuova policy di OCLC: mala tempora currunt…