Thursday, November 19, 2015

The American Numismatic Society Announces the Launch of PELLA

The American Numismatic Society (ANS) is excited to announce the launch of its latest digital platform, PELLA (, an important new research tool for ancient Greek numismatics that provides a comprehensive, easily accessible online catalogue of the coinage produced by the kings of the Macedonian Argead dynasty (c.700–310 BC). Cataloguing the individual coin types of the kings from Alexander I (ruled 498–454 BC), the first of the Macedonian kings to strike coins, down to Philip III Arrhidaeus (ruled 323–317 BC), PELLA allows users to conduct research on specific types, view examples from multiple collections, conduct statistical analyses of weight and other measurement data, and see maps of where the type was minted and where examples have been found in hoards.

As a linked data project, PELLA connects to the relevant pages within the ANS's collection website, MANTIS (, as well as Inventory of Greek Coin Hoards Online (, and incorporates material from other public collections. The current version of PELLA provides links to examples of the coinage (in the name) of Alexander the Great and Philip III Arrhidaeus present in the ANS collection, the M├╝nzkabinett of the State Museums of Berlin, and the British Museum totaling nearly 10,000 examples of individual coins. The current version of PELLA uses the numbering system and typology originally created and published by Martin Price in The Coinage in the Name of Alexander the Great and Philip Arhidaeus, London 1991, with the addition of modifications that greatly enhance the volume’s usefulness as an online resource.

PELLA is made possible by stable numismatic identifiers and linked open data methodologies established by the project. Coin type data are made available with an Open Database License.

Dr. Peter van Alfen, Margaret Thompson Associate Curator of Greek Coins, commented on the announcement. "The Macedonian kings of the Argead dynasty struck arguably the most influential coinages of the ancient Greek world, so it’s appropriate that our first digital project in Greek numismatics focuses on their coinage. We also wanted to provide a specific platform for facilitating research on their coinages, particularly since the ANS holds one of the largest and most important collections of Argead coinage in the world. By being able to link to other important collections, the research potential is significantly enhanced. The ANS is committed to enhancing its online presence and digitizing its collection - PELLA is another example of our progress, and we are proud it well help educate those with general numismatic interest as well as academic researchers.”

Friday, November 13, 2015

Aurelian, Tacitus, and Florian Added to OCRE

Three new emperors from RIC V have been added into Online Coins of the Roman Empire: Aurelian, Tacitus, and Florian. This accounts for about 800 new coin types. Additionally, both the Berlin and British Museum collections have been reprocessed to link to these newly-minted URIs. A handful of coins from Berlin have been added, and about 200 coins from the British Museum have been made available. This is the first time the BM coins have been added since the introduction of emperors from RIC V, so the range is from Valerian to Florian.

While the BM has a tremendous number of Crisis of the Third Century coins, not all of their radiates consistently reference RIC numbers, since RIC is pretty out of date with respect to coinage from this period.

We expect to publish a major update to the ANS collection soon. Thousands of coins have recently been photographed, and these images should make their way onto Mantis as early as next week.

Friday, November 6, 2015

Using XForms to transform Google Spreadsheets into RDF

With XML Amsterdam happening and reading about a lot of the XForms action happening at the conference, it has occurred to me that I haven't written any blog posts in the last few months about technical advances in Nomisma or other projects (like the Digital Library application, which features an XForms interface for MODS that accepts a PDF upload, and sends the PDF into Solr for full-text indexing, as well as dynamically generates EPUB files from TEI). The ETDPub application will get a full technical write-up in a journal eventually, probably code4lib.


On Nomisma, I worked on a few new features in the backend that have greatly reduced my workload. First, I finally implemented a system that makes use of the VoID metadata RDF for data dumps that are contributed into the Nomisma SPARQL endpoint to facilitate the aggregation of coins for OCRE, CRRO, and our other large projects. The VoID RDF is validated to ensure it contains the required title, description, license, etc., and if valid, the data dump is ingested into the SPARQL endpoint. The dump can be refreshed with a click of a button, or a dataset can be removed from the triplestore entirely by passing in a SPARQL/Update query:

PREFIX nmo:    <>
PREFIX void:    <>
PREFIX dcterms:    <>
DELETE {?s ?p ?o} WHERE {
{ ?object void:inDataset <DATASET> ;
  nmo:hasObverse ?s . ?s ?p ?o }
UNION { ?object void:inDataset <DATASET> ;
  nmo:hasReverse ?s . ?s ?p ?o }
UNION { ?object void:inDataset <DATASET> ;
  dcterms:tableOfContents ?s . ?s ?p ?o }
UNION { ?s void:inDataset <DATASET> . ?s ?p ?o}

This is a fairly simple workflow, but it isn't yet complete in that it only accommodates RDF/XML at the moment (need to expand for Turtle and JSON-LD), nor does it validate the data dumps. This saves me a lot of time in that I can simply click a button in the user interface to re-ingest a dump when new matches are made between coins in that dump and new types published in OCRE--or simply refresh the OCRE dump when we publish new types. Before, I used to have to shut down the triplestore for a few minutes, delete the data directory, and then manually upload each RDF dump into the triplestore via command line.

Google Spreadsheets to RDF

The other really significant advancement has reduced my workload significantly with respect to batch publication of new concepts (as RDF) into Nomisma. I would occasionally receive spreadsheets of data to upload into Nomisma, which required me to author a PHP script to transform CSV into RDF, and there were invariably validation problems in the original data.

I spent 1-2 weeks developing an XForms application that could read a Google Spreadsheet (published as an Atom feed) in order to validate the data and import as RDF. First, one begins with a spreadsheet like this.

The user will be presented with an interface like the one below:

The user may map the spreadsheet headings to allowable RDF properties. There are some basic requirements--that there be a Nomisma ID that conforms to xs:anyURI, that there be one English preferred label, one English definition, that there may be no duplicate languages for preferred labels or definitions. There must be both a latitude and a longitude if uploading mint IDs. That sort of thing. The full list of allowable properties and more specific instructions are at

After selecting a valid data mapping (XForms bindings), the user may proceed to the next screen, which then validates each row in the spreadsheet to ensure the data values conform to other bindings. For example, there cannot be blank values for English preferred labels, and skos:exactMatch, skos:closeMatch, skos:broader, and the like must be URIs that begin with the https?:// regular expression (XPath matches() function). If everything is valid, the XForms engine will transform the Atom XML into the appropriate RDF/XML model, save to the filesystem (for versioning in Github), post to the SPARQL endpoint, and then transform the RDF/XML into an XML document for indexing into the Solr search index.

There's a neat additional feature that executes when there's a skos:closeMatch or skos:exactMatch with a wikipedia or dbpedia URL. An XForms submission executes that queries Wikidata based on the article title to extract titles in other languages (essentially facilitating multilingual interfaces by mapping alternate languages into skos:prefLabel in RDF) as well as matching concepts in other vocabulary systems, like VIAF, the Getty AAT/TGN/ULAN, Geonames, etc. In the end of this process, we can some pretty sophisticated RDF that can link people to URIs in other systems and model their relationship to a political entity or dynasty with the org ontology, e.g.,

We have created nearly 1,000 new Nomisma concepts this summer through this new spreadsheet import mechanism--a great investment in two weeks' of labor to free me from having to write data processing scripts and pushing the responsibility of creating and updating IDs to the numismatic subject specialists.

This import mechanism is open source of course: