Blog

Karl Ward

Karl has moved on from Crossref. Karl Ward was a Principal R&D Developer with Crossref until January 2018.

Turning DOIs into formatted citations

Today two new record types were added to dx.doi.org resolution for Crossref DOIs. These allow anyone to retrieve DOI bibliographic metadata as formatted bibliographic entries. To perform the formatting we’re using the citation style language processor, citeproc-js which supports a shed load of citation styles and locales.

In fact, all the styles and locales found in the CSL repositories, including many common styles such as bibtex, apa, ieee, harvard, vancouver and chicago are supported. First off, if you’d like to try citation formatting without using content negotiation, there’s a simple web UI that allows input of a DOI, style and locale selection. If you’re more into accessing the web via your favorite programming language, have a look at these content negotiation curl examples. To make a request for the new “text/bibliography” record type: $ curl -LH “Accept: text/bibliography; style=bibtex” http://dx.doi.org/10.1038/nrd842 @article{Atkins_Gershell_2002, title={From the analyst’s couch: Selective anticancer drugs}, volume={1}, DOI={10.1038/nrd842}, number={7}, journal={Nature Reviews Drug Discovery}, author={Atkins, Joshua H. and Gershell, Leland J.}, year={2002}, month={Jul}, pages={491-492}} A locale can be specified with the “locale” record type parameter, like this: $ curl -LH “Accept: text/bibliography; style=mla; locale=fr-FR” http://dx.doi.org/10.1038/nrd842 Atkins, Joshua H., et Leland J. Gershell. « From the analyst’s couch: Selective anticancer drugs ». Nature Reviews Drug Discovery 1.7 (2002): 491-492. You may want to process metadata through CSL yourself. For this use case, there’s another new record type, “application/citeproc+json” that returns metadata in a citeproc-friendly JSON form: $ curl -LH “Accept: application/citeproc+json” http://dx.doi.org/10.1038/nrd842 {“volume”:“1”,“issue”:“7”,“DOI”:“10.1038/nrd842”,“title”:“From the analyst’s couch: Selective anticancer drugs”,“container-title”:“Nature Reviews Drug Discovery”,“issued”:{“date-parts”:[[2002,7]]},“author”:[{“family”:“Atkins”,“given”:“Joshua H.”},{“family”:“Gershell”,“given”:“Leland J.”}],“page”:“491-492”,“type”:“article-journal”} Finally, to retrieve lists of supported styles and locales, see:

Determining the Crossref membership status of a domain

Karl Ward

Karl Ward – 2011 November 22

In Reverse Look-UpDomains

We’ve been asked a few times if it is possible to determine whether or not a particular domain name belongs to a Crossref member. To address this we’re launching another small service that performs something like a “reverse look-up” of URLs and domain names to DOIs and Crossref member status.

The service provides an API that will attempt to reverse look-up a URL to a DOI and return the membership status (member or non-member) of the root domain of the URL. In practice resolving URLs to DOIs has substantial limitations - many publishers redirect the resolution URL of DOIs to other online content and URLs become clogged up with session IDs and other cruft appearing in their query parameters. All of this means it is unlikely that the URLs that appear to be the end result of DOI resolution are actually the URLs pointed to.

Family Names Service

Karl Ward

Karl Ward – 2011 October 06

In APIsFamily Names

Today I’m announcing a small web API that wraps a family name database here at Crossref R&D. The database, built from Crossref’s metadata, lists all unique family names that appear as contributors to articles, books, datasets and so on that are known to Crossref. As such the database likely accounts for the majority of family names represented in the scholarly record.

The web API comes with two services: a family name detector that will pick out potential family names from chunks of text and a family name autocompletion system.