Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Supporting LCSH subject indexing with LOD in a Nigerian university library

Supporting LCSH subject indexing with LOD in a Nigerian university library

Navigating through the peculiar challenges of a third world country could be sort of an art, particularly towards producing quality work in heavily under-funded libraries. With limited financial resources and limited internet connectivity, the University of Ibadan (UI) Library has had to rely on the generosity of organizations, who provide datasets or metadata in various forms (e.g. LOD, MARC, SRU, etc.), to build tools that can support the classification and cataloguing of items especially those published in Nigeria. One of such is the creation of a Search tool using an LOD from the Library of Congress: the LC Subject Headings (LCSH) Dataset. The developers of the University’s Integrated Library System (UIILS) were able to use this dataset to create a Web Service within the UIILS that allows cataloguing staff search through the LCSH entries, even when there is a downtime internet connectivity and access to updated print copies are not possible. This search tool provides the staff with the Classification Number for an item based the subjects they search for. We'll walk through the processes involved from setting up the Apache Jena and Fuseki Server, to generating SPARQL queries from search parameters, processing of query responses, how those responses are displayed to cataloguing staff and how those responses can LINK to other queries.

Babarinde Odewumi

November 28, 2018
Tweet

More Decks by Babarinde Odewumi

Other Decks in Technology

Transcript

  1. Supporting LCSH subject indexing with
    LOD in a Nigerian University Library
    Odewumi Babarinde Ayodeji
    Abba & King Systems LLC
    [email protected]
    &
    Adetoun Adebisi Oyelude
    University of Ibadan Library Systems
    [email protected]; [email protected]

    View Slide

  2. Introduction - abbaandking.com
    Software Development Agency Based in Nigeria
    Specialization: Business Process Automation
    Est. 2013
    Clients: Libraries, Schools, Small, Medium and Large Enterprises

    View Slide

  3. Library Clients
    We have a Library Management system
    called READABLE (readable.com.ng) used
    by.
    ➔ University Libraries
    E.g. University of Ibadan (also a legal
    deposit library), Crawford University,
    Niger Delta University, etc.
    ➔ Colleges & High Schools
    ➔ Public Libraries

    View Slide

  4. Subject Indexing
    Challenges
    ➔ No CIP
    Most Books published in Nigeria and a
    host of African countries don’t come
    with cataloguing in publication data
    ➔ Access to Updated LCSH
    Most Libraries are stuck with < 2010
    versions (print version has been
    stopped)
    ➔ Remote LCSH Access
    Lack of Internet access restricts access
    to id.loc.gov (and this free service may
    also be unavailable)

    View Slide

  5. How do we solve this?

    View Slide

  6. View Slide

  7. View Slide

  8. View Slide

  9. View Slide

  10. View Slide

  11. Setting up
    - Ubuntu Server 16.04 x64
    - > 4GB RAM
    - >= 20GB HDD
    - Internet Connectivity for Downloads

    View Slide

  12. Installing dependencies
    - Open a terminal
    - sudo apt-get update -y
    - sudo apt-get install default-jre unzip

    View Slide

  13. Downloading and Unzipping datasets :
    http://id.loc.gov/download/
    - wget -c
    http://id.loc.gov/static/data/authoritiessubjects.ttl.m
    adsrdf.zip
    - unzip authoritiessubjects.ttl.madsrdf.zip

    View Slide

  14. Downloading and Unzipping Apache Jena
    - wget -c
    https://www-us.apache.org/dist/jena/binaries/apach
    e-jena-3.9.0.zip
    - unzip apache-jena-3.9.0.zip.

    View Slide

  15. Downloading and Unzipping Fuseki Server
    - wget -c
    https://www-us.apache.org/dist/jena/binaries/apach
    e-jena-fuseki-3.9.0.zip
    - unzip apache-jena-fuseki-3.9.0.zip

    View Slide

  16. Creating TDB Database
    - cd apache-jena-3.9.0/bin
    - ./tdbloader2 --loc /root/lcsh
    /root/authoritiessubjects.madsrdf.ttl
    where /root/lcsh is the location TDB database will be created
    This take a while depending on type of server used

    View Slide

  17. Configure Fuseki Service
    - cd ../../apache-jena-fuseki-3.9.0/
    - nano fuseki.service

    View Slide

  18. Set Environment Variables
    - Environment=FUSEKI_HOME=/root/apache-jena-fuseki-3.8.0
    - Environment=FUSEKI_BASE=/root/apache-jena-fuseki-3.8.0/r
    un
    - User=root
    - ExecStart=/root/apache-jena-fuseki-3.8.0/fuseki-server
    --loc=/root/lcsh /lcsh

    View Slide

  19. Set Environment Variables contd
    - where --loc=/root/lcsh is where the TDB is located
    and /lcsh is the endpoint for your SPARQL queries

    View Slide

  20. Load and Start Fuseki
    - cp fuseki.service /etc/systemd/system/
    - sudo systemctl enable fuseki.service
    - sudo systemctl start fuseki.service

    View Slide

  21. Fuseki Server Up
    ● http://your.ip:3030
    SPARQL Queries endpoint
    ● http://your.ip:3030/lcsh

    View Slide

  22. SoH (SPARQL over HTTP)

    View Slide

  23. Search Query

    View Slide

  24. Query (SPARQL)
    Prefix madsrdf:
    Select * where{ ?subject madsrdf:authoritativeLabel
    ?label Filter regex(?label, "algebra", "i") } order by asc
    (?label) Limit 1000

    View Slide

  25. Query (HTTP)request
    GET
    http://your.ip:3030/lcsh/query?query=Prefix%20madsrdf%3A%20%3
    Chttp%3A%2F%2Fwww.loc.gov%2Fmads%2Frdf%2Fv1%23%3E%0A
    Select%20%2A%20where%7B%0A%3Fsubject%20madsrdf%3Aautho
    ritativeLabel%20%3Flabel%0AFilter%20regex%28%3Flabel%2C%20
    %22algebra%22%2C%20%22i%22%29%20%20%0A%7D%0Aorder%
    20by%20asc%20%28%3Flabel%29%0ALimit%201000&output=json

    View Slide

  26. Single Query

    View Slide

  27. Single Query (SPARQL)
    Prefix madsrdf:
    Select * where{

    ?predicate ?label }

    View Slide

  28. Single Query (HTTP)request
    GET
    http://your.ip:3030/lcsh/query?query=Prefix%20madsrdf%3A%20%3
    Chttp%3A%2F%2Fwww.loc.gov%2Fmads%2Frdf%2Fv1%23%3E%0A
    Select%20%2A%20where%7B%0A%3Chttp%3A%2F%2Fid.loc.gov%2
    Fauthorities%2Fsubjects%2Fsh85003425%3E%20%3Fpredicate%20
    %3Flabel%0A%7D&output=json

    View Slide

  29. Single Queries (SPARQL)
    Prefix madsrdf: Select * where{

    madsrdf:authoritativeLabel ?label }
    Prefix madsrdf: Select * where{

    madsrdf:authoritativeLabel ?label }
    ...

    View Slide

  30. Demo

    View Slide

  31. Thanks for Listening
    Questions

    View Slide