Levering linked data tools for traditional catalogues (and traditional cataloguers)

Created by Galen Charlton / @gmcharlt

Implementation Manager at Equinox Software

Levers

  • Providing leverage
  • Levering in

No jumping allowed

  • Legacy data abounds
  • The half-life of the MARC record is going to be measured in years... if not decades
  • Standards processes are slow
  • Systems migrations are not trivial

Incrementalism

  • Take advantage of available tools and data
  • Borrow the idea of continuous improvement
  • And yes, recons

Embrace Your Authority (Records)

Authority records and identifiers

Authority records are a gateway to Linked Data

LDR 01135cz  a2200205n  4500
001     35
005     20060512103327.0
008     790705n| acannaabn          |n aaa
010    _an  79056654
035    _a(OCoLC)oca00289745
053  0 _aPS3552.U827
100 1  _aButler, Octavia E.

And here's a simple link, via an identifier....

LDR 01019cam a2200349 i 4500
005     20140627012826.0
008     790320s1979    nyu           000 1 eng
010    _a   78022597
020    _a0385150598 :
       _c$8.95
100 1  _aButler, Octavia E.
       _935
245 10 _aKindred /
       _cby Octavia E. Butler.
250    _a1st ed.
...
999    _c2139
       _d2139

Also, a missed opportunity, at least in MARC21-land...

100 1  _935
100 1  _0(DLC)n  79056654

Identifiers == Lead

  • n 79056654

Identifiers == Gold

The Virtual International Authority File (VIAF)

Bridging the gap

First, let's figure out the VIAF identifier.

No SPARQL endpoint — data dumps are available, though

<ns2:Document about="http://viaf.org/viaf/34453955/">
<ns2:inDataset resource="http://viaf.org/viaf/data"/>
<ns2:primaryTopic resource="http://viaf.org/viaf/34453955"/>
</ns2:Document>

This looks familiar

Bringing it back home

  • Killing off dead authors
  • Adding cross-references
  • and we need not restrict our enrichment to the RDF - more is available
  • ... and do it automatically

Going from VIAF to Koha

A little bit of JavaScript goes a long way...


 $(document).ready(function(){
if (document.location.href.indexOf('_NAME') == document.location.href.length-5 || // match /cgi-bin/koha/authorities/authorities.pl?authtypecode=....._NAME
    document.location.href.indexOf('authorities/authorities.pl?authid=')>-1) {
    if (document.location.href.indexOf('authorities/authorities.pl?authid=')>-1) {
        var title = $('h1').text();
        if (title.indexOf('Name')!=title.length-4) return; // not available for non-NAME headings
    }
    function myUpperCase(s) {
        if (s.indexOf('nli')>-1) return 'NLI'+s.substr(3);
        return s.toUpperCase();
    }
    function autoComplete() {
        $('head').append('<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.19/themes/base/jquery.ui.all.css">');

        // Koha 3.12.x
        $('#authoritytabs').prepend('\
            <div class="ui-widget">\
                <label for="viaf">VIAF Autosuggest:</label> <input type="text" style="font-size:0.9em" id="viaf" size="80" title="digitare almeno i primi 3 caratteri di un nome">\
            </div>\
        ');

For more details

MarcEdit LibHub Plug-in

Thanks!

Galen Charlton