Thursday, August 31, 2017

Extending Numishare for IIIF

The American Numismatic Society is in the process of migrating both its own production web applications and to a central dedicated Rackspace server from the Rackspace cloud. The new server has a lot more resources, which will make our projects more stable and efficient. Furthermore, the extra storage, CPU, and RAM will now make it possible to publish high resolution images through IIIF. All of our high resolution images have been transferred to the new server (over 420GB), and when we flip the switch on the domain names over to the new server, Mantis will now feature high resolution zooming of the obverse and reverse images of about 150,000 objects in its collection. The RDF exports from Mantis for both and Pelagios will include IIIF service metadata conforming to the Europeana Data Model extension (already detailed in older posts). This means that the high-res coverage of Roman Republican, Imperial, and coinage of Alexander the Great will be increased by 60,000 coins in CRRO, OCRE, and PELLA.

Updating NUDS and Numishare

The NUDS XSD schema has namespaced METS for capturing image links for thumbnails and reference images for both the obverse and reverse of the coin. A mets:file[@USE='iiif'] has been added into the mets:fileGrp for both the obverse and reverse. The mets:FLocat URL points to the IIIF service. This is a simple XML model modification that needed to be addressed in Numishare's code in several contexts:

IIIF images rendered in Mantis

  • If there's a mets:file[@USE='iiif'] detected when rendering the HTML page for an object, the obverse and reverse IIIF services are rendered with Leaflet (above)
  • As above, in the NUDS->RDF serialization, the EDM IIIF extension includes an edm:WebResource, svcs:Service to capture IIIF service metadata
  • The Solr->Nomisma, Pelagios RDF for large data exports will now include IIIF service metadata since the service URI for each image is indexed into Solr



I have authored an XSLT stylesheet that transforms the NUDS XML document for a physical object into a JSON manifest. This transformation process extracts metadata from the NUDS typological and physical descriptions and generates a sequence of two canvases: one for the obverse and the other for the reverse.

This XSLT compiles a variable of an XML metamodel by applying templates to NUDS and METS elements. This metamodel is then piped through templates in order to construct JSON. The metamodel includes XML elements such as _array, _object, __@id, __@type, which are then transformed into proper JSON on the output with Orbeon's XML Pipeline Language. The model is similar in concept to how XForms constructs an XML model from a JSON service according to the XForms 2.0 specification.

You can view an example of a manifest at Here it is rendered in Universal Viewer.

I plan to expand this functionality so that IIIF manifests can be derived from NUDS + SPARQL results for coin types so that it will be possible to see a listing of all available images for a coin type, which will lend itself to more efficient annotation of iconographic features, monograms, and other sorts of symbols. These monograms will link to URIs defined in type corpora. We will be creating the full array of Hellenistic monograms as part of the NEH-funded Hellenistic Royal Coinages project. Ultimately, I would like these monograms to be annotated on images, where available. This isn't a feature of the project that we outlined in our application, but will come as an added bonus.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.