Thursday, February 18, 2021

Urdu translations incorporated into HRC, OCRE, and CRRO

Thanks to translations provided by Dr. Asma Ibrahim, curator at the State Bank of Pakistan Museum, Urdu user interface translations have been incorporated into the Numishare framework. Urdu has been activated in Online Coins of the Roman Empire, Coinage of the Roman Republic Online, and all of the NEH-funded Hellenistic Royal Coinages sub-projects (Hellenistic typologies in the Inventory of Greek Coin Hoards database). These Numishare collections have been reindexed into Apache Solr, so that Nomisma.org concepts with Urdu labels are integrated into the user interface. There are not many Urdu labels for Greek and Roman numismatics so far--these have primarily been harvested from Wikidata.org and therefore reflect the coverage of articles from the Urdu language version of Wikipedia. That is to say, many notable entities, such as Alexander the Great, Augustus, or mints, such as Athens, Rome, etc. have relevant articles in Wikipedia, but not denominations or less notable people or corporate bodies.

 

Seleucid Coins (part 1), no. 278, a hemidrachm from Bactria.

This is the first of numerous deliverables for the Oxford-ANS OXUS-INDUS project to publish Bactrian and Indo-Greek typologies through the Hellenistic Royal Coinages umbrella. One of the chief aims of the project is to enhance discoverability and accessibility of Central and South Asian cultural materials to the residents of those regions. We hope to provide translations in other relevant languages in advancement of this goal, and this includes filling in gaps in translations for Nomisma.org URIs. Our analytics suggest that translations of Numishare interfaces into Arabic, Turkish, Bulgarian, and other non-Western European languages has directly contributed into increased usage of our open digital resources in Turkey, North Africa, the Middle East, and Eastern Europe. The introduction of Urdu into the interface is the first modern language in an area that covers the easternmost extent of Hellenistic cultural contact.

Tuesday, February 16, 2021

26,000 Roman Imperial coins from the Portable Antiquities Scheme added to OCRE

The coverage of Roman coin finds in Britain has been expanded dramatically from just over 1,000 in the first batch from the Portable Antiquities Scheme ever ingested (about five years ago) to more than 26,000. About 3,000 coins in the PAS database link directly to Online Coins of the Roman Empire (OCRE) URIs through its internal lookup interface, but another 23,000 links were established by me in a process that took several days worth of cleaning and reconciliation in OpenRefine.

 

RIC VII Treveri 475

I began with a query to the PAS's JSON-based search API to look for any Roman coin with "RIC" in the metadata. I loaded these data, as well as Nomisma IDs for ruler/person depicted, mint, and denomination (when available in the PAS data). With a lot of careful parsing, regex, and a number of other data munging techniques, I was able to isolate RIC numbers, and in combination with the RIC volume number and/or emperor name or Nomisma mint preferred label (particularly for RIC volumes VI to IX, which are organized by mint, rather than emperor), I did numerous passes through the OpenRefine reconciliation API that is inherent to OCRE (and Numishare projects, more broadly). Eventually, I ended up with over 26,000 matches. There may be some false positives here or there, but I'm pretty confident in the accuracy of the matching, and I did a substantial amount of manual checking when the API yielded more than one possible match.

I should note that, with only a few exceptions, Hadrianic coins were ignored, as we need to develop a different process to link to URIs for Richard Abdy's new RIC volume (II [second edition], Part 3) by means of the concordance between the original RIC numbers and the new ones that were published to OCRE in June, 2020.

Many (about half) of the coins link to a parish-level findspot, and so coordinates will appear on maps in OCRE and in the dynamically generated maps in relevant Nomisma concepts.

Finds distribution of Vespasian.

Another half of the coins are published to the PAS from the Iron Age and Roman Coins from Wales (IARCW) dataset. The findspots link to the district level, but do not display on the map in the current user interface. However, many districts can be rendered as GeoJSON polygons, which had been extracted from a Github repository set up by Dan Pett when he worked on the PAS database. Many of these coins are from hoards, and eventually we will be able to to hoard URIs that will be rendered differently on the map, to distinguish from individual finds. I will provide more details about this functionality when Oxford Institute of Archaeology formally launches the Iron Age Coins in Britain project in the next few weeks.

The Ordnance Survey URIs from the PAS database have been resolved to their matching entity in Wikidata, and the Wikidata SPARQL endpoint was used to extract coordinates for parishes, as well as the full administrative hierarchy from parish to country (UK). This makes it possible to query all finds within a district or county, according to modern divisions. I'll provide a more detailed look at this data structure eventually. Eventually all gazetteers used for findspots (whether the Getty Thesaurus of Geographic Names or Geonames.org) will resolve to Wikidata as a centralized authority service, which will make it possible to aggregate finds databases across countries, and query them through a shared gazetteer vocabulary.

Nearly 50,000 total records were extracted from the RIC query from the Portable Antiquities Scheme. About 4,000 are uncertain (and can't be matched to one single RIC number), but that leaves a further 20,000 or so that might be linked with further rounds of cleanup or crowdsourcing. The other major remaining task is to link coins to hoard records, whether these records are published in the PAS database or Coin Hoards of the Roman Empire, and this will enable the query and display of a large swatch of coins ingested into the system that otherwise have no public lat-long coordinates.

Thursday, January 14, 2021

DOIs minted for contributions to Nomisma.org

At long last, I have finally put into production a feature in the Nomisma.org back-end to post dataset metadata to Crossref in order to mint a DOI for each Nomisma editor. The groundwork for this was laid almost exactly two years ago, in the blog post, Formalizing editors and a step toward minting DOIs for Nomisma. However, we have opted toward publishing datasets directly through Crossref's APIs, instead of DataCite, on which the Kerameikos.org project relies for the same functionality. The ANS is already a subscriber to Crossref for minting DOIs for publications in its Digital Library (and eventually its journals), and the subscription charges are more reasonable for such a small institution as the American Numismatic Society.

As I stated in the above blog post:

Nomisma.org data constitute an enormous body of collective intellectual effort, and it's increasingly important that scholarly digital works receive equal weight as traditional publications. Therefore, the creation of DOIs for Nomisma contributions would appear in the scholarly profile in ORCID. Just recently, the AIA issued updated guidelines for the considerations of tenure and promotion, with specific guidelines for the recognition of digital projects, and so our goal of formalizing this recognition within Nomisma keeps us on the cutting edge with respect modern modes of scholarly communication.

By integrating Nomisma.org contributions into the broader Linked Open Data cloud for scholarly communication, the intellectual labor behind creating, defining, and organizing Nomisma concepts is formalized through an ORCID profile, where datasets are joined with more traditional forms of publication, such as journal articles and monographs. It has long been a challenge within Digital Humanities projects to recognize participation in a context that non-digital peers can appreciate with regard to employment or promotion within the academic sphere. There are few examples of Digital Humanities projects being published as a DOI with ORCID integration; we hope that our work in Nomisma will set an example in other DH disciplines. Beyond Nomisma, we aim to mint DOIs for our other typological projects, like OCRE and Hellenistic Royal Coinages. This is particularly important, as both of these projects employed undergraduate students who have gone on to enroll in PhD programs or are early career scholars.


Under the Hood

This new process is relatively straightforward and almost entirely automated by interacting directly with Crossref's APIs.

The Crossref XML file is generated by a source Nomisma SPARQL query to gets a list of editors and the earliest and latest dates of their edits, as well as an optional ORCID URI:

PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX prov:	<http://www.w3.org/ns/prov#>

SELECT ?editor ?name ?orcid (min(?date) as ?creation) (max(?date) as ?update) WHERE {
  ?editor a foaf:Person ;
            skos:inScheme <http://nomisma.org/editor/> ;
            skos:prefLabel ?name .  
  OPTIONAL {?editor skos:exactMatch ?orcid FILTER contains(str(?orcid), "orcid.org")}
  OPTIONAL {
      ?activity a prov:Activity ;
                  prov:atTime ?date.
      {?activity prov:wasAssociatedWith ?editor
          FILTER NOT EXISTS {?activity prov:used ?spreadsheet}}
      UNION {
        ?activity prov:used ?spreadsheet.
        {?spreadsheet dcterms:creator ?editor }
        UNION {?spreadsheet dcterms:contributor ?editor}
      } }
} GROUP BY ?editor ?name ?orcid ORDER BY ?name

 

The SPARQL response is then transformed through an XSLT stylesheet into the XML file above. In the Nomisma XForms back-end, this Crossref XML file is sent to their API, and if successful, each editor RDF is updated to insert the DOI into a dcterms:identifier.

Tuesday, December 15, 2020

First Celtic numismatics Nomisma concepts have been minted

The first of many Celtic numismatic concepts yet to come have been added in Nomisma.org, as part of the Ancient British Coinage (ABC) and Celtic Coins Index projects that are being published by the Institute of Archaeology at the University of Oxford and overseen by Courtney Nimura. These include regions, rulers, and political entities pertinent to Celtic coinage in Britain. Celtic concepts from continental Europe will be published as part of a separate project. The ABC typology will go online by the end of this year or early 2021, with photographic coverage of all Celtic types. The Celtic Coins Index will be published online as an interlinked specimen catalog in 2021, and other numismatic collections (such as the American Numismatic Society) will contribute relevant material as they begin cataloging in new ABC URIs. The ABC type corpus will be published in the Numishare platform and function much like existing projects, like Online Coins of the Roman Empire and Hellenistic Royal Coinages.

Wednesday, December 2, 2020

Roman Republican Die Project: Nomisma LOD models + IIIF annotation for die studies

By now, you might have heard of the launch of the Roman Republican Die Project (RRDP), overseen by Liv Yarrow and Lucia Carbone, and technically organized/developed by myself. This project represents a leap forward into a new Linked Open Data approach to numismatic die studies that had not yet been implemented in the Nomisma.org ecosystem. RRDP consists of several interlinked databases that form a cohesive research platform for Roman Republican die links, based on the massive accumulation of Richard Schaefer's coin cards and binders we published to Archer earlier this summer. The prototype for RRDP includes the dies and annotated coins only for RRC 15/1a and 15/1b so far, but we will expand to include all Republican types over the next few years. Here is a summary of the individual components that comprise RRDP.

  • The RRDP stand-alone site where all of the die URIs will be minted. Each die record will include a network graph and table of links and numeric counts for the die to the related obverse/reverse dies, as well as the obverse or reverse images that have been annotated (see IIIF annotation, below) with that die ID (the linkage is more precisely image URL->coin->obverse/reverse node->die ID).
  • Coinage of the Roman Republic Online will probably serve as the primary entry point to die research on the type level. CRRO has been extended to query the Nomisma.org SPARQL endpoint in order to read a list of die combinations and numeric counts (based on the total number of annotated coins so far, so this number will evolve as we continue to enter data!) and a network graph of obverse and reverse die links. RRC 15/1b has the most extensive graph of the two subtypes annotated in the prototype. You can click from these graphs and tables to view the record and visualizations for individual dies in the RRDP platform.
    Graph for RRC 15/1b


  • The ANS has launched a stand-alone database of auction catalog materials or collections that are not yet contributors in the Nomisma.org LOD ecosystem. A sort of "mirror" of the ANS database, MANTIS, SITNAM is a Numishare site with identical functionality intended, at the moment, to hold coins from Schaefer's clippings. It will eventually be used to publish private materials ad hoc for other digital aggregation projects. Like MANTIS, the numismatic RDF for SITNAM is exported into Nomisma.org's SPARQL endpoint, making these coins available in CRRO in the same manner as other collections. The coverage of RRC 15/1b has grown about 500% with the inclusion of Schaefer's binders. There are approximately 300,000 Republican coins in Schaefer's research materials, which will dramatically increase the coverage in CRRO (currently 50,000 coins from 40 museums or archaeological datasets). Many of Schaefer's coins include measurements, such as weight, that will enhance the research value of CRRO even beyond the die linking.
  • The die links themselves. The die IDs are not stored within the metadata for an individual specimen, but rather stand separately in a Nomisma model that integrates some properties from CIDOC-CRM that will enable multiple scholars to make different die attributions about the same coins, with each scholar's attributions bound to a Named Graph when posted into the Nomisma SPARQL endpoint. For example: 
@prefix nmo: <http://nomisma.org/ontology#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix crm: <http://www.cidoc-crm.org/cidoc-crm/> .
@prefix void: <http://rdfs.org/ns/void#> .

<http://numismatics.org/collection/1969.83.3>
  a <http://nomisma.org/ontology#NumismaticObject> ;
  nmo:hasObverse [ nmo:hasDie [
      rdf:value <http://numismatics.org/rrdp/id/rrc-15.1.o.1> ;
      crm:P141i_was_assigned_by [
        a crm:E13_Attribute_Assignment ;
        crm:P14_carried_out_by <http://nomisma.org/editor/rschaefer>
      ]
    ] ] ;
  nmo:hasReverse [ nmo:hasDie [
      rdf:value <http://numismatics.org/rrdp/id/rrc-15.1.r.1> ;
      crm:P141i_was_assigned_by [
        a crm:E13_Attribute_Assignment ;
        crm:P14_carried_out_by <http://nomisma.org/editor/rschaefer>
      ]
    ] ] ;
  void:inDataset <http://numismatics.org/rrdp/> .

The above TTL binds an existing ANS URI http://numismatics.org/collection/1969.83.3 to an obverse and reverse with an nmo:hasDie blank node with an attribute assignment linking to a die URI attested by Schaefer. This annotation would be posted to the SPARQL endpoint to a Named Graph for http://nomisma.org/editor/rschaefer. Numishare has been extended submit SPARQL queries to Nomisma for die relationships for the type or individual die level. The network visualization uses d3plus (a simplified layer for d3js); the SPARQL results are serialized into JSON for display in d3plus.

It is important to note that the canonical coin URI is stored in our specimen spreadsheet so that duplicate coins are not published to SITNAM. Therefore, when generating the die link RDF, we are able to make statements about existing coin URIs at a Named Graph that do not interfere with the collection-published RDF from the institution that contributed the data into Nomisma. For example, RRDP RRC 15/1 obverse die G will include two coins from SITNAM and one from the ANS, because Schaefer has made a statement about an ANS coin, and we can rely on the ANS's high resolution IIIF images rather than the scans of paper cut-outs.

Schaefer RRC 15/1 Obverse G

IIIF Annotation

It is important to preserve the Schaefer binders as archival research documents in their own right, complete with notes and labels, and so it will be possible to navigate from a specimen in SITNAM to its annotated binder page in Archer.

Since these binders have already been published to Archer, with the images served through our IIIF image server (and therefore, each binder has a IIIF manifest), I have deployed Simple Annotation Server, which is a bootstrapped version of Mirador connected to the latest version of Apache Solr (as the annotation store), running as a Tomcat webapp. Unique IDs for binder specimens are generated in a Google sheet, and then the obverse and reverse images for that coin are annotated with the ID appended with _obv or _rev. 

Annotating individual coins via IIIF

When processing the specimen spreadsheet for publication into SITNAM, my script reads the Solr index and extracts the annotation location and dimensions from the Web Annotation JSON-LD in order to store a IIIF URL pattern for the jpeg for each side of the coin, e.g., http://images.numismatics.org/archivesimages%2Farchive%2Fschaefer.rrdp.b01_0098.jpg/285,1332,476,515/full/0/default.jpg (for http://numismatics.org/sitnam/id/87c989a1). SITNAM links back to the relevant binder page in Archer. Eventually, the Mirador viewer in Archer itself will be plugged into these annotations in the front end, making it possible to navigate from binder pages back to SITNAM or, if applicable, the canonical URI for that coin in its home collection database.

Future Plans

RRDP has received $115,000 or so from the Arete Foundation to complete the project over the next few years. The ANS is going to hire a full-time employee to work on data entry and annotation, and as more coins go into the system, the more accurate and complete the network graphs and metrical analyses become. 

While the current visualizations in CRRO and RRDP are based on die->coin->type relationships alone, it is possible to increase the complexity of these SPARQL queries to dive into the descriptions of the types or other attributes of coins (for example, hoards or findspots). So it will be possible to display die linkages not just for a type, but, for example, all denarii minted from 100-75 BC or all types issued by the same moneyer, or die links for only those coins found in Britain (as recorded in the Portable Antiquities Scheme). As we begin to accumulate more data in RRDP (beyond RRC 15/1), I will begin providing more research examples and building out more sophisticated query interfaces in the RRDP platform. This is really just the tip of the iceberg for what will be possible in this new LOD-oriented die study infrastructure.

Tuesday, September 8, 2020

Deprecating TimeMap for Leaflet for type/hoard maps

At long last, I have decided to replace the TimeMap library that combined an OpenLayers map with the SIMILE Timeline widget. This library has been a part of OCRE (and other type corpora) since the earliest phase of the project (late 2012/early 2013) to display the geographic distribution of hoards related to a coin type, with a timeline of hoard closing dates. Scrolling through this timeline forces hoards to appear or disappear on the map. This form of visualization has a useful function in that it might show patterns of hoards appearing in particular locations in the same time period. However, most researchers want to see all of the hoards visible on the map at once by default, and there was no way to turn on or off the appearing and disappearing of findspots when scrolling the timeline.

 

TimeMap: only a few hoards visible at once for RRC 50/2.

 

RRC 50/2: all hoards are visible in Leaflet/GeoJSON

 

The GeoJSON for a coin type now includes Features for each hoard, conforming to Karl Grossner's GeoJSON-T extension for date ranges for the closing date. Ideally, I would like these closing dates to be represented as a histogram rather than a timeline, as demonstrated by a prototype of WebMaps-T here. This, I believe, is a more useful visualization of of the temporal distribution of coin types. WebMaps-T is not quite ready for production yet, but I have moved forward with deprecating TimeMap, replacing it with a Leaflet map that simply shows all hoards as points, without respect to their temporal component. This at least fulfills the primary research use case: showing all of the hoards simultaneously on the map.

Monday, August 31, 2020

First pass at mapping Nomisma.org to Linked Art JSON-LD

I have made some updates to both Numishare and Nomisma.org's back-ends to facilitate improved and more consistent content negotiation. I have applied a Content-Language header to the response for coin/type pages in Numishare, based on whether the language passed via request parameter (?lang) or content negotiation by the browser settings (Accept-Language) is present within the Numishare translations. 

More importantly, though, is that the Link header has been added into the requests for coin/type URIs in Numishare (as well as the browse page, because a user can request the Atom XML or untransformed Solr XML via content negotiation). The Link headers have also been applied to the URI for any concept or concept scheme in Nomisma.org. 

This follows examples established W3C Content Negotiation by Profile draft.

A `curl -I` of a URI includes a a Link to itself as a text/html resource with rel="canonical", but it will also include a list of other comma separated  rel="alternate" resources found at the same URI, but with an array of acceptable content types (different serializations of RDF, the NUDS/XML document, KML, and/or GeoJSON) and, in some cases, an additional profile URI. 

 

Requesting headers for http://nomisma.org/id/rome

For most serializations of RDF that are available (RDF/XML, Turtle, and JSON-LD), the profile URI is set to http://nomisma.org/ontology#, to reflect the Nomisma data model for coins, types, and SKOS concepts. Another JSON-LD serialization is available in the Linked Art profile, https://linked.art/ns/v1/linked-art.json. It is now possible to request this profile for a Nomisma concept through content negotiation, e.g.:

curl -H "Accept: application/ld+json;profile=\"https://linked.art/ns/v1/linked-art.json\""
    http://nomisma.org/id/rome


Content negotiation was already possible in Numishare, but now the Link headers indicate to a script or robot that additional content types and profiles are available for consumption.

The Nomisma.org Linked Art JSON-LD follows the spec for People and Organizations (including dynasties) and Places. For other types of concepts in Nomisma, they are defined generally as crm:E55_Type, but are not distinguished further by material, denomination, object type, etc. We will implement these classifications as they are documented in the Linked Art specification. Here's a representation of Seleucus I according to this model: https://gist.github.com/ewg118/8ccab36087a42b71ef15ece7b160f09a. This includes the preferred label in English, the English definition, matching URIs, and memberships in the Seleucid Empire and Seleucid Dynasty. A further conneg request of the latter two URIs include further context about those organizations, including the formation and dissolution dates.

In theory, a parser capable of reading Linked Art JSON-LD for a Human Made Object (for example, a coin in our collection) can crawl from the object data into any associated Nomisma.org concept. A parser can request the HEAD for a Nomisma URI, read that a serialization for the Linked Art profile exists, request the data via content negotiation for the content type and profile, and then harvest or display additional contextual information about the entities related to the object.

I got these serializations up and running in about a day, and my next tasks will be to copy and paste these new functions into Kerameikos.org's back-end and xEAC, so that it will be possible to serialize EAC-CPF archival authorities into Linked Art JSON-LD for broader reuse in Linked Open Data systems.