Wednesday, February 5, 2014

Integrating EADitor with the Getty linked data AAT

I've been following linked open data developments at the Getty pretty closely over the last few months, especially related to incorporating Getty AAT URIs (and eventually ids from other vocabulary systems) into and my side-project, a LOD thesaurus geared specifically toward Greek pottery.

For some reason, it occurred to me only yesterday that I should adapt EADitor to incorporate Getty AAT identifiers into EAD finding aids.  After all, XForms applications communicate nicely with other REST services (such as SPARQL), and I've already done SPARQL query work in XForms with Nomisma's backend.  I spent about a half hour this afternoon improving the Genreform functionality in EADitor to make AAT (as opposed to the Library of Congress Genre/Format Terms) as the default lookup mechanism.

Here's how it works:

User Interface

  1. Add a genreform element into your controlled access headings in your EAD finding aid.
  2. Click the Getty AAT radio button (selected by default) to activate the query interface.
  3. Type a term and click the search button.
  4. A list of results (limited to 25, filtered by English labels, and arranged alphabetically) will appear in the select list.  After clicking an option, click the "Select" button to set the text of the genreform node to the skos:prefLabel from the Getty SPARQL results and to set the @authfilenumber attribute of the genreform element to the Getty id.

Under the Hood

Clicking on the search button does two things: First it replaces 'SEARCH_QUERY' in the SPARQL query, below, with search text in the XForms input. Then it sends an XForms submission with the following action:{encode-for-uri(instance('sparqlQuery'))}&format=xml.

SELECT ?c ?label WHERE {
?c rdf:type gvp:Concept .
?c skos:prefLabel ?label
FILTER langMatches(lang(?label), "en") .
FILTER regex(?label, "SEARCH_QUERY", "i") .
ORDER BY ASC(?label)

Assume that the query above includes the necessary SKOS and GVP prefixes. The options in the select box in the user interface are supplied by the SPARQL XML results.  You can see the code here.

What's it do?

Other than being an excellent controlled vocabulary source and universally recognized system of identifiers, incorporating Getty AAT ids into finding aids created with EADitor opens the door to the aggregation of content (in a useful way) in other large systems.

EADitor's flickr integration enables the injection of Getty-based machine tags into photo metadata.  AAT URIs are treated as dcterms:format in RDF serializations.  While the Digital Public Library of America doesn't yet make use of linked open data identifiers, it is on their agenda.  Therefore, finding aids which incorporate AAT identifiers, in addition to VIAF, Geonames, and LCSH ids will be among the most useful to researchers, since these are the most easily categorized and filtered in a large information system, such as DPLA.


  1. Hey Ethan, nice!
    AFAIK this is the first usage of Getty AAT Linked Open Data :-)
    It's nice to see people using it after all the hard work we put in.

    But don't use regex. Use the builtin Lucene FTS, eg
    ?c luc:term "SEARCH_QUERY"
    There are FTS sample queries at the endpoint

  2. Done and pushed to github. Thanks!

  3. We're using Getty AAT along with VIAF too in another XForms-based application we're doing for the University of Heidelberg, Germany.

    In our case we're building an editor for VRA (Visual Resouce Association) picture metadata based upon eXist and betterFORM as the XForms engine.

    The whole application is generated from XML Schema and includes these servives.

  4. I started an XForms list/google group for the LAM community years ago, but it hasn't gathered much discussion in years. It would be great to start these conversations up again. I'm almost certain the only person using XForms for EAD and EAC-CPF, but there are at least a few VRA Core and MODS implementations out there. One of my colleagues at Northwestern University had been developing an editor for VRA Core to plug into their Fedora repository. There's more here:

  5. Ethan

    I am co-chair of the VRA Core Oversight Committee which manages and oversees develop of the standard. I had heard of the VRA Core editor developed at Northwestern but wasn't sure if it was actively still be used and whether it was ever made available for others to use. Do you happen to know its current status or who I could contact at Northwestern?

    1. I don't know the status, but you could try contacting Bill Parod at Northwestern.