Thursday, December 1, 2016

Experimenting with IIIF, CIDOC-CRM, and the Europeana Data Model

One of our major tasks in the future is to facilitate sophisticated analysis of Greek pottery aggregated by means of coreferencing between Kerameikos.org concepts and other vocabulary systems. The proof of concept that we demonstrated at CAA in Paris included dozens of Greek vases from the Getty and British Museum. One such immediate potential data partner is the Harvard Art Museums.

The Harvard Art Museums have adopted an open approach to their collection and have implemented a powerful and well-documented API. This API has allowed us to integrate thousands of Greek and Roman coins from their collection into Nomisma.org to be made available through several type corpus projects (like Online Coins of the Roman Empire). Harvard contains a nice collection of Greek pottery and a means of harvesting these materials programmatically. Furthermore, they are an adopter of the International Image Interoperability Framework (IIIF), which would enable zooming of large-scale images or dynamic extraction of portions of images, as well as facilitate the annotation of these images with related iconographic or decorative subject matter or inscriptions. Since we are using CIDOC-CRM to describe the vases, the question is: how can we extend our model to include metadata that will enable the integration of IIIF functionality directly in Kerameikos.org?

Fortunately, the hard work has already been done for us. Europeana has already published specifications for linking to IIIF services and metadata manifests within the Europeana Data Model, and there are a number of useful examples, such as those provided by John Howard at the University College Dublin Library.

While we may migrate from FOAF TO EDM properties for linking to large images or thumbnails (edm:preview and others), we do not need to modify the current system of foaf:thumbnail and foaf:depiction in order to accommodate IIIF integration.

We can do this by adding some more triples about the URL of the foaf:depiction.  E.g.,

?vase a crm:E22_Man-Made_Object ;
    foaf:depiction <http://nrs.harvard.edu/urn-3:HUAM:DDC251369_dynmc>.


<http://nrs.harvard.edu/urn-3:HUAM:DDC251369_dynmc> a edm:WebResource ;
     svcs:has_service <https://ids.lib.harvard.edu/ids/iiif/46594017>
    dcterms:isReferencedBy <http://iiif.harvardartmuseums.org/manifests/object/288118>.

<https://ids.lib.harvard.edu/ids/iiif/46594017> a svcs:Service ;
    dcterms:conformsTo <http://iiif.io/api/image> ;
    doap:implements <http://iiif.io/api/image/2/level2.json>.

 In our SPARQL query for aggregating objects, we can optionally extract the dcterms:isReferencedBy for the foaf:depiction of our Greek vase. There's an XSLT conditional for parsing the SPARQL response so that our fancybox JQuery plugin will either show a popup of an image file or a popup window of the Leaflet IIIF plugin.

As a simple proof of concept, I have extracted two vases (RDF here) from Harvard of the Berlin Painter and successfully implemented the RDF model and modified the accompanying SPARQL queries and code accordingly to show zoomable images of these vases.