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

More Decks by Babarinde Odewumi

Other Decks in Technology


  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]
  2. Introduction - abbaandking.com Software Development Agency Based in Nigeria Specialization:

    Business Process Automation Est. 2013 Clients: Libraries, Schools, Small, Medium and Large Enterprises
  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
  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)
  5. How do we solve this?

  6. None
  7. None
  8. None
  9. None
  10. None
  11. Setting up - Ubuntu Server 16.04 x64 - > 4GB

    RAM - >= 20GB HDD - Internet Connectivity for Downloads
  12. Installing dependencies - Open a terminal - sudo apt-get update

    -y - sudo apt-get install default-jre unzip
  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
  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.
  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
  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
  17. Configure Fuseki Service - cd ../../apache-jena-fuseki-3.9.0/ - nano fuseki.service

  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
  19. Set Environment Variables contd - where --loc=/root/lcsh is where the

    TDB is located and /lcsh is the endpoint for your SPARQL queries
  20. Load and Start Fuseki - cp fuseki.service /etc/systemd/system/ - sudo

    systemctl enable fuseki.service - sudo systemctl start fuseki.service
  21. Fuseki Server Up • http://your.ip:3030 SPARQL Queries endpoint • http://your.ip:3030/lcsh

  22. SoH (SPARQL over HTTP)

  23. Search Query

  24. Query (SPARQL) Prefix madsrdf: <http://www.loc.gov/mads/rdf/v1#> Select * where{ ?subject madsrdf:authoritativeLabel

    ?label Filter regex(?label, "algebra", "i") } order by asc (?label) Limit 1000
  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

  26. Single Query

  27. Single Query (SPARQL) Prefix madsrdf: <http://www.loc.gov/mads/rdf/v1#> Select * where{ <http://id.loc.gov/authorities/subjects/sh85003425>

    ?predicate ?label }
  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

  29. Single Queries (SPARQL) Prefix madsrdf: <http://www.loc.gov/mads/rdf/v1#> Select * where{ <http://id.loc.gov/authorities/subjects/sh85082139>

    madsrdf:authoritativeLabel ?label } Prefix madsrdf: <http://www.loc.gov/mads/rdf/v1#> Select * where{ <http://id.loc.gov/authorities/subjects/sh85057512> madsrdf:authoritativeLabel ?label } ...
  30. Demo

  31. Thanks for Listening Questions