Linked Data for Libraries: Publishing and Using Linked Data

Today I’m speaking at the “Linked Data for Libraries” event organised and hosted by the Library Association of Ireland, Cataloguing & Metadata Group; the Digital Repository of Ireland; and Trinity College Library, Dublin. In the presentation I cover some of the key issues around publishing and consuming linked data, using library based examples.

My slides plus speaker notes are available for download – Publishing and Using Linked Data (pdf).

Spotlight on Names

A few people have been kind enough to test out my Composed bookmarklet and give some feedback (here on Google+ amongst other places). A couple of people identified composers on COPAC for which my bookmarklet didn’t produce any information, and when I checked this was because the underlying data I’m using, the MusicNet Codex, didn’t have a record for those examples.

This reinforced an idea that keeps coming back to me as I think about Library data and Linked Data – which is that we need good ways of capturing and then re-expressing in our data feedback from consumers/users of the data. In the case of the Composed bookmarklet it seems sensible to have a way to allow people to say at least:

  • “This record contains a composer [name or identifier] you don’t have in your data]”
  • “For this record the bookmarklet displays a composer not mentioned in the record”

This triggered some further thoughts that a bookmarklet could be a nice way of generally allowing those interested (librarians or others) to add information to the record – specifically structured information and identifiers for people (and perhaps some other entities). Then discussing the #discodev competition with Mathieu D’Aquin at the Open University today he mentioned the DBpedia ‘Spotlight’ tool which does entity extraction and gives back identifiers from DBpedia.

So how about a bookmark which:

  • Grabs the ‘people’ fields (100, 700, 600 – others?)
  • Passes contents to Spotlight and gets back possible DBPedia matches
  • Links to VIAF (think this is possible where VIAF has a Wikipedia URI) (possibly do this after decision made below)
  • Allows the user to confirm or reject the suggestions – if they confirm allows them to state a relationship as defined by MARC relators (available as Linked Data at
  • Posts a triple expressing a link between the catalogue record, the relator, and DBPedia URI and/or VIAF URI

This could then be harvested back by libraries or others to get more expressive linked data relating bibliographic entities to people entities with a meaningful relationship. I haven’t looked at this in detail – but I don’t think it would be very difficult – my guess is just a few hours work.

I think this also starts to address another issue that always comes up when discussing libraries and linked data which is how might linked data start to become part of the metadata creation process in libraries – although since it relies on an existing record it doesn’t really get there – but if libraries are going to successfully exploit linked data we need to play around with interfaces that help us integrate linked data into our data as it is created.

Linked Data and Libraries: The record is dead

Rob Styles from Talis…
First of all says – the record is not dead – it should be – it should have been dead 10 years ago, but it isn’t [comment from the floor – ‘it never well be’]

Rob says that what is missing from the record is the lack of relationships – this is the power you want to exploit.

If you think this stuff is complicated try reading the MARC Manuals and AACR2… 🙂 Linked Data is different but not complicated

MARC is really really good – but really really outdated – why a 245$$a not ‘Title’ – is it because ‘245’ universally understandable? NO! Because when computing power and space was expensive they could afford 3 characters – that’s why you end up with codes like 245 rather than ‘Title’.

If you look at the use of labels and language in linked data you’ll find that natural language often used [note that this isn’t the case for lots of the library created ontologies 🙁 ]

What is an ‘identifier’? How are they used in real life? They are links between things and information about things – think of a number in a catalogue – we don’t talk about the identifiers, we just use them when we need to get a thing, or information about the thing (e.g. Argos catalogue)

Call numbers are like URLs ….

Rob’s Law: “If you wish to link to things, use a link”

Rob pointing up the issues around the way libraries work with subject headings and ‘aboutness’. Libraries talk about ‘concepts’ rather than ‘things’ – a book is about ‘Paris’ not about ‘the concept of Paris’. Says we need to get away from the abstractness of concepts. He sees the use of SKOS as a reasonable thing to do to get stuff out there – but hopes it is a temporary work around which will get fixed.

MARC fails us by limiting the amount of data that can be recorded – only 999 fields… need approaches that allow more flexibility. And ability to extend where necessary.

FRBR – introduces another set of artificial vocabulary – this isn’t how people speak, it isn’t the language they use.

We need to model data and use vocabulary so it can connect to things that people actually talk about – as directly as we realistically can. Rob praises the BL modelling on this front.

How do you get from having a library catalogue, to having a linked data graph… Rob says 3 steps:

  • training – get everyone on the team on the same page, speaking the same language
  • workshop – spend a couple of days away from the day job – looking at what others are doing, identifying what you want to do, what you can do – until you have a scope of something feasible and worthwhile
  • mentoring and oversight – keep team going, make sure they can ask questions, discuss etc.

Q & A:
Mike Taylor from IndexData asks – how many ‘MARC to RDF’ pipelines have been built by people in this room? Four or five in the room.
Rob says – lots of experimentation at this stage… this is good… but not sure if we will see this come together – but production level stuff is different to experimental stuff.

?? argues we shouldn’t drop ‘conceptual’ entities just because we start representing ‘real world’ things
Rob says ‘subject’ is a relationship – this is how it should be represented.
Seems to be agreement between them that conceptual sometimes useful – but that the more specific stuff is generally more useful… [I think – not sure I understood the argument completely]

Linked Data and Libraries: Creating a Linked Data version of the BNB

Neil Wilson from the BL doing this talk.

Government has been pushing to open up data for a while. This has started to change some expectations around publishing of ‘publicly owned’ data.

BL wanted to start to develop an Open Metadata Strategy. They wanted to:

  • Try and break away from library specific format and use more cross-domain XML based standards – but keep serving libraries not engaged in cutting edge stuff
  • Develop the new formats with communities using the metadata
  • Get some form of attribution while also adopting a licensing model appropriate to the widest re-use of the metadata
  • Adopt a multi-track approach to all this

So first steps were:
Develop capability to supple metadata using RDF/XML
Worked with variety of community and organisations etc…

Current status:
Created a new enquiry point for BL metadata issues
Signed up c400 orgs to the free MARC21 z39.50 service
Worked with JISC, Talis and other linked data implementers on technical challenges, standards and licensing issues
Begun to offer sets of RDF/XML to various projects etc.

Some of the differences between traditional library metadata and Linked data
Traditional library metadata uses a self contained proprietary document based model
Linked data more dynamic data based model to establish relationships between data

By migrating from traditional modles libraries could begin to:

  • Integrate their resources in the web
  • Increase visibiilty, reach new users
  • Offer users a richer resource discovery experience
  • Moving from niche costly specialist technologies and suppliers to more ‘standard’ and widely adopted approaches

BL wanted to offer data allowing useful experimentation and advancing discussion from theory to practice. BNB (British National Bibliography) has lots of advantages – general database of published output – not just ‘BL stuff’; reasonably consistent; good identifiers.

Wanted to undertake the work as extension of existing activities – wanted to develop local experitise, using standard hardware for conversion. Starting point was Library MARC21 data. Wanted to focus on data issues not building infrastructure and also on linking to stuff.

First challenge – how to migrate the metadata:
Staff training in linked data – modelling concepts and increased familiarisation with RDF and XML concepts
Experience working with JISC Open Bibliography Project and others
Feedback on MARC to XML conversion

Incremental approach adopted – with several interations around data and data model.

Wanted to palce library data in wider context and supplement or replace literal values in records. Linked to both library sites:
Dewey Info

but also non library sites:

Three main approaches:
Automatic Generation of URIs from elements in records (e.g. DDC)
Matching of text in records with linked data dumps – e.g. personal names to VIAF
Two stage crosswalking [? missed this]

Lots of preprocessing of MARC records before tackling the transform to RDFXML using XSLT

Can see the data model at and more information –

Next steps:
Staged release over coming months for books, serials, multi-parts
Monthly updates [I think?]
New data sets being thought about

Lessons learnt…
It is a new way of thinking – legacy data wasn’t designed for this purpose
There are many opinions out there, but few real certainties – your opinion may well be as valid as anyone else – especially when it’s your data
Don’t reinvetn the wheel – there are tools and experience you can use – start simple and develop in line with evolving staff expertise
Reality check by offering samples for feedback to wider groups
Be prepared for some technical criticism in addition to positive feedback and improve in response
Conversion inevitably identifiers hidden data issues – and creates new one
But better to release an imperfect something than a perfect nothing

There is a steep learning curve – but look for training opportunities for staff and develop skills; Cultivate a culture of enquiry and innovation among staff to widen perspectives on new possibilities

It’s never going to be perfect first time – we expect to make mistakes – have to make sure we learn from there and ensure that everyone benefits from the experience. So if anyone is thinking of undertaking a similar journey – Just do it!

Q: How much of the pipeline will you ‘open source’
A: Quite a few of the tools are ‘off the shelf’ (not clear if open source or not?). The BL written utilities could be released in theory – but would need work (not compiled with Open Source compilers at the moment) – so will be looked at…

Linked Data and Libraries: W3C Library Linked Data Group

This talk by Antoine Isaac…
Also see
W3C setup a working group on library linked data – coming to an end now. Mission of group = help increase global interoperability of library data on web…

Wanted to see more library data in the Linked Data cloud and also to start to put together the ‘technological bits and pieces’ – things like:

  • Vocabularies/schemas
  • Web services
  • Semantic Web search engines
  • Ontology editors

But – need for a map of the landscape – specifically for library sector…
And need to answer some of the questions librarians or library decision makere have like:

  • What does it have to do with bibliography?
  • Does it make life better for patrons?
  • Is it practical?
  • etc.

About to report have got:
Use cases – grouped into 8 topical clusters – bib data; vocab alignment; citations; digital objects; social; new users

Available data:

  • Datasets
  • Value vocabularies (lists of stuff – like LCSH)
  • Element sets (Ontologies)


Finally and most important deliverable:
High level report – intended for a general library audience: decision makers, developers, metadata librarians, etc. Tries to expand on general benefits, issues and recommendations. Includes:

Relevant technologies
Implementation challenges and barriers to adoption

Still got a chance to comment:

For the future Antoine says discussions and collaboration should continue – existing groups within libraries or with wider scope – IFLA Semantic Web special interest group; LOD-LAM

Possibility of creating a new W3C Community group…

We need a long term effort – not all issues (many issues) are not technical

Comment from floor – also see

Linked Data and Libraries: OpenAIRE

OpenAIRE is a European funded project … 38 partners

Want to link project data (in institution, CRIS) to publications resulting from those projects. Data sources – Institutional Repositories – using OpenDOAR as authority on this.

Various areas needed vocabularies – some very specific like ‘FP7 Area’ some quite general like ‘Author’ (of paper)

Various issues capturing research output from different domains:

  • Difference responsibilities and tasks
  • Different metadata formats
  • Different exchange interfaces and protocols
  • Different levels of granularity

In the CRIS domain:
Covers research process
run by admin depts
broader view on research info
diverse data models – e.g. CERIF(-like) models; DDF-MXD, METIS, PURE – and some internal formats

In OAR domain:
Covers research publications
Uses Dublin Core

Interoperability between CRIS and OAR

Working group within the ‘quadrolateral Knowledge Exchange-Initiative’ (involving SURF, JISC, DFG, DEFF) – aiming to increase interoperability between CRIS and OAR domains – want to define a lightweight metadata exchange format.

…. sorry – suffering my usual post lunch dip and distraction – didn’t get half of what I could have here 🙁

Linked Data and Libraries: LODUM

LODUM is Linked Open Data and University of Munster – presented by Carsten Kessler
Started LODUM – about providing scientific and educational data as Linked Open Data
Have started linking Library and CRIS… next want to start linking Courses, and then Buildings (and Bus Stops…)

Brasil – from research project
Maps – starting to annotate maps and have descriptions as LD
Bio-topes data – species etc. from the local region
Interviews – want to annotate recordings and link to transcripts

Library has central role – hub that provides the publication and want to link all the datasets to the relevant publications in the library. Hope in the future will have pointers from publications (within text) to the data.

Concrete use case:
Have institute of Planetology. Have information about the Moon. To save money they look for areas of the earth with similar characteristics as ‘reference data’ – hope that this will be something they can provide.

Development work is advancing with 4 student assistants. Can see some data at; Establishing contacts with other universities via
Need more funding – only have startup funding at the moment

Linked Data and Libraries: Linked Data OPAC

This session by Phil John – Technical Lead for Prism (was Talis, now Capita). Prism is a ‘next generation’ discovery interface – but built on Linked Data through and through.

Slides available from

Now moving to next phase of development – not going to be just about library catalogue data – but also journal metadata; archives/records (e.g. from the CALM archive system); thesis repositories; rare items and special collections (often not done well in traditional OPACs) … and more – e.g. community information systems.

When populating Prism from MARC21 – do initial ‘bulk’ conversion, then periodic ‘delat’ files – to keep in sync with LMS. Borrower and availability data is pulled from LMS “live” – via a suite of RESTful web services.

Prism is also a Linked Data API… just add .rss to collection of .rdf/.nt/.ttl/.json to items. This means simple to publish RSS feeds of preconfigured searches – e.g. new stock, or new stock in specific subjects etc.

Every HTML page in Prism has data behind it you can get as RDF.

One of the biggest challenges – Extracting data from MARC21 – MARC very rich, but not very linked… Phil fills the screen with #marcmustdie tweets 🙂

But have to be realistic – 10s of millions of MARC21 records exist – so need to be able to deal with this.
Decided to tackle problem in small chunks. Created a solution that allows you to build a model interatively. Also compartmentalises code for different sections – these can communicate but work separately and can be developed separately. Makes it easy to tweak parts of the model easily.

Feel they have a robust solution that performs well – even if it only takes 10 seconds to convert a MARC record – then when you use several million records it takes months.

No matter what MARC21 and AACR2 says – you will see variations in real date.

Have a conversion pipeline:
Parser – reads in MARC21- fires events as it encounters different parts of the record – it’s very strict with Syntax – so insists on valid MARC21
Observer – listens for MARC21 data structures and hands control over to …
Handler – knows how to convert MARC21 structures and fields into Linked data

First area they tackled was Format (and duration) – good starting point as it allows you to reason more fully about the record – once you know Format you know what kind of data to expect.

In theory should be quite easy – MARC21 has lots of structured info about format – but in practice there are lots of issues:

  • no code for CD (it’s a 12 cm sound disk that travels at 1.4m/s!)
  • DVD and LaserDisc shared a code for a while
  • Libraries slow to support new formats
  • limited use of 007 in the real world

E.g. places to look for format information:
300$$a (mixed in with other info)

Decided to do the duration at the same time:
300$$a (but lots of variation in this field)

Now Phil talking about ‘Title’ – v important, but of course quite tricky…
245 field in MARC may duplicate information from elsewhere
Got lots of help from (with additional work and modification)

Retained a ‘statement of responsibility’ – but mostly for search and display…

Lots of non identifier information mixed in with other stuff – e.g. ISBN followed by ‘pbk.’
Many variations in abbrevations used – have to parse all this stuff, then validate the identifier
Once you have an identifier, you start being able to link to other stuff – which is great.

Author – Pseudonyms, variations in names, generally no ‘relator terms’ in 100/700 $$e or $$4 – which would show the nature of the relationship between the person and the work (e.g. ‘author’ ‘illustrator’) – because these are missing have to parse information out of the 245$$c

… and not just dealing with English records – especially in academic libraries.

Have licensed Library of Congress authority files – which helps… – authority matching requirements were:
Has to be fast – able to parse 2M records in hours not days/months
Has to be accurate

So – store Authorities as RDF but index in SOLR – gives speed and for bulk conversions don’t get http overhead…

Language/Alternate representation – this is a nice ‘high impact’ feature – allows switching between representations – both forms can be searched for – use RDF content language feature – so useful for people using machine readable RDF

Using and Linking to external data sets…
part of the reason for using linked data – but some challenges….

  • what if datasource suffers downtime
  • worse – what if datasource removed permanently?
  • trust
  • can we display it? is it susceptible to vandalism?

Potential solutions (not there yet):

  • Harvest datasets and keep them close to the app
  • if that’s not practical proxy requests using caching proxy – e.g. Squid
  • if using wikipedia and worried about vandalism – put in checks for likely vandalism activity – e.g. many multiple edits in short time

Want to see
More library data as LOD – especially on the peripheries – authority data, author information, etc.
LMS vendors adopting LOD
LOD replacing MARC21 as standard representation of bibliographic records!

Is process (MARC->RDF) documented?
A: Would like to open source at least some of it… but discussions to have internally in Capita – so something to keep and eye on…

Is there a running instance of Prism to play with:
A: Yes – e.g.

[UPDATE: See in comments Phil suggests as one that has used a more up to date version of the transform

Linked Data and Libraries: Report on the LOD LAM Summit

This report from Adrian Stevenson from UKOLN. Summit held 2-3 June 2011. Brought together 100 people from around the world, with generous funding from the Internet Archive; National Endowment from the Humanities; Alfred P Sloan foundation.

Adrian’s slides at

Find out more at

85 organisations represented from across libraries, archives, museums.

Summit aimed to be practical and about actionable approaches to publishing Linked Open Data. Looking at Tools, licensing policy/precedents, definitions and use cases.

Meeting ran on a ‘Open Space Technology’ format – some way between a formal conference and an unconference – agenda created via audience proposals – but there were huge numbers of sessions being proposed/run.

First day was more discursive, second day about action.

Some sessions that ran:
Business Case for LOD; Provenance/Scalability; Crowdsourcing LOD; Preservation of RDF/Vocabulary Maintenance

What next?
Connections made; acitivities kick-started
Many more LOD LAM events planned – follow #lodlam on Twitter
#lodlam #london had meeting yesterday; but bigger event planned for November – see for more details as they become available