<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>R&amp;D on Crossref</title><link>https://www-crossref-org.turing.library.northwestern.edu/categories/rd/</link><description>Recent content in R&amp;D on Crossref</description><generator>Hugo 0.139.4</generator><language>en-us</language><managingEditor>support@crossref.org (Crossref/Cazinc/Benoît Benedetti)</managingEditor><webMaster>support@crossref.org (Crossref/Cazinc/Benoît Benedetti)</webMaster><lastBuildDate>Wed, 03 Apr 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://www-crossref-org.turing.library.northwestern.edu/categories/rd/" rel="self" type="application/rss+xml"/><item><title>Testing times</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/testing-times/</link><pubDate>Wed, 03 Apr 2024 00:00:00 +0000</pubDate><author>Martin Eve</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/testing-times/</guid><description>&lt;p>One of the challenges that we face in Labs and Research at Crossref is that, as we prototype various tools, we need the community to be able to test them. Often, this involves asking for deposit to a different endpoint or changing the way that a platform works to incorporate a prototype.&lt;/p>
&lt;p>The problem is that our community is hugely varied in its technical capacity and level of ability when it comes to modifying their platform. Some mega-publishers, for instance, outsource their platforms and so are dependent on third party developers/organisations when they want to make a change. Many smaller publishers, by contrast, use systems such as OJS, which come with Crossref plugins that make life very easy… but that require hard code changes to accommodate prototypes. Such changes are way beyond the technical capacity of most journal editors.&lt;/p>
&lt;p>So how can we prototype new ideas and test them? One way is by creating new interstitial interfaces that allow people to manually supplement metadata or register for prototype services. Of course, this requires additional work on behalf of the user. Every time they wish to participate they have to visit an extra web page and re-input details that, surely, were included in the original deposit.&lt;/p>
&lt;p>Another way would be for plugin developers to have an advanced option field that allowed end-users to change their deposit endpoint. It would be excellent to see this feature in OJS, Janeway, and also proprietary systems. This would allow us to work with the community to test new prototype mechanisms, without forcing anyone to edit code. Many systems already include the ability to switch between Crossref’s “test” system and our live deposit API. All I am really suggesting here is the logical next step: allow advanced users to specify a deposit endpoint of their own choosing so that we can give them access to prototype systems.&lt;/p>
&lt;p>Of course, it’s not always that simple. Sometimes, prototype systems will require new data fields on submission, for example. In those cases, there is nothing for it except to modify the plugin or to provide a separate interface. But sometimes, as in the case of the Op Cit project (more on which soon), all the data is already in place; we just need to direct users to a different endpoint. Such changes would definitely make testing times less trying.&lt;/p></description></item><item><title>Credential Checking at Crossref</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/credential-checking-at-crossref/</link><pubDate>Fri, 15 Mar 2024 00:00:00 +0000</pubDate><author>Martin Eve</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/credential-checking-at-crossref/</guid><description>&lt;div class="shortcode-divwrap align-right">
&lt;span>&lt;figure>&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/2024/credential-checking.png" width="75%">
&lt;/figure>
&lt;/span>
&lt;/div>
It turns out that one of the things that is really difficult at Crossref is checking whether a set of Crossref credentials has permission to act on a specific DOI prefix. This is the result of many legacy systems storing various mappings in various different software components, from our Content System through to our CRM.
&lt;p>To this end, I wrote a basic application, &lt;a href="https://gitlab.com/crossref/labs/credcheck" target="_blank">credcheck&lt;/a>, that will allow you to test a Crossref credential against an API.&lt;/p>
&lt;p>There are two modes of usage. First, a command-line interface that allows you to run a basic command and get feedback:&lt;/p>
&lt;p>          Usage: cli.py [OPTIONS] USERNAME PASSWORD DOI&lt;/p>
&lt;p>Second, you can use it as a programmatic library in Python:&lt;/p>
&lt;p>          import cred&lt;br>
          credential = cred.Credential(username=username, password=password, doi=doi)&lt;/p>
&lt;p>          if not credential.is_authenticated():&lt;br>
          &amp;hellip;&lt;/p>
&lt;p>          if credential.is_authorised():&lt;br>
          &amp;hellip;&lt;/p>
&lt;p>The tool splits down authentication (whether the given username and password are valid) and authorisation (whether the valid credentials are usable against a specific DOI/prefix).&lt;/p>
&lt;p>For technical information, the way this works is by attempting to run a report on the specific DOI in question and then scraping the response page. We hope, at some future point, that there will be a real API for this, but for now this solves the problem as a bridge.&lt;/p></description></item><item><title>Feedback on automatic digital preservation and self-healing DOIs</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/feedback-on-automatic-digital-preservation-and-self-healing-dois/</link><pubDate>Thu, 28 Sep 2023 00:00:00 +0000</pubDate><author>Martin Eve</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/feedback-on-automatic-digital-preservation-and-self-healing-dois/</guid><description>&lt;p>Thank you to everyone who responded with feedback on the Op Cit proposal. This post clarifies, defends, and amends the original proposal in light of the responses that have been sent. We have endeavoured to respond to every point that was raised, either here or in the document comments themselves.&lt;/p>
&lt;p>&lt;b>We strongly prefer for this to be developed in collaboration with CLOCKSS, LOCKSS, and/or Portico, i.e. through established preservation services that already have existing arrangements in place, are properly funded, and understand the problem space. There is low level of trust in the Internet Archive, also given a number of ongoing court cases and erratic behavior in the past. People are questioning the sustainability and stability of IA, and given it is not funded by publishers or other major STM stakeholders there is low confidence in IA setting their priorities in a way that is aligned with that of the publishing industry.&lt;/b>&lt;/p>
&lt;p>We acknowledge that some of our members have a low level of trust in The Internet Archive, but many of our (primarily open access members) work very closely with the IA and our research has shown that, without the IA, the majority our smaller open access members would have almost no preservation at all. We have already had conversations with CLOCKSS and Portico about involvement in the pilot and thinking through what a scale-to-production would look like. That said, for a proof-of-concept, the Internet Archive presents a very easy way to get off the ground, with a stable system that has been running for almost 30 years.&lt;/p>
&lt;p>&lt;b>This seems to be a service for OA content only, but people wonder for how long. Someone already spotted an internal CrossRef comment on the working doc that suggested “why not just make it default for everything &amp;amp; everyone”, and that raises concern.&lt;/b>&lt;/p>
&lt;p>The primary audience for this service is small OA publishers that are, at present, poorly preserved. These publishers present a problem for the whole scholarly environment because linking to their works can prove non-persistent if preservation is not well handled. Enhancing preservation for this sector therefore benefits the entire publishing industry by creating a persistent linking environment. We have no plans to make this the “default for everything and everyone” because the licensing challenges alone are massive, but also because it isn’t necessary. Large publishers like Elsevier are doing a good job of digitally preserving their content. We want this service to target the areas that are currently weaker.&lt;/p>
&lt;p>Crossref will always respect the content rights of our members. We never force our members to release their content through Crossref that they don&amp;rsquo;t ask us to release.&lt;/p>
&lt;p>The purpose of the Op Cit project is to make it easier for our members to fulfil commitments they already made when they joined Crossref.&lt;/p>
&lt;p>Crossref is fundamentally an infrastructure for preserving citations and links in the scholarly record. We cannot do that if the content being cited or linked to disappears.&lt;/p>
&lt;p>When signing the Crossref membership agreement, members agree to employ their best efforts to preserve their content with archiving services so that Crossref can continue to link citations to it even in extremis. For example- if they have ceased operations.&lt;/p>
&lt;p>Some of our members already do this well. They have already made arrangements with the major archiving providers. They do not need the Op Cit service to help them with archiving. However, the Op Cit service will still help them ensure that the DOIs that they cite continue work. So it will still benefit them even if they don&amp;rsquo;t use it directly.&lt;/p>
&lt;p>However, our research shows that many of our members are not fulfilling the commitments they made when joining Crossref. Over the next few years, we will be trying to fix this. Primarily through outreach- encouraging members to set up and record with Crossref archiving arrangements with the archives of their choice.&lt;/p>
&lt;p>But we know some members will find this too technically challenging and/or costly. [And frankly, given what we&amp;rsquo;ve learned of the archiving landscape, we can see their point.] The proposed Op Cit service is for these members. The vast majority of these members are Open Access publishers, so the &amp;ldquo;rights&amp;rdquo; questions are far more straightforward- making the implementation of such a service much more tractable.&lt;/p>
&lt;p>&lt;b>Someone asked what this means for the publisher-specific DOI prefix for this content? Will this be lost?&lt;/b>&lt;/p>
&lt;p>No.&lt;/p>
&lt;p>&lt;b>There is concern about the interstitial page that Crossref would build that gives the user access options. The value of Crossref to publishers is adding services that are invisible and beneficial to users, not adding a visible step that requires user action.&lt;/b>&lt;/p>
&lt;p>There is nothing in Crossref’s terms that says that we have to be invisible. The basic truth is that detecting content drift is really hard and several efforts to do so before have failed. Without a reliable way of knowing whether we should display the interstitial page, which may become possible in future, we have to display something for now, or the preservation function will not work.&lt;/p>
&lt;p>Crossref has, also, supported user-facing interstitial services for over a decade, including:&lt;/p>
&lt;ul>
&lt;li>Multiple Resolution&lt;/li>
&lt;li>Coaccess&lt;/li>
&lt;li>CrossMark&lt;/li>
&lt;li>Crossref Metdata Search&lt;/li>
&lt;li>REST API&lt;/li>
&lt;/ul>
&lt;p>So we have a long track record of non-B2B service provision.&lt;/p>
&lt;p>&lt;b>There is confusion about why Crossref seems to want to build the capacity to “lock” records in absence of flexibility. People feel no need for Crossref to get involved here.&lt;/b>&lt;/p>
&lt;p>This is a misunderstanding of the terminology. The Internet Archive allows the domain owner to request content to be removed. This would mean that, in future, if a new domain owner wanted, they could remove previously preserved material from the archive, thereby breaking the preservation function. When we say we want to “lock” a record, we mean that a future domain owner cannot remove content from the preservation archive. This also prevents domain hijackers from compromising the digital preservation.&lt;/p>
&lt;p>&lt;b>There is concern about the possibility to hack this system to give uncontrolled access to all full-text content by attacking publishing systems and making them unavailable. This is an unhappy path scenario but something on people’s minds.&lt;/b>&lt;/p>
&lt;p>The system only works on content that is provided with an explicitly stated open license (see response above).&lt;/p>
&lt;p>&lt;b>I think this project would be improved by better addressing the people doing the preservation maintenance work that this requires. Digital preservation is primarily a labor problem, as the technical challenges are usually easier than the challenge of consistently paying people to keep everything maintained over time. Through that lens, this is primarily a technical solution to offload labor resources from small repositories to (for now) the Internet Archive, where you can get benefits from the economies of scale. There are definitely cases where that could be useful! But I think making this more explicit will further a shared understanding of advantages and disadvantages and help you all see future roadblocks and opportunities for this approach.&lt;/b>&lt;/p>
&lt;p>This consultation phase was designed, precisely, to ensure that those working in the space could have their say. While this is a technical project, we recognize that any solution must value and understand labor. That means that any scaling to production must and will also include a funding solution to address the social labor challenge.&lt;/p>
&lt;p>&lt;b>Is there any sense in polling either the IA Wayback Machine or the LANL Memento Aggregator first to determine if snapshot(s) already exist?&lt;/b>&lt;/p>
&lt;p>We could do this, but it would add an additional hop/lookup on deposit. Plus, we want to store the specific version deposited at the specific time it is done, including re-deposits.&lt;/p>
&lt;p>&lt;b>I would encourage looking at a distributed file system like IPFS (&lt;a href="https://en.wikipedia.org/wiki/InterPlanetary_File_System%29" target="_blank">https://en.wikipedia.org/wiki/InterPlanetary_File_System)&lt;/a>. This would allow easy duplication, switching and peering of preservation providers. Correctly leveraged with IPNS; resolution, version tracking and version immutability also become benefits. Later after beta the IPNS metadata could be included as DOI metadata.&lt;/b>&lt;/p>
&lt;p>We had considered IPFS for other projects, but really, for this, we want to go with recognised archives, not end up running our own infrastructure for preservation.&lt;/p>
&lt;p>&lt;b>It might be useful to look into the 10320/loc option for the Handle server: the &lt;a href="https://www.handle.net/overviews/handle_type_10320_loc.html" target="_blank">https://www.handle.net/overviews/handle_type_10320_loc.html&lt;/a>. I can imagine a use case where a machine agent might want to access an archive directly without needing to go to an interstitial page.&lt;/b>&lt;/p>
&lt;p>It is good to see reference to the HANDLE system and alternative ways that we might use it. We will consult internally on the technical viability of this.&lt;/p>
&lt;p>In general, though, we prefer to use web-native mechanisms when they are available. We already support direct machine access via HTTP redirects and by exposing resource URLs in the metadata that can be retreivd via content negotiation. In this case, we would be looking at supporting the 300 (multiple choice) semantics.&lt;/p>
&lt;p>&lt;b>I&amp;rsquo;m curious to see how this will work for DOI versioning mechanisms like in Zenodo, where you have one DOI to reference all versions as well as version specific DOIs. If your record contains metadata + many files and a new version just versions one of the several files my assumption is that within the proposed system an entire new set (so all files) is archived. In theory this could also be a logical package, where simply the delta is stored, but I guess in a distributed preservation framework like the one proposed here, this would be hard to achieve.&lt;/b>&lt;/p>
&lt;p>This is a good point and it could lead to many more, frustrating, hops before the user reaches the content. We will conduct further research into this scenario, but we also note that Zenodo&amp;rsquo;s DOIs do not come from Crossref, but from DataCite.&lt;/p>
&lt;p>&lt;b>There&amp;rsquo;s a decent body of research at this point on automated content drift detection. This recent paper: &lt;a href="https://ceur-ws.org/Vol-3246/10_Paper3.pdf" target="_blank">https://ceur-ws.org/Vol-3246/10_Paper3.pdf&lt;/a> likely has links to other relevant articles.&lt;/b>&lt;/p>
&lt;p>We have no illusions about the difficulty of detecting semantic drift but this is helpful and interesting. We will read this material and related articles to appraise the current state of content drift detection.&lt;/p>
&lt;p>&lt;b>Out of curiosity, will we be using one type of archive (i.e., IA or CLOCKSS or LOCKSS or whatever) or will it possibly be a combination of a few archives? Reading the comments, it looks like some of them charge a fee, so I see why we&amp;rsquo;d use open source solutions first. Also, eventually could it be something that the member chooses? i.e. which archive they might want to use. Again, the latter question isn&amp;rsquo;t something for the prototype, but I&amp;rsquo;m curious about this use case. Also, I wonder about the implementation details if it is more than one archive. The question is totally moot of course, if we&amp;rsquo;re sticking with one archive for now.&lt;/b>&lt;/p>
&lt;p>The design will allow for deposit in multiple archives – and we will have to design a sustainability model that will cover those archives that need funding. As above, this is an important part of the move to production.&lt;/p>
&lt;p>&lt;b>Will be good for future interoperability to make sure at least one of the hashes is a SoftWare Hash IDentifier (see swhid.org). The ID is not really software specific and will interoperate with the Software Heritage Archive and git repositories.&lt;/b>&lt;/p>
&lt;p>We will certainly ensure best practices for checksums.&lt;/p>
&lt;p>&lt;b>Comments on the Interstitial Page&lt;/b>&lt;/p>
&lt;p>&lt;b>I&amp;rsquo;d keep the interstitial page without planning its eradication. (See why in the last paragraph)
I&amp;rsquo;d even advocate for it to be a beautiful and useful reminder to users that &amp;ldquo;This content is preserved&amp;rdquo;.
I&amp;rsquo;d go further and recommend that publishers deposit alternate urls of other preservation agents like PMC etc, that would also be displayed. This page could even be merged with multi-resolution system.&lt;/p>
&lt;p>The why: I&amp;rsquo;m concerned of hackers and of predatory publishers exploiting the spider heuristics by highjacking small journals and keeping just enough metadata as in them as to fool the resolver and then adding links to whatever products, scams and whatnots&amp;hellip;&lt;/b>&lt;/p>
&lt;ul>
&lt;li>&lt;/li>
&lt;/ul>
&lt;p>&lt;b>Technical. Scraping landing pages is hard. We&amp;rsquo;ve had a lot of projects to do this over the years. You can mitigate the risk by tiering / heuristics. Maybe even feedback loop to publishers to encourage them to put the right metadata on the landing page.&lt;/b>&lt;/p>
&lt;ul>
&lt;li>&lt;/li>
&lt;/ul>
&lt;p>&lt;b>This is the only part of this proposal that I don&amp;rsquo;t like. People are used to DOIs resolving directly to content, and I don&amp;rsquo;t think that should be changed unless absolutely necessary. I would prefer that the DOI resolves to the publisher&amp;rsquo;s copy if it exists, and the IA copy otherwise.&lt;/b>&lt;/p>
&lt;p>We will continue the discussion about the interstitial page. The basic technical fact, as above, is that detecting content drift is hard and so we may need, at least, to start with the page. However, some commentators presented reasons for keeping it.&lt;/p>
&lt;p>We also have already supported interstitial pages for multiple resolution and co-access for over a decade.&lt;/p>
&lt;p>It is member&amp;rsquo;s choice whether they wish to deposit alternative URLs and we already have a mechanism for this.&lt;/p></description></item><item><title>A Request for Comment - Automatic Digital Preservation and Self-Healing DOIs</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/a-request-for-comment-automatic-digital-preservation-and-self-healing-dois/</link><pubDate>Thu, 29 Jun 2023 00:00:00 +0000</pubDate><author>Martin Eve</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/a-request-for-comment-automatic-digital-preservation-and-self-healing-dois/</guid><description>&lt;p>Digital preservation is crucial to the &amp;ldquo;persistence&amp;rdquo; of persistent identifiers. Without a reliable archival solution, if a Crossref member ceases operations or there is a technical disaster, the identifier will no longer resolve. This is why the Crossref member terms insist that publishers make best efforts to ensure deposit in a reputable archive service. This means that, if there is a system failure, the DOI will continue to resolve and the content will remain accessible. This is how we protect the integrity of the scholarly record.&lt;/p>
&lt;p>I will write another post, soon, on the reality of preservation of items with a Crossref DOI, but recent work in the Labs team has determined that we have a situation of drastic under-preservation of much scholarly material that has been assigned a persistent identifier. In particular, content from our smaller Crossref members, with limited financial resources, is often precariously preserved. Further, DOI URLs are not always updated, even when, for instance, the underlying domain has been registered by a different third party. This results in DOIs pointing to new, hijacked, and elapsed content that does not reflect the metadata that we hold.&lt;/p>
&lt;p>We (&lt;a href="https://www-crossref-org.turing.library.northwestern.edu/people/geoffrey-bilder/" target="_blank">Geoffrey&lt;/a>) have (has) long-harboured ambitions to build a system that would allow for automatic deposit into an archive and then to present access options to the resolving user. This would ensure that all Crossref content had at least one archival solution backing it and greatly contribute to the improved persistent resolvability of our DOIs. We refer to this, internally, as &amp;ldquo;Project Op Cit&amp;rdquo;. And we&amp;rsquo;re now in a position to begin building it.&lt;/p>
&lt;p>However, we need to get this right from the design phase out. We need input from librarians working in the digital preservation space. We need input from members on whether they would use such a service. We are not digital preservation experts and we are acutely aware that we need the expertise of those who are, particularly where we&amp;rsquo;ve had to take some shortcuts. For instance: we are aware that the Internet Archive is perhaps not the first choice of many digital preservation librarians and specialists, who opt for specific scholarly-communications solutions. However, it is easy, open, and free. Hence, we propose for the prototype to use IA, on the assumption that this will be a proof-of-concept only, which we will expand to other archives if there is demand and once it works.&lt;/p>
&lt;p>So: please do read the below and add your comments and questions to this thread in the community forum (link below), or &lt;a href="mailto:meve@crossref.org">send me queries/concerns by email&lt;/a>. It would be excellent if we could receive comments by mid-August 2023. If you would rather comment on a Google doc, &lt;a href="https://docs.google.com/document/d/1UHW8n_ohJhETc4aLK6ZHB3OK0A0270mgM1l4IsNudZ0/edit?usp=sharing" target="_blank">that&amp;rsquo;s also possible&lt;/a>.&lt;/p>
&lt;p>If enough people are interested, we could also host a community call to discuss this design and its prototyping. Do please, when emailing, let me know if this is of interest.&lt;/p>
&lt;hr>
&lt;h2 id="project-op-cit-self-healing-dois">Project Op Cit (Self-Healing DOIs)&lt;/h2>
&lt;h2 id="request-for-comment">Request for Comment&lt;/h2>
&lt;p>This document sets out the problem statement, a proposed prototype solution, and a transition path to production if successful.&lt;/p>
&lt;h2 id="proposed-prototype-solution">Proposed Prototype Solution&lt;/h2>
&lt;p>For members who opt-in to the service, We have a special class of DOI (only for open-access content) where, when the DOI is registered:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>We immediately make an archive of the item with any archiving services that care to participate in the project (minimally, the Internet Archive, which is the easiest for us to begin with, but a modular/pluggable archival system). The &lt;a href="https://archive.org/developers/internetarchive/" target="_blank">Internet Archive Python Librar&lt;/a>y should let us submit to them. We could pursue other arrangements with CLOCKSS, LOCKSS, and Portico.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>We update the XML to reflect the archives to which it has been submitted.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>The DOI landing page is redirected to an interstitial page that we control. This page gives the user access options.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>We develop processes to determine whether the original URL &amp;ldquo;works&amp;rdquo;. The heuristics that define whether a resource has changed substantially or works need long-term consideration and real-world testing. Using the interstitial page approach will allow us to refine this, with a long-term goal of eradicating it.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;center>&lt;figure class="img-responsive">&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/2023/deposit-process-blog.png"
alt="Image showing the process flow from user to OpCit Deposit Endpoint to Preservation System (archive) to Crossref Deposit System (Live API)" width="75%">&lt;figcaption>
&lt;p>Figure 1: The Deposit Process&lt;/p>
&lt;/figcaption>
&lt;/figure>
&lt;p>&lt;figure class="img-responsive">&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/2023/resolution-process-blog.png"
alt="Image showing the process flow from user to DOI to OpCit Deposit Endpoint to Preservation System (preserved copy) to Crossref Deposit System (original publications)" width="75%">&lt;figcaption>
&lt;p>Figure 2: The Resolution Process&lt;/p>
&lt;/figcaption>
&lt;/figure>
&lt;/center>&lt;/p>
&lt;h3 id="potential-challenges">Potential Challenges&lt;/h3>
&lt;ul>
&lt;li>
&lt;p>Content drift. It would be extremely difficult to detect content change vs. (eg) page structure change, except in the case of binary fulltext. However, we can poll for the DOI at an HTML endpoint and detect when binary fulltext items, such as a PDF, change.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Latency on resolver if lookup is real-time. For this reason, we need a periodic crawler so that resolvers do not wait for real-time detection on access.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>If using Internet Archive, the domain owner (at the present moment) can request the removal of content. We would need the capacity to &amp;ldquo;lock&amp;rdquo; records that are being used as Op Cit redirection archival copies. This requires a further conversation with the Internet Archive.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h2 id="prototype-componentsarchitecture">Prototype Components/Architecture&lt;/h2>
&lt;h3 id="registration-proxy-and-database-fleming">Registration Proxy and Database (&amp;ldquo;Fleming&amp;rdquo;)&lt;/h3>
&lt;p>The registration proxy implements a pass-through to the deposit API and hosts a relational database of self-healing DOIs (Postgres). It will be hosted at api.labs.crossref.org/deposit/opcit and clients will have to use this endpoint to deposit. Simultaneously, the proxy will:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Determine the license status of the incoming item.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>If the license is open and fulltext is provided, deposit a copy in selected digital preservation archives. Store proof of licensing attestation.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>In the case of binary files (fulltext PDF), store a hash of the content.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Store the DOI, binary hash, and all URLs in a relational database under &amp;ldquo;pending&amp;rdquo; state.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Pass through the request to Crossref&amp;rsquo;s content registration system.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Monitor the result of this request and remove stored data if registration fails.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Re-registration through Fleming will update existing entries and re-fix their data against content drift at this time.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h3 id="spider-shelob">Spider (&amp;ldquo;Shelob&amp;rdquo;)&lt;/h3>
&lt;p>A series of components that:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Check that &amp;ldquo;pending&amp;rdquo; DOIs have been successfully registered. Remove those that have not and move those that have to &amp;ldquo;active&amp;rdquo; state.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Dereference &amp;ldquo;active&amp;rdquo; DOIs and ensure that we have the most current URL in case updates have gone directly to the live resolver.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Periodically crawl URLs in the self-healing database.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>On HTTP 301 code, update database entry to point to new permanent URL.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>On HTTP 302 code, follow the temporary redirect expecting the original content.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>On HTTP 4xx codes, mark the entry as dead.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>On HTTP 200 code of HTML landing page, parse the page for the presence of the DOI. If the DOI is not present, mark the entry as dead.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h3 id="resolver-proxy-hippocrates">Resolver Proxy (&amp;ldquo;Hippocrates&amp;rdquo;)&lt;/h3>
&lt;ul>
&lt;li>
&lt;p>Display an interstitial landing page with archival versions and an explanation.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>At some future point, for active entries, resolve to the stored URL (faster but could be de-synced) or pass the request to the live resolver (requires an extra hop but will always be in-sync with deposit).&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h3 id="observability-and-statistics">Observability and statistics&lt;/h3>
&lt;p>Metrics we will collect:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Count of DOIs using Op Cit&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Count of visitors arriving on Op Cit landing pages&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Usage count of each outgoing link/access option&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>A daily report will present:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Newly &amp;ldquo;failed&amp;rdquo; entries that we believe have died&lt;/p>
&lt;/li>
&lt;li>
&lt;p>These will be checked extensively, particularly at first, to ascertain whether our failure heuristics are valid&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Entries that have recovered&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>Errors will be logged and monitored via Grafana.&lt;/p>
&lt;h3 id="documentation-and-automated-tests">Documentation and Automated Tests&lt;/h3>
&lt;ul>
&lt;li>
&lt;p>Core assumptions and new behaviours of the platform will be documented as part of the prototype.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Automated tests will be written, especially for the spider (&amp;ldquo;Shelob&amp;rdquo;), which must handle a diverse variety of real-world situations.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h3 id="prototype-architecture-requirements">Prototype Architecture Requirements&lt;/h3>
&lt;ul>
&lt;li>
&lt;p>Postgres RDS for resolution/self-healing DOI data (AWS).&lt;/p>
&lt;/li>
&lt;li>
&lt;p>FastAPI hosting for passthrough proxy (fly.io).&lt;/p>
&lt;/li>
&lt;li>
&lt;p>EC2 hosting for the spider (AWS).&lt;/p>
&lt;/li>
&lt;li>
&lt;p>FastAPI hosting for resolver proxy (fly.io).&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h2 id="transition-to-production">Transition to Production&lt;/h2>
&lt;p>If this prototype garners popular appeal, a transition to production would need to keep some prototype components and rewrite others.&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&amp;ldquo;Fleming&amp;rdquo; would need to be rewritten as a deposit module / integrated with Manifold&amp;rsquo;s (the next-generation system at Crossref) deposit. If this would create too much overhead, it need not be a blocking process in the deposit.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&amp;ldquo;Shelob&amp;rdquo; would continue to need to run continuously and to scale with the adoption of self-healing DOIs unless one of the other options were used.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Prototype architecture will be written so that spidering can be distributed between several servers, if required.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&amp;ldquo;Hippocrates&amp;rdquo; would need to be integrated into the live link resolver. Depending on how a field for a self-healing DOI is embedded in Manifold, this may not need any additional database hits.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h3 id="back-content">Back Content&lt;/h3>
&lt;p>We also have a database of back content stored by the Internet Archive, mapped to DOIs where they have been able to do so. This data source could be used to enable self-healing DOIs on all content in this archive.&lt;/p></description></item><item><title>Crossref Research and Development: Releasing our Tools from the Ground Up</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/crossref-research-and-development-releasing-our-tools-from-the-ground-up/</link><pubDate>Wed, 21 Jun 2023 00:00:00 +0000</pubDate><author>Martin Eve</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/crossref-research-and-development-releasing-our-tools-from-the-ground-up/</guid><description>&lt;p>This is the first post in a series designed to showcase what we do in the Crossref R&amp;amp;D group, also known as &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/labs/" target="_blank">Crossref Labs&lt;/a>, which over the last few years has been strengthened, first with Dominika Tkaczyk and Esha Datta, last year with part of Paul Davis’s time, and more recently, yours truly. Research and development are, obviously, crucial for any organisation that doesn’t want to stand still. The R&amp;amp;D group builds prototypes, experimental solutions, and data-mining applications that can help us to understand our member base, in the service of future evolution of the organisation. One of the strategic pillars of Crossref is that we want to contribute to an environment in which the scholarly research community identifies shared problems and co-creates solutions for broad benefit. We do this in all teams through research and engagement with our expanding community.&lt;/p>
&lt;p>&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/img/labs/creature3.svg" alt="The Crossref Labs Creature"> &lt;img src="https://www-crossref-org.turing.library.northwestern.edu/img/labs/creature2.svg" alt="The Crossref Labs Creature"> &lt;img src="https://www-crossref-org.turing.library.northwestern.edu/img/labs/creature1.svg" alt="The Crossref Labs Creature">&lt;/p>
&lt;p>For example, if the metadata team wants to implement a new field in our schema, it helps to have a prototype to show to members. The Labs team would implement such a prototype. If we want to know the answer to a question about the 150m or so metadata records we have – e.g. how many DOIs are duplicates? – it’s the Labs team that will work on this.&lt;/p>
&lt;p>When building such prototypes, which can often seem esoteric and one-off, though, it can be easy to believe that there is no way anybody else would re-use our components. At the same time, we find ourselves consistently working with the same infrastructures, re-using different code blocks across many applications. One of the tasks I have been working on is to extract these duplicated functions and to get them into external code libraries.&lt;/p>
&lt;p>Why is this important? As many readers doubtless know, Crossref is committed to &lt;a href="https://doi-org.turing.library.northwestern.edu/10.24343/C34W2H" target="_blank">The Principles of Open Scholarly Infrastructure&lt;/a>. For reasons of insurance, everything we do and newly develop is open source and we want our members to be able to re-use the software that we create. It’s also important because, if we centralize these low-level building blocks, we make it much easier to fix bugs when they occur, which would otherwise be distributed across all of our projects.&lt;/p>
&lt;p>As a result, Crossref Labs has a series of small code libraries that we have released for various service interactions. We often find ourselves needing to interact with AWS services. Indeed, Crossref’s live systems are in the process of transitioning to running in the cloud, rather than our own data centre. It makes sense, therefore, for prototype Labs systems to run on this infrastructure, too. However, the boto3 library is not terribly Pythonic. As a result, many of our low-level tools interact with AWS. These include:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://gitlab.com/crossref/labs/claws" target="_blank">CLAWS: the Crossref Labs Amazon Web Services toolkit&lt;/a>. The CLAWS library gives speedy and Pythonic access to functions that we use again and again. This includes downloading files from and pushing data to S3 buckets (often in parallel/asynchronously), fetching secrets from AWS Secrets Manager, generating pre-signed URLs, and more.&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/crossref/labs/longsight" target="_blank">Longsight: A range of common logging functions for the observability of Python AWS cloud applications&lt;/a>. Less mature than CLAWS, this is the starting point for observability across Labs applications. It supports running in AWS Lambda function contexts or pushing your logs to AWS Cloudwatch from anywhere else. It also supports logging metrics in structured forms. Crucially, the logs are all converted into machine-readable JSON format. This allows us to export the metrics into Grafana dashboards to visualize failure and performance.&lt;/li>
&lt;li>&lt;a href="https://gitlab.com/crossref/labs/distrunner" target="_blank">Distrunner: decentralized data processing on AWS services&lt;/a>. Easily the least mature and experimental of these libraries, distrunner is one of the ways that we distribute the workloads of our recurrent data processing. A number of the Labs projects require us to run recurrent data-processing tasks. For instance, my colleague Dominika Tkaczyk has developed the &lt;a href="https://gitlab.com/crossref/labs/sampling-framework" target="_blank">sampling framework&lt;/a> that is regenerated once per week. We use Apache Airflow (and, specifically, Amazon Managed Workflows for Apache Airflow) to host these periodic tasks. This is useful because it gives us quick, visual oversight if tasks fail. However, the Airflow worker instances on AWS are quite severely underpowered and unsuitable for large in-memory activities. Hence, the sampling framework fires up a Spark instance for its processing. Often, though, we do not need the parallelization of Spark and just want to be able to run a generic Python script in a more powerful environment. That’s what distrunner is designed to do. The current version uses &lt;a href="https://www.coiled.io/" target="_blank">Coiled&lt;/a> but this may change in the future.&lt;/li>
&lt;/ul>
&lt;p>While these tools will be useful to nobody except programmers – and this has been quite a technical post – there is a broader philosophical point to be made about this approach, in which everything is available for re-use, “from the ground up”. The point is: we also try, in Labs and in the process of “R&amp;amp;Ding”, to work without privileged access. That is: I don’t get “inside” access to a database that isn’t accessible to external users. I have to work with the same APIs and systems as would an end-user of our services. This means that, when we develop internal libraries, it’s worth releasing them. Because they use systems that are accessible to any of our users.&lt;/p>
&lt;p>I should also say that our openness is more than unidirectional. While we are putting a lot of effort into ensuring that everything new we put out is openly accessible, we are also open to contributions coming in. If we’ve built something and you make changes or improve it, please do get in touch or submit a pull request. Openness has to work both ways if projects are truly to be used by the community.&lt;/p>
&lt;p>Future posts – coming soon! – will introduce some of the technologies and projects that we have been building atop this infrastructure. This includes a Labs API system; new functionality to retrieve unpaginated datasets of whole API routes; a study of the preservation status of DOI-assigned content; and a mechanism for modeling new metadata fields.&lt;/p></description></item><item><title>Martin Paul Eve is joining our R&amp;D group as a Principal Developer</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/martin-paul-eve-is-joining-our-rd-group-as-a-principal-developer/</link><pubDate>Fri, 26 Aug 2022 00:00:00 +0000</pubDate><author>Geoffrey Bilder</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/martin-paul-eve-is-joining-our-rd-group-as-a-principal-developer/</guid><description>&lt;p>I&amp;rsquo;m delighted to say that &lt;a href="https://en.wikipedia.org/wiki/Martin_Paul_Eve" target="_blank">Martin Paul Eve&lt;/a> will be joining Crossref as a Principal R&amp;amp;D Developer starting in January 2023.&lt;/p>
&lt;p>As a Professor of Literature, Technology, and Publishing at Birkbeck, University of London- Martin has always worked on issues relating to metadata and scholarly infrastructure. In joining the Crossref R&amp;amp;D group, Martin can focus full-time on helping us design and build a new generation of services and tools to help the research community navigate and make sense of the scholarly record.&lt;/p>
&lt;p>&lt;a href="https://eve.gd/2022/08/26/moving-on-my-infrastructural-turn/" target="_blank">Martin himself explains the logic of this move on his own blog&lt;/a>, so I won&amp;rsquo;t attempt to do the same here other than to say:&lt;/p>
&lt;blockquote>
&lt;p>praxis makes perfect.&lt;/p>
&lt;/blockquote>
&lt;p>&lt;em>(mic drop)&lt;/em>&lt;/p>
&lt;figure>&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/labs/bookwheel.png"
alt="Because it is a law that all blog posts having to do with anything related to the digital humanties are required to include a picture of a bookwheel, we present an image generated by DALL·E with the folloiwng prompt: &amp;#39;A bookwheel in the style of the 16th-century illustration by Agostino Ramelli and where the books are replaced by open laptops&amp;#39;" width="500" height="500">&lt;figcaption>
&lt;p>&lt;a href="https://labs.openai.com/s/pAPWg9vK7kIn763OLho9QvZ1" target="_blank">Created with DALL·E, an AI system by OpenAI&lt;/a> with the the prompt: &amp;lsquo;A bookwheel in the style of the 16th-century illustration by Agostino Ramelli and where the books are replaced by open laptops&amp;rsquo;&lt;/p>
&lt;/figcaption>
&lt;/figure></description></item><item><title>Announcing our new Head of Strategic Initiatives: Dominika Tkaczyk</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/announcing-our-new-head-of-strategic-initiatives-dominika-tkaczyk/</link><pubDate>Fri, 10 Jun 2022 00:00:00 +0000</pubDate><author>Geoffrey Bilder</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/announcing-our-new-head-of-strategic-initiatives-dominika-tkaczyk/</guid><description>&lt;h2 id="tldr">TL;DR&lt;/h2>
&lt;p>A year ago, we announced that we were putting the &amp;ldquo;R&amp;rdquo; back in R&amp;amp;D. That was when Rachael Lammey joined the R&amp;amp;D team as the Head of Strategic Initiatives.&lt;/p>
&lt;p>And now, with &lt;a href="https://doi-org.turing.library.northwestern.edu/10.64000/jcwr7-q5y75" target="_blank">Rachael assuming the role of Product Director&lt;/a>, I&amp;rsquo;m delighted to announce that &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/people/dominika-tkaczyk/" target="_blank">Dominika Tkaczyk&lt;/a> has agreed to take over Rachael&amp;rsquo;s role as the Head of Strategic Initiatives. Of course, you might already know her.&lt;/p>
&lt;p>We will also immediately start recruiting for a new Principal R&amp;amp;D Developer to work with Esha and Dominika on the R&amp;amp;D team.&lt;/p>
&lt;h2 id="what-does-this-mean-for-rd">What does this mean for R&amp;amp;D?&lt;/h2>
&lt;p>Before I talk about what Dominika&amp;rsquo;s move means in practice, I just want to take a moment to thank Rachael for the time she spent working with us. Over the past year, she has injected a massive amount of energy into the group and rebuilt the team&amp;rsquo;s momentum. This is exactly what we asked her to do.&lt;/p>
&lt;p>Rachael&amp;rsquo;s first task was to repatriate her two R&amp;amp;D colleagues, who we had loaned to work on other urgent projects. Dominika was the technical lead on the port and relaunching of the REST API. Esha was the technical lead for the ROR initiative. In addition, Rachael has been working with Esha, Dominika, Paul Davis, and me on several shorter-term strategic projects that are shaping our overall development strategy.&lt;/p>
&lt;ul>
&lt;li>Exploring and implementing a new approach to building content registration front ends. This approach is schema-driven and bakes in localization and accessibility support from the start. The new approach is currently the basis for the grant registration tool that our Product &amp;amp; Tech teams are now testing with our new funder members.&lt;/li>
&lt;li>Exploring and ultimately rejecting a &amp;ldquo;pull-based&amp;rdquo; approach to registering metadata, where Crossref would harvest structured metadata from member landing pages instead of asking members to deposit it with us via XML. You are not really doing R&amp;amp;D unless some of your ideas fail. In this case, we quickly discovered that the logistics of crawling our members’ websites, combined with the sparsity of structured metadata in landing pages, made a pull-based approach fragile and impractical.&lt;/li>
&lt;li>Exploring the use of ML techniques to fill gaps in the journal classification data that is currently in the REST API. Gaining new data science badges in the process.&lt;/li>
&lt;li>Exploring alternative approaches to building community-extendable reporting tools using standard data science tooling and techniques.&lt;/li>
&lt;li>Exploring how we can help reduce support toil by using data science tools like notebooks to create new support tools and self-serve UIs for information frequently requested by members that can otherwise prove difficult to get using our existing tools.&lt;/li>
&lt;li>Looking at extending the matching technology previously developed by labs to try and &lt;a href="https://doi-org.turing.library.northwestern.edu/10.64000/ske16-xve54" target="_blank">better match funder grant-information research outputs&lt;/a>.&lt;/li>
&lt;/ul>
&lt;p>And this is just a sample of projects Rachael helped promote and prioritize. It is the nature of many of the larger R&amp;amp;D projects that you don&amp;rsquo;t see the immediate results until long after they&amp;rsquo;ve been conceived and put into motion. This means that Rachael has been working on some things over the past year that are not yet public.&lt;/p>
&lt;p>But, with any luck, we may see some significant new developments in how Crossref collects and distributes information about significant updates to the scholarly record- including retractions and withdrawals. We are also likely to see more work to promote data citation amongst our members. And finally, we are likely to see an attempt to create a community-managed and open research classification taxonomy. Of course, as is the case with research projects, there is no guarantee that any of these nascent ideas/projects will make it into a production service. Still, if even one of them does, it will become as vital a part of open scholarly infrastructure as DOIs, ORCIDs, or ROR IDs are now.&lt;/p>
&lt;p>And we will have Rachael and the hard work of the R&amp;amp;D group, important cameos from others, and community input to thank for giving them the initial push to realization. So that&amp;rsquo;s a pretty good track record for just a year in the R&amp;amp;D group.&lt;/p>
&lt;h2 id="passing-the-torch">Passing the torch&lt;/h2>
&lt;p>And this is a track record I&amp;rsquo;m confident that Dominika can match as she takes over Rachael&amp;rsquo;s role.&lt;/p>
&lt;p>Soon after Dominika joined the Crossref R&amp;amp;D team, she started to expand her activities to include more production engineering practice, team leadership, and community outreach. She has also worked extensively with support and outreach- providing them with data science consulting and mentoring in software development. Her new role as the Head of Strategic Initiatives will continue this trend. She will spend less time prototyping software and analyzing data and more time liaising with our members and the broader community to understand their needs and design R&amp;amp;D projects to test approaches to meeting those needs. This means a lot more liaising with other Crossref teams, speaking with our members and the wider community, and participating in working groups and conferences.&lt;/p>
&lt;p>It also probably means a lot less programming and analysis. But programming and building prototypes are critical to the R&amp;amp;D team. And so the first thing we will do is start recruiting for a new Principal R&amp;amp;D Developer to continue working along with Esha on conducting experiments and developing POCs.&lt;/p>
&lt;p>I’m looking forward to the next year. With Rachael taking the role of Product Director and Dominika taking over as the Head of Strategic Initiatives, we are well-positioned to make profound technical and conceptual improvements to Crossref&amp;rsquo;s services while simultaneously working with the community to line up our next strategic priorities.&lt;/p></description></item><item><title>Follow the money, or how to link grants to research outputs</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/follow-the-money-or-how-to-link-grants-to-research-outputs/</link><pubDate>Tue, 22 Mar 2022 00:00:00 +0000</pubDate><author>Dominika Tkaczyk</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/follow-the-money-or-how-to-link-grants-to-research-outputs/</guid><description>&lt;p>The ecosystem of scholarly metadata is filled with relationships between items of various types: a person authored a paper, a paper cites a book, a funder funded research. Those relationships are absolutely essential: an item without them is missing the most basic context about its structure, origin, and impact. No wonder that finding and exposing such relationships is considered very important by virtually all parties involved. Probably the most famous instance of this problem is finding citation links between research outputs. Lately, another instance has been drawing more and more attention: linking research outputs with grants used as their funding source. How can this be done and how many such links can we observe?&lt;/p>
&lt;h2 id="tldr">TL;DR&lt;/h2>
&lt;ul>
&lt;li>We looked for links between research outputs and grants registered with Crossref.&lt;/li>
&lt;li>Grant DOIs alone are not enough for linking research outputs with grants, because the funding information in research outputs typically does not contain grant DOIs (yet). Award numbers alone are also not enough because they are not globally unique.&lt;/li>
&lt;li>We used either grant DOIs (if available) or the combination of award number and funder information to match grants to research outputs.&lt;/li>
&lt;li>In total, we found 20,834 links between research outputs and registered grants, involving 17,082 research outputs and 3,858 grants (10% of all registered grants)&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>.&lt;/li>
&lt;li>Erroneous and incomplete metadata, especially involving award numbers, is the main factor that prevents linking research outputs to grants.&lt;/li>
&lt;/ul>
&lt;h2 id="introduction">Introduction&lt;/h2>
&lt;p>The ecosystem of scholarly metadata is filled with relationships between items of various types: a person authored a paper, an author works at a university, a paper cites a book, a book contains a chapter, a funder funded research. Those relationships are absolutely essential: an item without them is missing the most basic context about its structure, origin, and impact.&lt;/p>
&lt;p>No wonder that finding and exposing relationships between items in the scientific ecosystem is considered very important by virtually all parties involved. Probably the most famous instance of this problem is finding citation links between research outputs. Another, relatively new example, is linking research outputs with grants used as their funding source.&lt;/p>
&lt;p>At Crossref, for some time now we have been seeing a steady growth of funder membership and grant registration. We are aware that the possibility of finding relationships between grants and research outputs is a big reason why funders are registering grants with us in the first place. Being able to see which research outputs are being supported by which grants helps reduce the reporting burden on researchers, funders, and institutions alike, especially now with the addition of &lt;a href="https://doi-org.turing.library.northwestern.edu/10.64000/1nkjy-15275" target="_blank">ROR IDs&lt;/a> to help complete the picture. Exposing relationships between research outputs and grants also increases the transparency of funding sources of the research, making it easier to assess and trust scientific findings.&lt;/p>
&lt;p>But how can we find those relationships and how many of them can we already observe? Thankfully our REST API, &lt;a href="https://doi-org.turing.library.northwestern.edu/10.64000/tynar-j7a72" target="_blank">recently equipped with the grant metadata&lt;/a>, can help us answer these questions.&lt;/p>
&lt;h2 id="the-perfect-scenario">The perfect scenario&lt;/h2>
&lt;p>Imagine a world where the metadata of any scientific output states all relationships with other items existing in the scientific ecosystem, and those related items are always referred to by their persistent identifiers, allowing all this information to be accessed in a fully machine-readable way&amp;hellip; Lovely, right?&lt;/p>
&lt;p>In the case of citations, in such a perfect world every bibliographic reference has a DOI of the cited item. And in the case of funding information, a scientific paper contains grant DOIs, stating the funded-by relationships between the paper and the grants.&lt;/p>
&lt;p>But, as the last two years have painfully taught us all, life is not all rainbows and unicorns.&lt;/p>
&lt;h2 id="the-reality-kicks-in">The reality kicks in&lt;/h2>
&lt;p>We know that around &lt;a href="https://doi-org.turing.library.northwestern.edu/10.64000/txft6-s1481" target="_blank">71% of bibliographic references are deposited with Crossref without a DOI of the cited item&lt;/a>. This means that if we want to establish citation links between items, we need to match the bibliographic references using the provided metadata, which is not a trivial task and can potentially introduce errors.&lt;/p>
&lt;p>And the situation with the funding information and grant DOIs is even worse.&lt;/p>
&lt;h3 id="problem-1-our-schema-does-not-allow-the-publishers-to-attach-grant-dois-to-research-outputs">Problem #1: our schema does not allow the publishers to attach grant DOIs to research outputs&lt;/h3>
&lt;p>This issue is 100% on us. Because grant DOIs are relatively new, our deposit schema does not yet allow to specify the grant DOI in the funding information of a research output, even if the publisher wanted to. We are working on changing this.&lt;/p>
&lt;p>Interestingly, it looks like persistent identifiers always find a way. Within over 7.4 million research outputs with funding information, we noticed 6 cases where a grant DOI was provided as an award number. For example in &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/works/10.1093/nar/gkaa994" target="_blank">10.1093/nar/gkaa994 &lt;/a>we have the following:&lt;/p>
&lt;pre tabindex="0">&lt;code>funder: [
{
name: &amp;#34;Wellcome Trust&amp;#34;,
award: [&amp;#34;10.35802/108758&amp;#34;],
doi-asserted-by: &amp;#34;publisher&amp;#34;,
DOI: &amp;#34;10.13039/100010269&amp;#34;
}, ...
]
&lt;/code>&lt;/pre>&lt;p>This may not be 100% correct from the schema perspective, but it is very useful when one is interested in linking grants to research outputs!&lt;/p>
&lt;p>But those cases are extremely rare outliers. For the vast majority of the outputs, grant DOIs are not present in the metadata. This means that, just like in the case of bibliographic references, we have to use the metadata to match funding information to grants.&lt;/p>
&lt;p>Funding information is typically given as a pair: award number, funder information. Grants contain similar metadata. One might be tempted to use only the award number for linking, as in some cases it can look like a grant identifier.&lt;/p>
&lt;p>Let&amp;rsquo;s consider an example. We want to find all papers funded by grant &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/works/10.37807/gbmf7622" target="_blank">10.37807/gbmf7622&lt;/a>. The award number is &lt;code>GBMF7622&lt;/code>. A simple approach might be to search for items with this award number in Crossref&amp;rsquo;s REST API, which returns 12 results&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>. However, one of the resulting items is the grant itself&lt;sup id="fnref:3">&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref">3&lt;/a>&lt;/sup>. So excluding that, it seems like there are 12-1=11 research outputs funded by this grant.&lt;/p>
&lt;p>Simple and easy, right? Well, think again.&lt;/p>
&lt;h3 id="problem-2-award-numbers-are-not-unique">Problem #2: award numbers are not unique&lt;/h3>
&lt;p>Let&amp;rsquo;s look at another example grant: &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/works/10.46936/10.25585/60000600" target="_blank">10.25585/60000600&lt;/a>. Its award number is &lt;code>2817&lt;/code> and the funder is the &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/funders/10.13039/100000015" target="_blank">US Department of Energy&lt;/a>.&lt;/p>
&lt;p>When we search for this award we get 10 results&lt;sup id="fnref:4">&lt;a href="#fn:4" class="footnote-ref" role="doc-noteref">4&lt;/a>&lt;/sup>. Like before, one of them is our grant. After examining the remaining 9 we will see that:&lt;/p>
&lt;ul>
&lt;li>3 items have been funded by the &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/funders/10.13039/100015911" target="_blank">Joint Genome Institute&lt;/a>, which according to the Funder Registry has been incorporated into &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/funders/10.13039/100006151" target="_blank">Basic Energy Sciences&lt;/a>, which is a descendant of the &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/funders/10.13039/100000015" target="_blank">US Department of Energy&lt;/a>&lt;/li>
&lt;li>2 items have been funded by &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/funders/10.13039/100001819" target="_blank">International Rett Syndrome Foundation&lt;/a> from the US&lt;/li>
&lt;li>2 items have been funded by &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/funders/10.13039/501100003074" target="_blank">Agencia Nacional de Promoción Científica y Tecnológica&lt;/a> from Argentina&lt;/li>
&lt;li>1 item has been funded by &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/funders/10.13039/501100007113" target="_blank">Arak University of Medical Sciences&lt;/a> from Iran&lt;/li>
&lt;li>1 item has been funded by &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/funders/10.13039/501100004883" target="_blank">Shahrekord University&lt;/a> also from Iran&lt;/li>
&lt;/ul>
&lt;p>So among only 9 items mentioning the same award number we have in fact 5 different grants. Our input grant should probably be linked only to the three items mentioning Joint Genome Institute. The main problem illustrated here is that the award numbers are not globally unique, and thus should not be treated like identifiers.&lt;/p>
&lt;p>Indeed, within 38,326 grants registered so far, we have 37,608 distinct award numbers, and among those, there are 716 award numbers, each of which appears in multiple grants. This issue comes in two flavours: conflicts between and within funders.&lt;/p>
&lt;h4 id="between-funder-award-number-conflicts">Between-funder award number conflicts&lt;/h4>
&lt;p>A conflict between funders is when more than one funder uses the same award number for one of their grants. This is expected - award numbers are assigned by funders internally and are not designed to be a globally unique identifier.&lt;/p>
&lt;p>Out of 716 award numbers that appear in multiple grants, 12 are numbers that appear in grants of different funders. For example, there are two grants with the award number &lt;code>105626&lt;/code>:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://api-crossref-org.turing.library.northwestern.edu/works/10.48050/pc.gr.10753" target="_blank">Systemic MFG-E8 Blockade as Melanoma Therapy&lt;/a> funded by Melanoma Research Alliance&lt;/li>
&lt;li>&lt;a href="https://api-crossref-org.turing.library.northwestern.edu/works/10.35802/105626" target="_blank">Institutional Strategic Support Fund Phase2 FY2014/16&lt;/a> funded by Wellcome Trust&lt;/li>
&lt;/ul>
&lt;p>Because of those conflicts, we cannot simply rely on the award numbers for linking grants to research outputs. Instead, we have to use more information to be sure that the links are correctly established.&lt;/p>
&lt;h4 id="within-funder-award-number-conflicts">Within-funder award number conflicts&lt;/h4>
&lt;p>To our big surprise, it turns out that the majority of the award number conflicts happen not between different funders, but within the grants of a single funder. Out of 716 award numbers that appear in multiple grants, 704 appear in multiple grants of a single funder only. Such situations are not expected and could indicate an error or some other systematic issue with the data.&lt;/p>
&lt;p>Interestingly, out of those 704 award numbers, 700 are associated with the US Department of Energy. We&amp;rsquo;ve followed up with them in order to clarify or resolve this. The US Department of Energy pointed out a fundamental issue with the data model: currently a grant deposited with Crossref has to have at least one funder DOI, and no other way of identifying the associated organisation is allowed. At the same time, some of the facilities that should appear in their grants&amp;rsquo; metadata are not funders at all and thus cannot be identified by a funder DOI. In the future, they plan to identify those facilities in their grant metadata by providing ROR IDs.&lt;/p>
&lt;p>Because of within-funder award number conflicts, in some cases it might be difficult to distinguish between two grants with the same award number and funder. A solution might be to use additional information or simply not accept any links if a research output cannot be reliably linked to one grant only.&lt;/p>
&lt;h2 id="our-linking-approach">Our linking approach&lt;/h2>
&lt;p>Based on all those observations, we adopted the following approach:&lt;/p>
&lt;ol>
&lt;li>We iterated over all registered grants, for each we performed the following steps:
&lt;ul>
&lt;li>We used &lt;code>award.number:&amp;lt;grant DOI&amp;gt;&lt;/code> filter in the REST API to find all items listing a given grant&amp;rsquo;s DOI as the award number. Because this is based on the grant&amp;rsquo;s persistent identifier, we recorded those links without any further verification.&lt;/li>
&lt;li>We used the &lt;code>award.number:&amp;lt;grant award number&amp;gt;&lt;/code> filter in the REST API to find all items listing grant&amp;rsquo;s award number in the funding information. Each resulting item was then verified by comparing the funder information in the item to the funder information in the grant. We recorded the link between the grant and the candidate item only if the verification succeeded.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>In the final step, we examined all recorded links to make sure that each pair (research output, award number) is linked to at most one grant. Links violating this rule were flagged as not reliable.&lt;/li>
&lt;/ol>
&lt;p>We used different techniques to verify the funder information between the research output (item) and the grant, depending on what information is available. Grants always have the funder DOI. The item, however, can have the funder DOI, the funder name, or both.&lt;/p>
&lt;p>If the funder DOI was available on both sides, the following rules were used for the funder verification (ordered by decreasing confidence):&lt;/p>
&lt;ul>
&lt;li>Both the item and the grant contain the same funder DOI, for example, &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/works/10.35802/089928" target="_blank">10.35802/089928&lt;/a> and &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/works/10.1242/jcs.196758" target="_blank">10.1242/jcs.196758&lt;/a>&lt;/li>
&lt;li>The funder in the item replaced or was replaced by the funder in the grant (according to the Funder Registry), for example, &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/works/10.35802/104848" target="_blank">10.35802/104848&lt;/a> and &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/works/10.1136/medethics-2020-106821" target="_blank">10.1136/medethics-2020-106821&lt;/a>&lt;/li>
&lt;li>The funder in the paper is an ancestor or a descendant of the funder in the grant (according to the Funder Registry), for example, &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/works/10.46936/sthm.proj.2010.40084/60004575" target="_blank">10.46936/sthm.proj.2010.40084/60004575&lt;/a> and &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/works/10.1016/j.heliyon.2018.e00629" target="_blank">10.1016/j.heliyon.2018.e00629&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>If the funder DOI was not available in the item, the following rules were used for the funder verification (ordered by decreasing confidence):&lt;/p>
&lt;ul>
&lt;li>The funder name in the paper is the same (ignoring the case) as the funder name in the grant, for example, &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/works/10.35802/110166" target="_blank">10.35802/110166&lt;/a> and &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/works/10.12688/wellcomeopenres.14645.4" target="_blank">10.12688/wellcomeopenres.14645.4&lt;/a>&lt;/li>
&lt;li>The funder name in the item is the same (ignoring the case) as the name of the funder that replaced/was replaced by the funder in the grant, for example, &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/works/10.35802/206194" target="_blank">10.35802/206194&lt;/a> and &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/works/10.1172/jci.insight.96381" target="_blank">10.1172/jci.insight.96381&lt;/a>&lt;/li>
&lt;li>The funder name in the item is the same (ignoring the case) as the name of the ancestor/descendant of the funder in the grant, for example, &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/works/10.46936/cpbl.proj.2001.2191/60002922" target="_blank">10.46936/cpbl.proj.2001.2191/60002922&lt;/a> and &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/works/10.1109/tkde.2016.2628180" target="_blank">10.1109/tkde.2016.2628180&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>Note that this is in fact very similar to &lt;a href="https://doi-org.turing.library.northwestern.edu/10.64000/pdm9z-20m09" target="_blank">our reference matching approach&lt;/a>. In both cases, first we search for candidate items, and then verify the candidates by comparing the metadata. The actual metadata used for the verification varies, because different information is typically given in the bibliographic reference and the funding information.&lt;/p>
&lt;h2 id="what-we-found">What we found&lt;/h2>
&lt;p>This procedure applied to the entire Crossref dataset resulted in 20,846 links between research outputs and grants&lt;sup id="fnref:5">&lt;a href="#fn:5" class="footnote-ref" role="doc-noteref">5&lt;/a>&lt;/sup>. Of those, 12 were flagged as unreliable, because they involved more than one grant linked to the same item and award number. The rest of this section focuses on the remaining 20,834 links.&lt;/p>
&lt;p>Within the 20,834 links, we have 17,082 research outputs and 3,858 (10.1%) grants.&lt;/p>
&lt;p>Here is the breakdown into the verification approaches used:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Verification&lt;/th>
&lt;th style="text-align: right">#links&lt;/th>
&lt;th style="text-align: right">%links&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>The item contains grant DOI - no verification&lt;/td>
&lt;td style="text-align: right">6&lt;/td>
&lt;td style="text-align: right">&amp;lt;0.1%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Funder DOIs are the same&lt;/td>
&lt;td style="text-align: right">8,364&lt;/td>
&lt;td style="text-align: right">40.1%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Funder DOIs are related with a replaced/was replaced by relationship&lt;/td>
&lt;td style="text-align: right">3,704&lt;/td>
&lt;td style="text-align: right">17.8%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Funder DOIs are related with an ancestor/descendant relationship&lt;/td>
&lt;td style="text-align: right">7,718&lt;/td>
&lt;td style="text-align: right">37.0%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Funder names are the same&lt;/td>
&lt;td style="text-align: right">591&lt;/td>
&lt;td style="text-align: right">2.8%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>The name of the funder in the item is the same as the name of the funder that replaced/was replaced by the funder in the grant&lt;/td>
&lt;td style="text-align: right">364&lt;/td>
&lt;td style="text-align: right">1.7%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>The name of the funder in the item is the same as the name of the ancestor or descendant of the funder in the grant&lt;/td>
&lt;td style="text-align: right">87&lt;/td>
&lt;td style="text-align: right">0.4%&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>In most cases, just using the funder DOIs for the verification was enough. Verifying by the funder name added 1,042 links, which is 5% of all links.&lt;/p>
&lt;p>And here are statistics for individual funders. Only funders with at least 10 deposited grants are listed in the table. The table shows the number of detected links, the number of distinct research outputs linked, the total number of outputs mentioning the given funder DOI, and the number of grants.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Funder&lt;/th>
&lt;th style="text-align: right">#links&lt;/th>
&lt;th style="text-align: right">#linked research outputs&lt;/th>
&lt;th style="text-align: right">#total outputs with funder DOI&lt;/th>
&lt;th style="text-align: right">#grants&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Japan Science and Technology Agency&lt;/td>
&lt;td style="text-align: right">11,922&lt;/td>
&lt;td style="text-align: right">10,411&lt;/td>
&lt;td style="text-align: right">25,779&lt;/td>
&lt;td style="text-align: right">9,383&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Wellcome Trust (including both funder DOIs 10.13039/100004440 and 10.13039/100010269)&lt;/td>
&lt;td style="text-align: right">8,001&lt;/td>
&lt;td style="text-align: right">6,246&lt;/td>
&lt;td style="text-align: right">49,492&lt;/td>
&lt;td style="text-align: right">17,534&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>James S. McDonnell Foundation&lt;/td>
&lt;td style="text-align: right">463&lt;/td>
&lt;td style="text-align: right">457&lt;/td>
&lt;td style="text-align: right">2,534&lt;/td>
&lt;td style="text-align: right">557&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Melanoma Research Alliance&lt;/td>
&lt;td style="text-align: right">152&lt;/td>
&lt;td style="text-align: right">150&lt;/td>
&lt;td style="text-align: right">894&lt;/td>
&lt;td style="text-align: right">392&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Asia-Pacific Network for Global Change Research&lt;/td>
&lt;td style="text-align: right">100&lt;/td>
&lt;td style="text-align: right">100&lt;/td>
&lt;td style="text-align: right">838&lt;/td>
&lt;td style="text-align: right">539&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>ALS Association&lt;/td>
&lt;td style="text-align: right">84&lt;/td>
&lt;td style="text-align: right">78&lt;/td>
&lt;td style="text-align: right">909&lt;/td>
&lt;td style="text-align: right">434&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>U.S. Department of Energy&lt;/td>
&lt;td style="text-align: right">56&lt;/td>
&lt;td style="text-align: right">52&lt;/td>
&lt;td style="text-align: right">97,482&lt;/td>
&lt;td style="text-align: right">8,462&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Gordon and Betty Moore Foundation&lt;/td>
&lt;td style="text-align: right">51&lt;/td>
&lt;td style="text-align: right">50&lt;/td>
&lt;td style="text-align: right">5,928&lt;/td>
&lt;td style="text-align: right">94&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>American Cancer Society&lt;/td>
&lt;td style="text-align: right">3&lt;/td>
&lt;td style="text-align: right">3&lt;/td>
&lt;td style="text-align: right">7,276&lt;/td>
&lt;td style="text-align: right">107&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Children&amp;rsquo;s Tumor Foundation&lt;/td>
&lt;td style="text-align: right">1&lt;/td>
&lt;td style="text-align: right">1&lt;/td>
&lt;td style="text-align: right">759&lt;/td>
&lt;td style="text-align: right">630&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>American Parkinson Disease Association&lt;/td>
&lt;td style="text-align: right">0&lt;/td>
&lt;td style="text-align: right">0&lt;/td>
&lt;td style="text-align: right">181&lt;/td>
&lt;td style="text-align: right">12&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Neurofibromatosis Therapeutic Acceleration Program&lt;/td>
&lt;td style="text-align: right">0&lt;/td>
&lt;td style="text-align: right">0&lt;/td>
&lt;td style="text-align: right">101&lt;/td>
&lt;td style="text-align: right">68&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>International Anesthesia Research Society&lt;/td>
&lt;td style="text-align: right">0&lt;/td>
&lt;td style="text-align: right">0&lt;/td>
&lt;td style="text-align: right">94&lt;/td>
&lt;td style="text-align: right">34&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Australian National Data Service&lt;/td>
&lt;td style="text-align: right">0&lt;/td>
&lt;td style="text-align: right">0&lt;/td>
&lt;td style="text-align: right">92&lt;/td>
&lt;td style="text-align: right">67&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Note that the fourth column reports the total number of outputs registered with Crossref and mentioning the given funder DOI, including grants, journal papers and all other record types.&lt;/p>
&lt;p>It is interesting to compare the number of linked research outputs for a given funder with the total number of research outputs mentioning a given funder DOI. In general, for a funder that registers grants, the more research outputs mentioning this funder, the more links we should be able to find.&lt;/p>
&lt;p>And for some funders (Japan Science and Technology Agency, Melanoma Research Alliance, Asia-Pacific Network for Global Change Research, Wellcome Trust, James S. McDonnell Foundation), the number of linked outputs is indeed high, as compared with how many outputs mention the funder in the first place. This suggests our procedure was quite successful in linking outputs funded by these funders, meaning that in general the metadata in their grants and the funding information in the research outputs match.&lt;/p>
&lt;p>On the other hand, we have a few funders for which we managed to link only a very small fraction of research outputs. There are several potential explanations here. A simple one is that not all relevant grants have been deposited yet. For example, a funder might be registering new grants only, whereas many research outputs mention older, not yet registered grants. It is also possible that there are systematic differences in how the publishers deposit the funding information in articles and other outputs, and how it is given in grants. Such differences might prevent us from establishing links, contributing to the overall low percentage of linked grants.&lt;/p>
&lt;h3 id="the-importance-of-being-precise">The importance of being precise&lt;/h3>
&lt;p>Here are some examples of existing links that should&amp;rsquo;ve been found, but were not.&lt;/p>
&lt;p>The award number in grant &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/works/10.48105/pc.gr.93156" target="_blank">10.48105/pc.gr.93156&lt;/a> is &lt;code>CTF-2020-01-004&lt;/code>. This article: &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/works/10.3390/ijms22094716" target="_blank">10.3390/ijms22094716&lt;/a> mentions award number &lt;code>2020‐01‐004&lt;/code> and the same funder (Children&amp;rsquo;s Tumor Foundation). It is very probable that this is the same grant, but our procedure expects exactly the same award number, and so the two were not linked.&lt;/p>
&lt;p>Paper &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/works/10.1128/genomea.00159-18" target="_blank">10.1128/genomea.00159-18&lt;/a> contains award number &lt;code>1931&lt;/code> and U.S. Department of Energy as the funder. There are two grants with the same award number and funder: &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/works/10.46936/10.25585/60001053" target="_blank">10.46936/10.25585/60001053&lt;/a> and &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/works/10.46936/genr.proj.2000.1931/60002530" target="_blank">10.46936/genr.proj.2000.1931/60002530&lt;/a>. It is difficult to choose between them, and these links were marked as unreliable.&lt;/p>
&lt;p>These examples could be signs of systematic errors and/or discrepancies that effectively prevent linking of those funders&amp;rsquo; grants.&lt;/p>
&lt;h2 id="whats-next">What&amp;rsquo;s next&lt;/h2>
&lt;p>In problems such as linking grants to research outputs, there are typically two key ingredients of the success, which at the same time are the main areas of improvement: the quality of the metadata, and the strength of the linking approach.&lt;/p>
&lt;p>The metadata could be improved greatly by addressing existing discrepancies between grants and research outputs and allowing (and encouraging!) the publishers to provide grant DOIs in the funding information. Thankfully, we are not alone in those efforts. Both this recent &lt;a href="https://doi-org.turing.library.northwestern.edu/10.54900/rgrtzxx-nj4c28m-cef53" target="_blank">Upstream blog&lt;/a> from Alexis-Michel Mugabushaka, and this &lt;a href="https://scholarlykitchen.sspnet.org/2022/03/07/accelerating-open-research-a-multi-stakeholder-discussion/" target="_blank">Scholarly Kitchen post&lt;/a> from Robert Harrington call for the development and adoption of grant DOIs in scholarly metadata.&lt;/p>
&lt;p>In terms of the linking approach, there are some ideas that could be used to further improve the linking accuracy and completeness:&lt;/p>
&lt;ul>
&lt;li>The verification by funder name could be fuzzy and allow for minor variations like typos or additional words.&lt;/li>
&lt;li>Apart from &lt;em>replaced/replaced by&lt;/em> and &lt;em>ancestor/descendant&lt;/em>, there are other relationships between funders in the Funder Registry: &lt;em>continuation of&lt;/em>, &lt;em>incorporates/incorporated into&lt;/em>, &lt;em>merged with&lt;/em>, &lt;em>renamed as&lt;/em>, &lt;em>split into/split from&lt;/em>. We could also consider those relationships during the funder validation.&lt;/li>
&lt;li>Apart from the funder information, there is other information that could be potentially used for verification, for example, the names of the authors and the investigators, the domain, or keywords.&lt;/li>
&lt;/ul>
&lt;p>If you have any questions, do &lt;a href="mailto:feedback@crossref.org">get in touch&lt;/a>!&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>All numbers are as of March 8, 2022&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:2">
&lt;p>&lt;a href="https://api-crossref-org.turing.library.northwestern.edu/works?filter=award.number:gbmf7622" target="_blank">https://api-crossref-org.turing.library.northwestern.edu/works?filter=award.number:gbmf7622&lt;/a>&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:3">
&lt;p>&lt;a href="https://api-crossref-org.turing.library.northwestern.edu/works?filter=award.number:gbmf7622,type:grant" target="_blank">https://api-crossref-org.turing.library.northwestern.edu/works?filter=award.number:gbmf7622,type:grant&lt;/a>&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:4">
&lt;p>&lt;a href="https://api-crossref-org.turing.library.northwestern.edu/works?filter=award.number:2817" target="_blank">https://api-crossref-org.turing.library.northwestern.edu/works?filter=award.number:2817&lt;/a>&amp;#160;&lt;a href="#fnref:4" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:5">
&lt;p>The code and data available here: &lt;a href="https://gitlab.com/crossref/labs_data_analyses/-/tree/master/analyses/22-01-26-grants-matching" target="_blank">https://gitlab.com/crossref/labs_data_analyses/-/tree/master/analyses/22-01-26-grants-matching&lt;/a>&amp;#160;&lt;a href="#fnref:5" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Time to put the "R" back in "R&amp;D"</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/time-to-put-the-r-back-in-rd/</link><pubDate>Mon, 07 Jun 2021 00:00:00 +0000</pubDate><author>Geoffrey Bilder</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/time-to-put-the-r-back-in-rd/</guid><description>&lt;p>It is time to put the &amp;lsquo;R&amp;rsquo; back into R&amp;amp;D.&lt;/p>
&lt;p>The Crossref R&amp;amp;D team was originally created to focus on the kinds of research projects that have allowed Crossref to make transformational technology changes, launch innovative new services, and engage with entirely new constituencies. Some Illustrious projects that had their origins in the R&amp;amp;D group include:&lt;/p>
&lt;div style="float:right;margin:10px">
&lt;figure>&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/2021/labs-logo-ribbon.svg" width="100%">
&lt;/figure>
&lt;/div>
&lt;ul>
&lt;li>DOI Content Negotiation&lt;/li>
&lt;li>Similarity Check (originally CrossCheck)&lt;/li>
&lt;li>ORCID (originally Author DOIs)&lt;/li>
&lt;li>Crossmark&lt;/li>
&lt;li>The Open Funder Registry&lt;/li>
&lt;li>The Crossref REST API&lt;/li>
&lt;li>Linked Clinical Trials&lt;/li>
&lt;li>Event Data&lt;/li>
&lt;li>Grant registration&lt;/li>
&lt;li>ROR&lt;/li>
&lt;/ul>
&lt;p>And for each project that has graduated, there have been several that have not. Some projects were simply designed to gather data. Others just didn’t generate enough interest. You are not truly experimenting if you don’t fail occasionally too.&lt;/p>
&lt;p>Recently we’ve been doing very little experimenting of any kind. Instead, the R&amp;amp;D team has mostly been seconded to the software development team to help them through a period of organisational and process change. We would not have made it through the past two years without their help.&lt;/p>
&lt;p>But now we’re ready to focus on more ‘R’ and less ‘D’. And to that end, we are increasing the size of the team as well. &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/people/rachael-lammey/">Rachael Lammey&lt;/a> will be joining the team as Head of Strategic Initiatives. She will work alongside our Principal R&amp;amp;D Developers, &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/people/esha-datta/">Esha Datta&lt;/a> and &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/people/dominika-tkaczyk/">Dominika Tkaczyk&lt;/a>. Together they will be able to engage with new communities and immediately start experimenting with ways in which Crossref might be able to address their needs and use-cases.&lt;/p>
&lt;p>We hope to soon add to our list of distinguished R&amp;amp;D project alumni.&lt;/p>
&lt;h2 id="rationale--details">Rationale &amp;amp; details&lt;/h2>
&lt;div style="float:left;margin:10px">
&lt;figure>&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/2021/creature1.svg" width="100%">
&lt;/figure>
&lt;/div>
&lt;p>The Crossref R&amp;amp;D group (AKA &amp;ldquo;Labs&amp;rdquo;) has been the incubator of many services that are now in production and which form a fundamental part of Crossref&amp;rsquo;s identity and value. Similarity Check, ORCID, Crossmark, Open Funder Registry, The REST API, Linked Clinical Trials, and Event Data all started as R&amp;amp;D projects. More recently the enhancement of our reference matching infrastructure and the development and launch of ROR were also R&amp;amp;D projects.&lt;/p>
&lt;p>And prior to the formation of the outreach group in 2015, the R&amp;amp;D group also led a critical function engaging with communities that, at the time, Crossref only had tangential connections with: &lt;a href="https://pkp.sfu.ca/" target="_blank">PKP&lt;/a>; &lt;a href="https://doaj.org/" target="_blank">DOAJ&lt;/a>; funders; and the data and altmetrics communities.&lt;/p>
&lt;p>But since the R&amp;amp;D group merged with the technology team back in 2019, we have done very little &amp;ldquo;R.&amp;rdquo; and very little community engagement of our own. Instead, the R&amp;amp;D team has supported the development team through a period of major cross-cutting projects and organisational change. Dominika has led the REST API rewrite and Esha&amp;mdash;when she is not acting as technical lead on ROR&amp;mdash;has also worked on the API rewrite and has kept Crossref metadata search on its feet. We would not have been able to make it through the past few years without their help.&lt;/p>
&lt;p>Throughout this period, Rachael Lammey has continued the vital work of identifying, engaging with, and advocating for members of our community who we previously didn&amp;rsquo;t even know were members of our community.&lt;/p>
&lt;div style="float:right;margin:10px">
&lt;figure>&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/2021/creature2.svg" width="100%">
&lt;/figure>
&lt;/div>
&lt;p>The strength of the R&amp;amp;D group was that it combined outreach, product, and development functions. It was not only able to engage with new constituencies, but to quickly experiment with ways in which Crossref might be able to serve them. Previously, members of the R&amp;amp;D team would return from a conference or workshop that no Crossref member had ever attended before with a set of new contacts and ideas for new services and tools. They&amp;rsquo;d form interest groups and develop prototypes. Sometimes the interest groups would lead nowhere and sometimes the prototypes would be discarded. But critically, some of them would turn into the major services and organisations that now form a foundational part of open scholarly infrastructure.&lt;/p>
&lt;p>And this is why it makes so much sense for Rachael to join the R&amp;amp;D team. The group is most effective when it is able to engage with new communities and immediately start experimenting with ways in which Crossref might be able to address their needs and use-cases. Rachael&amp;rsquo;s extensive experience in both product management and outreach&amp;mdash;combined with Esha and Dominika&amp;rsquo;s experience leading development projects&amp;mdash;is exactly what we need to reinvigorate the group and put the R back into R&amp;amp;D.&lt;/p>
&lt;p>To kick off, we are going to be working on some small-ish, discrete projects. These include:&lt;/p>
&lt;ul>
&lt;li>Better matching and linking of preprints to published articles;&lt;/li>
&lt;li>Extending our journal title classification to cover all journal and conference proceedings titles; and&lt;/li>
&lt;li>Tools to allow us to community-source structured metadata correction information and feed it back to our members.&lt;/li>
&lt;/ul>
&lt;div style="float:left;margin:10px">
&lt;figure>&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/2021/creature3.svg" width="80%">
&lt;/figure>
&lt;/div>
&lt;p>We will consult with and update the community on the kinds of projects we are working on through regular tech updates and a revitalised &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/labs">Labs&lt;/a> area of our website.&lt;/p>
&lt;p>Oh- and we will certainly be designing some new Labs creatures. &lt;br>
&amp;ndash;G&lt;/p></description></item><item><title>Double trouble with DOIs</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/double-trouble-with-dois/</link><pubDate>Tue, 10 Mar 2020 00:00:00 +0000</pubDate><author>Dominika Tkaczyk</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/double-trouble-with-dois/</guid><description>&lt;p>Detective Matcher stopped abruptly behind the corner of a short building, praying that his loud heartbeat doesn&amp;rsquo;t give up his presence. This missing DOI case was unlike any other before, keeping him awake for many seconds already. It took a great effort and a good amount of help from his clever assistant Fuzzy Comparison to make sense of the sparse clues provided by Miss Unstructured Reference, an elegant young lady with a shy smile, who begged him to take up this case at any cost.&lt;/p>
&lt;p>The final confrontation was about to happen, the detective could feel it, and his intuition rarely misled him in the past. He was observing DOI &lt;a href="https://doi-org.turing.library.northwestern.edu/10.2307/257306" target="_blank">&lt;code>10.2307/257306&lt;/code>&lt;/a>, which matched Miss Reference&amp;rsquo;s description very well. So far, there was no indication that DOI had any idea he was being observed. He was leaning on a wall across the street in a seemingly nonchalant way, just about to put out his cigarette. Empty dark streets and slowly falling snow together created an excellent opportunity to capture the fugitive.&lt;/p>
&lt;p>Suddenly, Matcher heard a faint rustling sound. Out of nowhere, another shady figure, looking very much like &lt;a href="https://doi-org.turing.library.northwestern.edu/10.5465/amr.1982.4285592" target="_blank">&lt;code>10.5465/amr.1982.4285592&lt;/code>&lt;/a>, appeared in front of the detective, crossed the street and started running away. Matcher couldn&amp;rsquo;t believe his eyes. These two DOIs had identical authors, year and title. They were even wearing identical volume and issue! He quickly noticed minor differences: slight alteration in the journal title and lack of the second page number in one of the DOIs, but this was likely just a random mutation. How could have he missed the other DOI? And more importantly, which of them was the one worried Miss Reference simply couldn&amp;rsquo;t live without?&lt;/p>
&lt;figure>&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/duplicates_cover.jpg">
&lt;/figure>
&lt;h2 id="tldr">TL;DR&lt;/h2>
&lt;ul>
&lt;li>Crossref metadata contains duplicates, i.e. items with different DOIs and identical (or almost identical) bibliographic metadata. This often happens when there is more than one DOI pointing to the same object. In some cases, but not all of them, one of the DOIs is explicitly marked as an alias of the other DOI.&lt;/li>
&lt;li>In this blog post, I analyze those duplicates, that are not marked with an alias relation. &lt;strong>The analysis shows that the problem exists, but is not big&lt;/strong>.&lt;/li>
&lt;li>Among 524,496 DOIs tested in the analysis, 4,240 (0.8%) were flagged as having non-aliased duplicates. I divided those duplicates into two categories:
&lt;ul>
&lt;li>&lt;strong>Self-duplicate&lt;/strong> is a duplicate deposited by the same member as the other DOI, there were 3,603 (85%) of them.&lt;/li>
&lt;li>&lt;strong>Other-duplicate&lt;/strong> is a duplicate deposited by a different member than the other DOI&amp;rsquo;s depositor, there were only 637 (15%) of them.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>I used three member-level metrics to estimate the volume of duplicates deposited by a given member:
&lt;ul>
&lt;li>&lt;strong>Self-duplicate index&lt;/strong> is the fraction of self-duplicates in member&amp;rsquo;s DOIs: on average 0.67%.&lt;/li>
&lt;li>&lt;strong>Other-duplicate&lt;/strong> index is the fraction of other-duplicates in a member&amp;rsquo;s DOIs: on average 0.13%.&lt;/li>
&lt;li>&lt;strong>Global other-duplicate index&lt;/strong> is the fraction of globally detected other-duplicates involving a given member: on average 0.34%.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h2 id="introduction">Introduction&lt;/h2>
&lt;p>In an ideal world, the relationship between research outputs and DOIs is one-to-one: every research output has exactly one DOI assigned and each DOI points to exactly one research output.&lt;/p>
&lt;p>As we all know too well, we do not live in a perfect world, and this one-to-one relationship is also sometimes violated. One way to violate it is to assign more than one DOI to the same object. This can cause problems.&lt;/p>
&lt;p>First of all, if there are two DOIs referring to the same object, eventually they both might end up in different systems and datasets. As a result, merging data between data sources becomes an issue, because we no longer can rely on comparing the DOI strings only.&lt;/p>
&lt;p>Reference matching algorithms will also be confused when they encounter more than one DOI matching the input reference. They might end up assigning one DOI from the matching ones at random, or not assigning any DOI at all.&lt;/p>
&lt;p>And finally, more than one DOI assigned to one object is hugely problematic for document-level metrics such as citation counts, and eventually affects h-indexes and impact factors. In practice, metrics are typically calculated per DOI, so when there are two DOIs pointing to one document, the citation count might be split between them, effectively lowering the count, and making every academic author&amp;rsquo;s biggest nightmare come true.&lt;/p>
&lt;p>It seems we shouldn&amp;rsquo;t simply cover our eyes and pretend this problem does not exist. So what are we doing at Crossref to make the situation better?&lt;/p>
&lt;ul>
&lt;li>It is possible for our members to explicitly mark a DOI as an alias of another DOI, if it was deposited by mistake. This does not remove the problem, but at least allows metadata consumers to access and use this information.&lt;/li>
&lt;li>Whenever a DOI is registered or updated in Crossref, we automatically compare its metadata to the metadata of existing DOIs. If the metadata is too similar to the metadata of another DOI, this information is sent to the member and they have a chance to modify the metadata as they see fit.&lt;/li>
&lt;/ul>
&lt;p>Despite these efforts, we still see duplicates that are not explained by anything in the metadata. In this blog post, I will try to understand this problem better and assess how big it is. I also define three member-level metrics that can show how much a given member contributes to duplicates in the system and can flag members with unusually high fractions of duplicates.&lt;/p>
&lt;h2 id="gathering-the-data">Gathering the data&lt;/h2>
&lt;ol>
&lt;li>The data for this analysis was collected in the following way:&lt;/li>
&lt;li>Only journal articles were considered in the analysis.&lt;/li>
&lt;li>Only members with at least 5,000 journal article DOIs were considered in the analysis.&lt;/li>
&lt;li>For each member, a random sample of 1,000 journal article DOIs was selected.&lt;/li>
&lt;li>DOIs with no title, title shorter than 20 characters or shorter than 3 words were removed from each sample. This was done because items with short titles typically result in incorrectly flagged duplicates (false positives).&lt;/li>
&lt;li>For each remaining DOI in the sample, a simple string representation was generated. This representation is a concatenation of the following fields: authors, title, container-title, volume, issue, page, published date.&lt;/li>
&lt;li>This string representation was used as &lt;code>query.bibliographic&lt;/code> in &lt;a href="https://github.com/CrossRef/rest-api-doc" target="_blank">Crossref&amp;rsquo;s REST API&lt;/a> and the resulting item list was examined.&lt;/li>
&lt;li>If the original DOI came back as the first or the second hit, the relevance score difference between the first two hits is less than 1, they are both journal articles, and there is no relation (alias or otherwise) between them, the other one of the two is considered a duplicate of the original DOI. The score difference threshold was chosen through a manual examination of a number of cases. Most detected duplicates came back scored identically.&lt;/li>
&lt;/ol>
&lt;h2 id="overall-results">Overall results&lt;/h2>
&lt;p>In total, I tested 590 members and 524,496 DOIs. Among them, 4,240 DOIs (0.8%) were flagged as duplicates of other DOIs. This shows the problem exists, but is not huge.&lt;/p>
&lt;p>I also analyzed separately two categories of duplicates:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>self-duplicates&lt;/strong> are two DOIs with (almost) identical metadata, deposited by the same member,&lt;/li>
&lt;li>&lt;strong>other-duplicates&lt;/strong> are two DOIs with (almost) identical metadata, deposited by two different members.&lt;/li>
&lt;/ul>
&lt;p>Self-duplicates are more common: 3,603 (85%) of all detected duplicates are self-duplicates, and only 637 (15%) are other-duplicates. This is also good news: self-duplicates involve one member only, so they are easier to handle.&lt;/p>
&lt;h2 id="self-duplicates">Self-duplicates&lt;/h2>
&lt;p>To explore the levels of self-duplicates among members, I used a custom member-level metric called self-duplicate index. &lt;strong>Self-duplicate index&lt;/strong> is the fraction of self-duplicates among the member&amp;rsquo;s DOIs, in this case calculated over a sample.&lt;/p>
&lt;p>On average, members have a very small self-duplicate index of 0.67%. In addition, in the samples of 44% of analyzed members no self-duplicates were found. The histogram shows the skewness of the distribution:&lt;/p>
&lt;figure>&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/duplicates_distr_self.png" width="500px">
&lt;/figure>
&lt;p>As we can see in the distribution, there are only a few members with high self-duplicate index. The table shows all members with the self-duplicate higher than 10%:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Name&lt;/th>
&lt;th style="text-align: right">Total DOIs&lt;/th>
&lt;th style="text-align: right">Sample size&lt;/th>
&lt;th style="text-align: right">Self-duplicate index&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>University of California Press&lt;/td>
&lt;td style="text-align: right">129,741&lt;/td>
&lt;td style="text-align: right">798&lt;/td>
&lt;td style="text-align: right">36%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Inderscience Publishers&lt;/td>
&lt;td style="text-align: right">127,729&lt;/td>
&lt;td style="text-align: right">998&lt;/td>
&lt;td style="text-align: right">29%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>American Society of Hematology&lt;/td>
&lt;td style="text-align: right">137,124&lt;/td>
&lt;td style="text-align: right">990&lt;/td>
&lt;td style="text-align: right">24%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Pro Reitoria de Pesquisa, Pos Graduacao e Inovacao - UFF&lt;/td>
&lt;td style="text-align: right">7,756&lt;/td>
&lt;td style="text-align: right">919&lt;/td>
&lt;td style="text-align: right">19%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>American Diabetes Association&lt;/td>
&lt;td style="text-align: right">49,536&lt;/td>
&lt;td style="text-align: right">946&lt;/td>
&lt;td style="text-align: right">18%&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="other-duplicates">Other-duplicates&lt;/h2>
&lt;p>&lt;strong>Other-duplicate index&lt;/strong> is the fraction of other duplicates among the member&amp;rsquo;s DOIs, in this case calculated from a sample.&lt;/p>
&lt;p>On average, members have a very low other-duplicate index of only 0.13%. What is more, 89% members have no other-duplicates in the sample, and the distribution is even more skewed than in the case of self-duplicates:&lt;/p>
&lt;figure>&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/duplicates_distr_other.png" width="500px">
&lt;/figure>
&lt;p>Here is the list of all members with more than 2% of other-duplicates in the sample:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Name&lt;/th>
&lt;th style="text-align: right">Total DOIs&lt;/th>
&lt;th style="text-align: right">Sample size&lt;/th>
&lt;th style="text-align: right">Other-duplicate index&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>American Bryological and Lichenological Society&lt;/td>
&lt;td style="text-align: right">5,593&lt;/td>
&lt;td style="text-align: right">844&lt;/td>
&lt;td style="text-align: right">41%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Maney Publishing&lt;/td>
&lt;td style="text-align: right">15,342&lt;/td>
&lt;td style="text-align: right">832&lt;/td>
&lt;td style="text-align: right">6%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>JSTOR&lt;/td>
&lt;td style="text-align: right">1,612,174&lt;/td>
&lt;td style="text-align: right">864&lt;/td>
&lt;td style="text-align: right">4%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>American Mathematical Society (AMS)&lt;/td>
&lt;td style="text-align: right">83,015&lt;/td>
&lt;td style="text-align: right">844&lt;/td>
&lt;td style="text-align: right">4%&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>&lt;em>American Bryological and Lichenological Society&lt;/em> is a clear outlier with 41% of their sample flagged as duplicates. Interestingly, all those duplicates come from one other member only (JSTOR) and JSTOR was the first to deposit them.&lt;/p>
&lt;p>Similarly, all other-duplicates detected in the &lt;em>American Mathematical Society&lt;/em>&amp;rsquo;s sample are shared with JSTOR, and JSTOR was the first to deposit them.&lt;/p>
&lt;p>&lt;em>Maney Publishing&lt;/em>&amp;rsquo;s 51 other-duplicates are all shared with a member not listed in this table: Informa UK Limited.&lt;/p>
&lt;p>&lt;em>JSTOR&lt;/em> is the only member in this table, whose 36 other-duplicates are shared with multiple (8) members.&lt;/p>
&lt;p>Another interesting observation is that the members in this table (apart from JSTOR) are rather small or medium, in terms of total DOIs registered by them. It is also worrying that Informa UK Limited, a member that shares 51 other-duplicates flagged in Maney Publishing&amp;rsquo;s sample, was not flagged by this index. The reason might be differences in the overall number of registered DOIs: two members that deposited the same number of other-duplicates, but have different overall numbers of registered DOIs, will have different other-duplicate indexes.&lt;/p>
&lt;p>To address this issue, I looked at a third index called global other-duplicate index. &lt;strong>Global other-duplicate index&lt;/strong> is the fraction of globally detected other-duplicates involving a given member.&lt;/p>
&lt;p>Global other-duplicate index has a useful interpretation: it tells us how much the overall number of other-duplicates would drop, if the given member resolved all its other-duplicates (for example by setting appropriate relations or correcting the metadata so that it is no longer so similar).&lt;/p>
&lt;p>Here is the list of members with global-duplicate index higher than 2%:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Name&lt;/th>
&lt;th style="text-align: right">Total DOIs&lt;/th>
&lt;th style="text-align: right">Global other-duplicate index&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>JSTOR&lt;/td>
&lt;td style="text-align: right">1,612,174&lt;/td>
&lt;td style="text-align: right">69%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>American Bryological and Lichenological Society&lt;/td>
&lt;td style="text-align: right">5,593&lt;/td>
&lt;td style="text-align: right">54%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Informa UK Limited&lt;/td>
&lt;td style="text-align: right">4,275,507&lt;/td>
&lt;td style="text-align: right">15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Maney Publishing&lt;/td>
&lt;td style="text-align: right">15,342&lt;/td>
&lt;td style="text-align: right">8%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>American Mathematical Society (AMS)&lt;/td>
&lt;td style="text-align: right">83,015&lt;/td>
&lt;td style="text-align: right">6%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Project Muse&lt;/td>
&lt;td style="text-align: right">326,300&lt;/td>
&lt;td style="text-align: right">5%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Wiley&lt;/td>
&lt;td style="text-align: right">8,003,815&lt;/td>
&lt;td style="text-align: right">3%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Elsevier BV&lt;/td>
&lt;td style="text-align: right">16,268,943&lt;/td>
&lt;td style="text-align: right">3%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Liverpool University Press&lt;/td>
&lt;td style="text-align: right">31,870&lt;/td>
&lt;td style="text-align: right">3%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Cambridge University Press (CUP)&lt;/td>
&lt;td style="text-align: right">1,621,713&lt;/td>
&lt;td style="text-align: right">2%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Ovid Technologies (Wolters Kluwer Health)&lt;/td>
&lt;td style="text-align: right">2,152,723&lt;/td>
&lt;td style="text-align: right">2%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>University of Toronto Press Inc. (UTPress)&lt;/td>
&lt;td style="text-align: right">46,778&lt;/td>
&lt;td style="text-align: right">2%&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Note that the values add up to more than 100%. This is because in every other-duplicate there are two members involved, so the involvement adds up to 200%.&lt;/p>
&lt;p>As we can see, all the members from the previous table are in this one as well. Apart from them, however, this index flagged several large members. Among them, Informa UK Limited, that was missing from the previous table.&lt;/p>
&lt;p>All the indexes defined here are useful in identifying members that contribute a lot of duplicates to the Crossref metadata. They can be used to help to clean up the metadata, and also to monitor the situation in the future.&lt;/p>
&lt;h2 id="limitations">Limitations&lt;/h2>
&lt;p>It is important to remember that index values presented here were calculated on a single sample of DOIs drawn for a given member. The values would be different if a different sample was used, and so they shouldn&amp;rsquo;t be treated as exact numbers.&lt;/p>
&lt;p>The tables include members with the index exceeding a certain threshold, chosen arbitrarily, for illustrative purposes. Different runs with different samples could result in different members being included in the tables, especially in their lower parts.&lt;/p>
&lt;p>To obtain more stable values of indexes, multiple samples could be used. Alternatively, in the case of smaller members, exact values could be calculated from all their DOIs.&lt;/p></description></item><item><title>What's your (citations') style?</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/whats-your-citations-style/</link><pubDate>Tue, 29 Oct 2019 00:00:00 +0000</pubDate><author>Dominika Tkaczyk</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/whats-your-citations-style/</guid><description>&lt;p>Bibliographic references in scientific papers are the end result of a process typically composed of: finding the right document to cite, obtaining its metadata, and formatting the metadata using a specific citation style. This end result, however, does not preserve the information about the citation style used to generate it. Can the citation style be somehow guessed from the reference string only?&lt;/p>
&lt;h2 id="tldr">TL;DR&lt;/h2>
&lt;ul>
&lt;li>I built an automatic citation style classifier. It classifies a given bibliographic reference string into one of 17 citation styles or &amp;ldquo;unknown&amp;rdquo;.&lt;/li>
&lt;li>The classifier is based on supervised machine learning. It uses TF-IDF feature representation and a simple Logistic Regression model.&lt;/li>
&lt;li>For training and testing, I used datasets generated automatically from Crossref metadata.&lt;/li>
&lt;li>The accuracy of the classifier estimated on the test set is 94.7%.&lt;/li>
&lt;li>The classifier is &lt;a href="https://gitlab.com/crossref/citation_style_classifier" target="_blank">open source&lt;/a> and can be used as a &lt;a href="https://pypi.org/project/styleclass/" target="_blank">Python library&lt;/a> or &lt;a href="http://styleclass.labs.crossref.org.turing.library.northwestern.edu/citationstyle" target="_blank">REST API&lt;/a>.&lt;/li>
&lt;/ul>
&lt;h2 id="introduction">Introduction&lt;/h2>
&lt;pre tabindex="0">&lt;code>Threadgill-Sowder, J. (1983). Question Placement in Mathematical Word Problems. School Science and Mathematics, 83(2), 107-111
&lt;/code>&lt;/pre>&lt;p>This reference is the end result of a process that typically includes: finding the right document, obtaining its metadata, and formatting the metadata using a specific citation style. Sadly, the intermediate reference forms or the details of this process are not preserved in the end result. In general, just by looking at the reference string we cannot be sure which document it originates from, what its metadata is, or which citation style was used.&lt;/p>
&lt;p>Global multi-billion dollar fashion industry proves without a doubt that people care about their fashion style. But why should we care about the citation style used to generate a specific reference? This might seem like an insignificant piece of information, but it can be a powerful clue when we try to solve tasks like:&lt;/p>
&lt;ul>
&lt;li>Reference parsing, i.e., extracting metadata from the reference string. If the style is known, we also know where to expect metadata fields in the string, and it is typically enough to use simple regular expressions instead of complicated (and slow) machine learning-based parsers.&lt;/li>
&lt;li>Discipline/topic classification. Citation styles used in documents correlate with their discipline. As a result, knowing the citation style used in the document could provide a useful clue for a discipline classifier.&lt;/li>
&lt;li>Extracting references from documents. Conforming to a specific style might suggest that the reference string was correctly located within a larger document.&lt;/li>
&lt;/ul>
&lt;p>Even though the style is not directly mentioned in the reference string, the string contains useful clues. Some styles will abbreviate the authors&amp;rsquo; first names, and others won&amp;rsquo;t. Some will place the year in parentheses, others separate it with commas. The presence of such fragments in the reference string can be used as the input for the style classifier.&lt;/p>
&lt;p>I used these clues to build an automatic style classifier. It takes a single reference string on the input and classifies it into one of 17 styles or &amp;ldquo;unknown&amp;rdquo;. You can use it as a &lt;a href="https://pypi.org/project/styleclass/" target="_blank">Python library&lt;/a> or via &lt;a href="http://styleclass.labs.crossref.org.turing.library.northwestern.edu/citationstyle" target="_blank">REST API&lt;/a>. The &lt;a href="https://gitlab.com/crossref/citation_style_classifier" target="_blank">source code&lt;/a> is also available. If you find this project useful, I would love to hear about it!&lt;/p>
&lt;p>And if you are interested in more details about the classifier and how it was built, read on.&lt;/p>
&lt;h2 id="data">Data&lt;/h2>
&lt;p>The data for the experiments was generated automatically. The training and the test set were generated in the same way but from two different samples. The process was the following:&lt;/p>
&lt;ul>
&lt;li>5,000 documents were randomly chosen from Crossref collection.&lt;/li>
&lt;li>Each document was formatted into 17 citation styles. This resulted in 85,000 pairs (reference string, citation style).&lt;/li>
&lt;li>Very short reference strings were removed. A short reference string typically results from very incomplete metadata of the document.&lt;/li>
&lt;li>From a number of randomly selected references, I removed fragments like the name of the month. These fragments appear in the automatically generated reference strings because sometimes months are included in the metadata records in Crossref collection. However, they rarely appear in the real-life reference strings, so removing them made the dataset more reliable.&lt;/li>
&lt;li>5,000 strings labelled as &amp;ldquo;unknown&amp;rdquo; were also added. These were generated by randomly swapping the words in the &amp;ldquo;real&amp;rdquo; reference strings.&lt;/li>
&lt;/ul>
&lt;p>This process resulted in two sets: training set containing 87,808 data points and test set containing 87,625 data points. The training set was used to choose various classification parameters and to train the final model. The test set was used to obtain the final estimation of the classifier&amp;rsquo;s accuracy.&lt;/p>
&lt;h2 id="styles">Styles&lt;/h2>
&lt;p>The classifier was trained on the following 17 citation styles (+ &amp;ldquo;unknown&amp;rdquo;):&lt;/p>
&lt;ul>
&lt;li>acm-sig-proceedings&lt;/li>
&lt;li>american-chemical-society&lt;/li>
&lt;li>american-chemical-society-with-titles&lt;/li>
&lt;li>american-institute-of-physics&lt;/li>
&lt;li>american-sociological-association&lt;/li>
&lt;li>apa&lt;/li>
&lt;li>bmc-bioinformatics&lt;/li>
&lt;li>chicago-author-date&lt;/li>
&lt;li>elsevier-without-titles&lt;/li>
&lt;li>elsevier-with-titles&lt;/li>
&lt;li>harvard3&lt;/li>
&lt;li>ieee&lt;/li>
&lt;li>iso690-author-date-en&lt;/li>
&lt;li>modern-language-association&lt;/li>
&lt;li>springer-basic-author-date&lt;/li>
&lt;li>springer-lecture-notes-in-computer-science&lt;/li>
&lt;li>vancouver&lt;/li>
&lt;/ul>
&lt;p>These 17 styles were chosen to cover a vast majority of references that we see in the real-life data, without including too many variants of very similar styles.&lt;/p>
&lt;p>If you need a different style set, fear not. You can use the library to train your own model based on exactly the styles you need.&lt;/p>
&lt;h2 id="features">Features&lt;/h2>
&lt;p>Our learning algorithm cannot work directly with the raw text on the input. It needs numerical features. In the case of text classification (and reference strings are text), one very common feature representation is &lt;a href="https://en.wikipedia.org/wiki/Bag-of-words_model" target="_blank">bag-of-words&lt;/a>. In the simplest variant, each feature represents a single word, and the value of the feature is binary: 1 if the word is present in the text, 0 otherwise.&lt;/p>
&lt;p>There are many variants of this representation, for example:&lt;/p>
&lt;ul>
&lt;li>The input text typically undergoes normalization before the features are extracted. Depending on the use case, this might include lowercasing, removing punctuation, bringing the words to their canonical form by stemming, etc.&lt;/li>
&lt;li>We do not have to use single words as features. In some use cases, it is beneficial to use &lt;a href="https://en.wikipedia.org/wiki/N-gram" target="_blank">n-grams&lt;/a>, which correspond to fixed-length sequences of words.&lt;/li>
&lt;li>Instead of binary values, we might want to use some other feature weight schemes, such as the famous &lt;a href="https://en.wikipedia.org/wiki/Tf%e2%80%93idf" target="_blank">TF-IDF representation&lt;/a>.&lt;/li>
&lt;/ul>
&lt;p>Our use case is not a typical case of text classification. We cannot use raw words as features, as words do not carry the information about the citation style. Imagine the same document formatted in different styles –– those reference strings will contain the same words, and the learning algorithm won&amp;rsquo;t be able to distinguish between them.&lt;/p>
&lt;p>As a side note, in some cases, some specific words might be important. For example, if the reference contains the word &amp;ldquo;algorithm&amp;rdquo;, chances are the document is from computer science. If so, then perhaps the citing paper is from computer science as well. And in computer science, some styles are more popular than others. Machine learning algorithms are pretty good at detecting such correlations in the data. In the first version of our classifier, however, we do not take this into account. This keeps things simpler.&lt;/p>
&lt;p>If not words, then what matters in our case? It seems that the information about the style is present in punctuation, capitalization and abbreviations.&lt;/p>
&lt;p>To capture these clues, before extracting the features we first map our reference string into a sequence of &amp;ldquo;word types&amp;rdquo; (or &amp;ldquo;character types&amp;rdquo;). The types are the following: &lt;em>lowercase-word&lt;/em>, &lt;em>lowercase-letter&lt;/em>, &lt;em>uppercase-word&lt;/em>, &lt;em>uppercase-letter&lt;/em>, &lt;em>capitalized-word&lt;/em>, &lt;em>other-word&lt;/em>, &lt;em>year&lt;/em>, &lt;em>number&lt;/em>, &lt;em>dot&lt;/em>, &lt;em>comma&lt;/em>, &lt;em>left-parenthesis&lt;/em>, &lt;em>right-parenthesis&lt;/em>, &lt;em>left-bracket&lt;/em>, &lt;em>right-bracket&lt;/em>, &lt;em>colon&lt;/em>, &lt;em>semicolon&lt;/em>, &lt;em>slash&lt;/em>, &lt;em>dash&lt;/em>, &lt;em>quote&lt;/em>, &lt;em>other&lt;/em>.&lt;/p>
&lt;p>In addition, we mark the beginning and the end of the reference string with special types &lt;em>start&lt;/em> and &lt;em>end&lt;/em>.&lt;/p>
&lt;p>So for example this string:&lt;/p>
&lt;pre tabindex="0">&lt;code>Eberlein, T. J. Yearbook of Surgery 2006, 322–324.
&lt;/code>&lt;/pre>&lt;p>is mapped into this sequence:&lt;/p>
&lt;pre tabindex="0">&lt;code>start capitalized-word comma uppercase-letter dot uppercase-letter dot capitalized-word lowercase-word capitalized-word year comma number dash number dot end
&lt;/code>&lt;/pre>&lt;p>This transformation effectively brings together different words, as long as their form is the same.&lt;/p>
&lt;p>After transforming the reference string we extract 2-grams, 3-grams and 4-grams. The values of the features are TF-IDF weights.&lt;/p>
&lt;p>Some example features in our representation include:&lt;/p>
&lt;ul>
&lt;li>&lt;em>lowercase-word lowercase-word lowercase-word lowercase-word&lt;/em> - a sequence of four lowercase words. It is most likely the part of the article title and won&amp;rsquo;t have a huge impact on the decision about the citation style.&lt;/li>
&lt;li>&lt;em>capitalized-word comma uppercase-letter dot&lt;/em> - typical representation of an author in some styles, where the first name is given as an initial only and follows the last name.&lt;/li>
&lt;li>&lt;em>left-parenthesis year right-parenthesis&lt;/em> - typical for styles that enclose the year in parentheses.&lt;/li>
&lt;li>&lt;em>number dash number&lt;/em> - this sequence is most likely pages range.&lt;/li>
&lt;/ul>
&lt;h2 id="learning-algorithm">Learning algorithm&lt;/h2>
&lt;p>I tested four learning algorithms (&lt;a href="https://en.wikipedia.org/wiki/Naive_Bayes_classifier" target="_blank">naive Bayes&lt;/a>, &lt;a href="https://en.wikipedia.org/wiki/Logistic_regression" target="_blank">logistic regression&lt;/a>, &lt;a href="https://en.wikipedia.org/wiki/Support-vector_machine" target="_blank">linear support vector classification&lt;/a> and &lt;a href="https://en.wikipedia.org/wiki/Random_forest" target="_blank">random forest&lt;/a>) in a 5-fold cross validation on the training set. The plot shows the distribution of accuracies obtained by each algorithm:&lt;/p>
&lt;figure>&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/citation_style_classification_algorithms.png"
alt="reference forms" width="600px">
&lt;/figure>
&lt;br/>
&lt;p>Based on these results, logistic regression was chosen as the algorithm with the best mean accuracy and the lowest variance of the results.&lt;/p>
&lt;h2 id="final-accuracy-estimation">Final accuracy estimation&lt;/h2>
&lt;p>The final model was trained on the entire training set and evaluated on the test set. As evaluation metric &lt;a href="https://en.wikipedia.org/wiki/Accuracy_and_precision" target="_blank">accuracy&lt;/a> was used. In this case, accuracy is simply the fraction of the references in the test set correctly classified by the classifier.&lt;/p>
&lt;p>The accuracy on the test set was 94.7%. The confusion matrix shows which styles were most often confused with each other:&lt;/p>
&lt;figure>&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/citation_style_classification_confusion_matrix.png"
alt="reference forms" width="800px">
&lt;/figure>
&lt;br/>
&lt;p>The most often confused styles are chicago-author-date and american-sociological-association. Let&amp;rsquo;s see some example strings from these two styles:&lt;/p>
&lt;pre tabindex="0">&lt;code>Legros, F. 2003. &amp;#34;Can Dispersive Pressure Cause Inverse Grading in Grain Flows?: Reply.&amp;#34; Journal of Sedimentary Research 73(2):335–335
Legros, F. 2003. &amp;#34;Can Dispersive Pressure Cause Inverse Grading in Grain Flows?: Reply.&amp;#34; Journal of Sedimentary Research 73 (2) : 335–335
&lt;/code>&lt;/pre>&lt;pre tabindex="0">&lt;code>Clarke, Jennie T. 2011. &amp;#34;Recognizing and Managing Reticular Erythematous Mucinosis.&amp;#34; Archives of Dermatology 147(6):715
Clarke, Jennie T. 2011. &amp;#34;Recognizing and Managing Reticular Erythematous Mucinosis.&amp;#34; Archives of Dermatology 147 (6) : 715
&lt;/code>&lt;/pre>&lt;pre tabindex="0">&lt;code>Chalmers, Alan, and Richard Nicholas. 1983. &amp;#34;Galileo on the Dissipative Effect of a Rotating Earth.&amp;#34; Studies in History and Philosophy of Science Part A 14(4):315–40
Chalmers, Alan, and Richard Nicholas. 1983. &amp;#34;Galileo on the Dissipative Effect of a Rotating Earth.&amp;#34; Studies in History and Philosophy of Science Part A 14 (4) : 315–340
&lt;/code>&lt;/pre>&lt;p>It seems that the styles are indeed very similar. The strings look almost identical, apart from spacing, which is not included in any way in our feature representation. No wonder that the classifier confuses these two styles a lot.&lt;/p>
&lt;p>A more detailed analysis of the classifier can be found &lt;a href="https://gitlab.com/crossref/citation_style_classifier/blob/master/analyses/citation_style_classification.ipynb" target="_blank">here&lt;/a>.&lt;/p></description></item><item><title>What if I told you that bibliographic references can be structured?</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/what-if-i-told-you-that-bibliographic-references-can-be-structured/</link><pubDate>Mon, 08 Jul 2019 00:00:00 +0000</pubDate><author>Dominika Tkaczyk</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/what-if-i-told-you-that-bibliographic-references-can-be-structured/</guid><description>&lt;p>Last year I spent several weeks studying how to automatically match unstructured references to DOIs (you can read about these experiments in &lt;a href="https://doi-org.turing.library.northwestern.edu/10.64000/e6ey2-wce96" target="_blank">my previous blog posts&lt;/a>). But what about references that are not in the form of an unstructured string, but rather a structured collection of metadata fields? Are we matching them, and how? Let&amp;rsquo;s find out.&lt;/p>
&lt;h2 id="tldr">TL;DR&lt;/h2>
&lt;ul>
&lt;li>43% of open/limited references deposited with Crossref have no publisher-asserted DOI and no unstructured string. This means they need a matching approach suitable for structured references. &lt;em>[EDIT 6th June 2022 - all references are now open by default].&lt;/em>&lt;/li>
&lt;li>I adapted our new matching algorithms: Search-Based Matching (SBM) and Search-Based Matching with Validation (SMBV) to work with both structured and unstructured references.&lt;/li>
&lt;li>I compared three matching algorithms: Crossref&amp;rsquo;s current (legacy) algorithm, SBM and SBMV, using a dataset of 2,000 structured references randomly chosen from Crossref&amp;rsquo;s references.&lt;/li>
&lt;li>SBMV and the legacy algorithm performed almost the same. SBMV&amp;rsquo;s F1 was slightly better (0.9660 vs. 0.9593).&lt;/li>
&lt;li>Similarly as in the case of unstructured references, SBMV achieved slightly lower precision and better recall than the legacy algorithm.&lt;/li>
&lt;/ul>
&lt;h2 id="introduction">Introduction&lt;/h2>
&lt;p>Those of you who often read scientific papers are probably used to bibliographic references in the form of unstructured strings, as they appear in the bibliography, for example:&lt;/p>
&lt;pre tabindex="0">&lt;code>[5] Elizabeth Lundberg, “Humanism on Gallifrey,” Science Fiction Studies, vol. 40, no. 2, p. 382, 2013.
&lt;/code>&lt;/pre>&lt;p>This form, however, is not the only way we can store the information about the referenced paper. An alternative is a structured, more machine-readable form, for example using BibTeX format:&lt;/p>
&lt;pre tabindex="0">&lt;code>@article{Elizabeth_Lundberg_2013,
year = 2013,
publisher = {{SF}-{TH}, Inc.},
volume = {40},
number = {2},
pages = {382},
author = {Elizabeth Lundberg},
title = {Humanism on Gallifrey},
journal = {Science Fiction Studies}
}
&lt;/code>&lt;/pre>&lt;p>Probably the most concise way to provide the information about the referenced document is to use its identifier, for example (🥁drum roll&amp;hellip;) the DOI:&lt;/p>
&lt;pre tabindex="0">&lt;code>&amp;lt;https://doi-org.turing.library.northwestern.edu/10.5621/sciefictstud.40.2.0382&amp;gt;
&lt;/code>&lt;/pre>&lt;p>It is important to understand that these three representations (DOI, structured reference and unstructured reference) are not equivalent. The amount of information they carry varies:&lt;/p>
&lt;ul>
&lt;li>The DOI, by definition, provides the full information about the referenced document, because it identifies it without a doubt. Even though the metadata and content are not directly present in the DOI string, they can be easily and deterministically accessed. It is by far the preferred representation of the referenced document.&lt;/li>
&lt;li>The structured reference contains the metadata of the referenced object, but it doesn&amp;rsquo;t identify the referenced object without a doubt. In our example, we know that the paper was published in 2013 by Elizabeth Lundberg, but we might not know exactly which paper it is, especially if there are more than one document with the same or similar metadata.&lt;/li>
&lt;li>The unstructured reference contains the metadata field values, but without the names of the fields. This also doesn&amp;rsquo;t identify the referenced document, and even its metadata is not known without a doubt. In our example, we know that the word “Science” appears somewhere in the metadata, but we don&amp;rsquo;t know for sure whether it is a part of the title, journal title, or maybe the author&amp;rsquo;s (very cool) name.&lt;/li>
&lt;/ul>
&lt;p>The diagram presents the relationships between all these three forms:&lt;/p>
&lt;figure>&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/structured_matching_reference_forms.png"
alt="reference forms" width="800px">
&lt;/figure>
&lt;br/>
&lt;p>The arrows show actions that Crossref has to perform to transform one form to another.&lt;/p>
&lt;p>Green transformations are in general easy and can be done without introducing any errors. The reason is that green arrows go from more information to less information. We all know how easy it is to forget important stuff!&lt;/p>
&lt;p>Green transformations are typically performed when the publication is being created. At the beginning the author can access the DOI of the referenced document, because they know exactly which document it is. Then, they can extract the bibliographic metadata (the structured form) of the document based on the DOI, for example by following the DOI to the document&amp;rsquo;s webpage or retrieving the metadata from &lt;a href="https://github.com/CrossRef/rest-api-doc" target="_blank">Crossref&amp;rsquo;s REST API&lt;/a>. Finally, the structured form can be formatted into an unstructured string using, for example, the &lt;a href="https://en.wikipedia.org/wiki/CiteProc" target="_blank">CiteProc&lt;/a> tool.&lt;/p>
&lt;p>We&amp;rsquo;ve also automated it further and these two green transformation (getting the document&amp;rsquo;s metadata based on the DOI and formatting it into a string) can be done in one go using &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/labs/citation-formatting-service/">Crossref&amp;rsquo;s content negotiation&lt;/a>.&lt;/p>
&lt;p>Red transformations are often done in systems that store bibliographic metadata (like our own metadata collection), often at a large scale. In these systems, we typically want to have DOIs (or other unique identifiers) of the referenced documents, but in practise we often have only structured and/or unstructured form. To fix this, we match references. Some systems also perform reference parsing (thankfully, we discovered &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/labs/resolving-citations-we-dont-need-no-stinkin-parser/">we do not need to do this in our case&lt;/a>).&lt;/p>
&lt;p>In general, red transformations are difficult, because we have to go from less information to more information, effectively recreating the information that has been lost during paper writing. This requires a bit of reasoning, educated guessing, and juggling probabilities. Data errors, noise, and sparsity make the situation even more dire. As a result, we do not expect any matching or parsing algorithm to be always correct. Instead, we perform evaluations (like in this blog post) to capture how well they perform on average.&lt;/p>
&lt;p>My &lt;a href="https://doi-org.turing.library.northwestern.edu/10.64000/e6ey2-wce96" target="_blank">previous blog post&lt;/a> focused on matching unstructured references to DOIs (long red &amp;ldquo;matching&amp;rdquo; arrow). In this one, I analyse how well we can match structured references to DOIs (short red &amp;ldquo;matching&amp;rdquo; arrow).&lt;/p>
&lt;h2 id="references-in-crossref">References in Crossref&lt;/h2>
&lt;p>You might be asking yourself how important it is to have the matching algorithm working for both structured and unstructured references. Let&amp;rsquo;s look more closely at the references our matching algorithm has to deal with.&lt;/p>
&lt;p>29% of open/limited references deposited with Crossref already have the DOI provided by the publisher member. At Crossref, when we come across those references, we start dancing on a rainbow to the tunes of &lt;a href="https://en.wikipedia.org/wiki/Linkin_Park" target="_blank">Linkin Park&lt;/a>, while the references holding their DOIs sprinkle from the sky. Some of us sing along. We live for those moments, so if you care about us, please provide as many DOIs in your references as possible!&lt;/p>
&lt;p>You might be wondering how we are sure these publisher-provided DOIs are correct. The short answer is that we are not. After all, the publisher might have used an automated matcher to insert the DOIs before depositing the metadata. Nevertheless, our current workflow assumes these publisher-provided DOIs are correct and we simply accept them as they are.&lt;/p>
&lt;p>Unfortunately, the remaining 71% of references are deposited without a DOI. Those are the references we try to match ourselves.&lt;/p>
&lt;p>Here is the distribution of all the open/limited references:&lt;/p>
&lt;figure>&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/structured_matching_reference_distribution.png"
alt="reference distibution" width="600px">
&lt;/figure>
&lt;p>17% of the references are deposited with no DOI and both structured and unstructured form. 11% have no DOI and only an unstructured form, and 43% have no DOI and only a structured form. These 43% cannot be directly processed by the unstructured matching algorithm.&lt;/p>
&lt;p>This distribution clearly shows that we need a matching algorithm able to process both structured and unstructured references. If our algorithm worked only with one type, we would miss a large percentage of the input references, and the quality of our citation metadata would be questionable.&lt;/p>
&lt;h2 id="the-analysis">The analysis&lt;/h2>
&lt;p>Let&amp;rsquo;s get to the point. I evaluated and compared three matching algorithms, focusing on the structured references.&lt;/p>
&lt;p>The first algorithm is one of the legacy algorithms currently used in Crossref. It uses fuzzy querying in a relational database to find the best matching DOI for the given structured reference. It can be accessed through a &lt;a href="https://support-crossref-org.turing.library.northwestern.edu/hc/en-us/articles/214880143-OpenURL%23openurl2" target="_blank">Crossref OpenURL&lt;/a> query.&lt;/p>
&lt;p>The second algorithm is an adaptation of the Search-Based Matching (SBM) algorithm for structured references. In this algorithm, we concatenate all metadata fields of the reference and use it to search in the Crossref&amp;rsquo;s REST API. The first hit is returned as the target DOI if its relevance score exceeds the predefined threshold.&lt;/p>
&lt;p>The third algorithm is an adaptation of the Search-Based Matching with Validation (SBMV) for structured references. Similarly as in the case of SBM, we also concatenate all metadata fields of the input reference and use it to search in the &lt;a href="https://github.com/CrossRef/rest-api-doc" target="_blank">Crossref&amp;rsquo;s REST API&lt;/a>. Next, a number of top hits are considered as candidates and their similarity score with the input reference is calculated. The candidate with the highest similarity score is returned as the target DOI if its score exceeds the predefined threshold. The similarity score is based on fuzzy comparison of the metadata field values between the candidate and the input reference.&lt;/p>
&lt;p>I compared these three algorithms on a test set composed of 2,000 structured bibliographic references randomly chosen from Crossref&amp;rsquo;s metadata. For each reference, I manually checked the output of all matching algorithms, and in some cases performed additional manual searching. This resulted in the true target DOI (or null) assigned to each reference.&lt;/p>
&lt;p>The metrics are the same as in the previous evaluations: precision, recall and F1 calculated over the set of input references.&lt;/p>
&lt;p>The thresholds for SBM and SBMV algorithms were chosen on a separate validation dataset. The validation dataset also contains 2,000 structured references with manually-verified target DOIs.&lt;/p>
&lt;h2 id="the-results">The results&lt;/h2>
&lt;p>The plot shows the results of the evaluation of all three algorithms:&lt;/p>
&lt;figure>&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/structured_matching_results.png"
alt="structured matching evaluation results" width="600px">
&lt;/figure>
&lt;br/>
&lt;p>The vertical black lines on top of the bars represent the confidence intervals.&lt;/p>
&lt;p>As we can see, SBMV and the legacy approach achieved very similar results. SBMV slightly outperforms the legacy approach in F1: 0.9660 vs. 0.9593.&lt;/p>
&lt;p>SBMV is slightly worse that the legacy approach in precision (0.9831 vs. 0.9929) and better in recall (0.9495 vs. 0.9280).&lt;/p>
&lt;p>The SBM algorithm performs the worst, especially in precision. Why is there such a huge difference between SBM and SBMV? The algorithms differ in the post-processing validation stage. SBM relies on the ability of the search engine to select the best target DOI, while SBMV re-scores a number of candidates obtained from the search engine using custom similarity. The results here suggest that in the case of structured references, the right target DOI is usually somewhere close to the top of the search results, but often it is not in the first position. One of the reasons might be missing titles in 76% of the structured references, which can confuse the search engine.&lt;/p>
&lt;p>Let&amp;rsquo;s look more closely at a few interesting cases in our test set:&lt;/p>
&lt;pre tabindex="0">&lt;code>first-page = 1000
article-title = Sequence capture using PCR-generated probes: a cost-effective method of targeted high-throughput sequencing for nonmodel organisms
volume = 14
author = Peñalba
year = 2014
journal-title = Molecular Ecology Resources
&lt;/code>&lt;/pre>&lt;p>The reference above was successfully matched by SBMV to &lt;a href="https://doi-org.turing.library.northwestern.edu/10.1111/1755-0998.12249" target="_blank">https://doi-org.turing.library.northwestern.edu/10.1111/1755-0998.12249&lt;/a>, even though the document&amp;rsquo;s volume and pages are missing from Crossref&amp;rsquo;s metadata.&lt;/p>
&lt;pre tabindex="0">&lt;code>issue = 2
first-page = 101
volume = 6
author = Abraham
year = 1987
journal-title = Promoter: An Automated Promotion Evaluation System
&lt;/code>&lt;/pre>&lt;p>Here the structure incorrectly labels article title as journal title. Despite this, the reference was correctly matched by our brave SBMV to &lt;a href="https://doi-org.turing.library.northwestern.edu/10.1287/mksc.6.2.101" target="_blank">https://doi-org.turing.library.northwestern.edu/10.1287/mksc.6.2.101&lt;/a>.&lt;/p>
&lt;pre tabindex="0">&lt;code>author = Marshall Day C.
volume = 39
first-page = 572
year = 1949
journal-title = India. J. A. D. A.
&lt;/code>&lt;/pre>&lt;p>Above we have most likely a parsing error. A part of the article title appears in the journal name, and the main journal name is abbreviated. ‘I see what you did there, my old friend Parsing Algorithm! Only a minor obstacle!&amp;rsquo; said SBMV, and matched the reference to &lt;a href="https://doi-org.turing.library.northwestern.edu/10.14219/jada.archive.1949.0114" target="_blank">https://doi-org.turing.library.northwestern.edu/10.14219/jada.archive.1949.0114&lt;/a>.&lt;/p>
&lt;pre tabindex="0">&lt;code>volume = 5
year = 2015
article-title = A retrospective analysis of the effect of discussion in teleconference and face-to-face scientific peer-review panels
journal-title = BMJ Open
&lt;/code>&lt;/pre>&lt;p>Here the the page number and author are not in the structure, but our invincible SBMV jumped over the holes left by the missing metadata and gracefully grabbed the right DOI &lt;a href="https://doi-org.turing.library.northwestern.edu/10.1136/bmjopen-2015-009138" target="_blank">https://doi-org.turing.library.northwestern.edu/10.1136/bmjopen-2015-009138&lt;/a>.&lt;/p>
&lt;pre tabindex="0">&lt;code>issue = 2
first-page = 533
volume = 30
author = Uthman BM
year = 1989
journal-title = Epilepsia
&lt;/code>&lt;/pre>&lt;p>In this case we have a mismatch in the page number (“533” vs. “S33”). But did SBMV give up and burst into tears? I think we already know the answer! Of course, it conquered the nasty typo with the sword made of fuzzy comparisons (yes, it&amp;rsquo;s a thing!) and brought us back the correct DOI &lt;a href="https://doi-org.turing.library.northwestern.edu/10.1111/j.1528-1157.1989.tb05823.x" target="_blank">https://doi-org.turing.library.northwestern.edu/10.1111/j.1528-1157.1989.tb05823.x&lt;/a>.&lt;/p>
&lt;h2 id="structured-vs-unstructured">Structured vs. unstructured&lt;/h2>
&lt;p>How does matching structured references compare to matching unstructured references?&lt;/p>
&lt;p>The general trends are the same. For both structured and unstructured references, SBMV outperforms the legacy approach in F1, achieving worse precision and better recall. This tells us that our legacy algorithms are more strict and as a result they miss some links.&lt;/p>
&lt;p>Structured reference matching seems easier than unstructured reference matching. The reason is that when we have the structure, we can compare the input reference to the candidate field by field, which is more precise than using the unstructured string.&lt;/p>
&lt;p>Structured matching, however, in practise brings new challenges. One big problem is data sparsity. 15% of structured references without DOIs have fewer than four metadata fields. This is not always enough to identify the DOI. Also, 76% of the structured references without DOIs do not contain the article title, which poses a problem for candidate selection using the search engine.&lt;/p>
&lt;h2 id="whats-next">What&amp;rsquo;s next?&lt;/h2>
&lt;p>So far, I have focused on evaluating SBMV for unstructured and structured references separately. 17% of the open/limited references at Crossref, however, have both unstructured and structured form. In those cases, it might be beneficial to use the information from both forms. I plan to perform some experiments on this soon.&lt;/p>
&lt;p>The data and code for this evaluation can be found at &lt;a href="https://github.com/CrossRef/reference-matching-evaluation" target="_blank">https://github.com/CrossRef/reference-matching-evaluation&lt;/a>. The Java version of SBMV (for both structured and unstructured references) can be found at &lt;a href="https://gitlab.com/crossref/search-based-reference-matcher" target="_blank">https://gitlab.com/crossref/search-based-reference-matcher&lt;/a>.&lt;/p></description></item><item><title>Reference matching: for real this time</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/reference-matching-for-real-this-time/</link><pubDate>Tue, 18 Dec 2018 00:00:00 +0000</pubDate><author>Dominika Tkaczyk</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/reference-matching-for-real-this-time/</guid><description>&lt;p>In my previous blog post, &lt;a href="https://doi-org.turing.library.northwestern.edu/10.64000/pdm9z-20m09" target="_blank">Matchmaker, matchmaker, make me a match&lt;/a>, I compared four approaches for reference matching. The comparison was done using a dataset composed of automatically-generated reference strings. Now it&amp;rsquo;s time for the matching algorithms to face the real enemy: the &lt;strong>unstructured reference strings&lt;/strong> deposited with Crossref by some members. Are the matching algorithms ready for this challenge? Which algorithm will prove worthy of becoming the guardian of the mighty citation network? Buckle up and enjoy our second matching battle!&lt;/p>
&lt;h2 id="tldr">TL;DR&lt;/h2>
&lt;ul>
&lt;li>I evaluated and compared four reference matching approaches: the legacy approach based on reference parsing, and three variants of search-based matching.&lt;/li>
&lt;li>The dataset comprises 2,000 unstructured reference strings from the Crossref metadata.&lt;/li>
&lt;li>The metrics are &lt;a href="https://en.wikipedia.org/wiki/Precision_and_recall" target="_blank">precision and recall&lt;/a> calculated over the citation links. I also use &lt;a href="https://en.wikipedia.org/wiki/F1_score" target="_blank">F1&lt;/a> as a standard single-number metric that combines precision and recall, weighing them equally.&lt;/li>
&lt;li>The best variant of &lt;strong>search-based matching outperforms the legacy approach in F1 (96.3% vs. 92.5%)&lt;/strong>, with the precision worse by only 0.9% (98.09% vs. 98.95%), and the recall better by 8.9% (94.56% vs. 86.85%).&lt;/li>
&lt;li>Common causes of SBMV&amp;rsquo;s errors are: incomplete/erroneous metadata of the target documents, and noise in the reference strings.&lt;/li>
&lt;li>The results reported here generalize to the subset of references in Crossref that are deposited without the target DOI and are present in the form of unstructured strings.&lt;/li>
&lt;/ul>
&lt;h2 id="introduction">Introduction&lt;/h2>
&lt;p>In reference matching, we try to find the DOI of the document referenced by a given input reference. The input reference can have a structured form (a collection of metadata fields) and/or an unstructured form (a string formatted in a certain citation style).&lt;/p>
&lt;p>In my &lt;a href="https://doi-org.turing.library.northwestern.edu/10.64000/pdm9z-20m09" target="_blank">previous blog post&lt;/a>, I used reference strings generated automatically to compare four matching algorithms: Crossref&amp;rsquo;s legacy approach based on reference parsing and three variations of search-based matching. The best algorithm turned out to be Search-Based Matching with Validation (SBMV). SBMV uses our &lt;a href="https://search-crossref-org.turing.library.northwestern.edu" target="_blank">REST API&amp;rsquo;s bibliographic search function&lt;/a> to select the candidate target documents, and a separate validation-scoring procedure to choose the final target document. The legacy approach and SBMV achieved very similar average precision, and SBMV was much better in average recall.&lt;/p>
&lt;p>This comparison had important limitations, which affect the interpretation of these results.&lt;/p>
&lt;p>First of all, the reference strings in the dataset might be too perfect. Since they were generated automatically from the Crossref metadata records, any piece of information present in the string, such as the title or the name of the author, will exactly match the information in Crossref&amp;rsquo;s metadata. In such a case, a matcher comparing the string against the record can simply apply exact matching and everything should be fine.&lt;/p>
&lt;p>In real life, however, we should expect all sorts of errors and noise in the reference strings. For example, a string might have been manually typed by a human, so it can have typos. The string might have been scraped from the PDF file, in which case it could have unusual unicode characters, &lt;a href="https://en.wikipedia.org/wiki/Typographic_ligature" target="_blank">ligatures&lt;/a> or missing and extra spaces. A string can also have typical OCR errors, if it was extracted from a scan.&lt;/p>
&lt;p>These problems are typical for messy real-life data, and our matching algorithms should be robust enough to handle them. However, when we evaluate and compare approaches using the perfect reference strings, the results won&amp;rsquo;t tell us how well the algorithms handle harder, noisy cases. After all, even if you repeatedly win chess games against your father, it doesn&amp;rsquo;t mean you will likely defeat Garry Kasparov (unless, of course, you are Garry Kasparov&amp;rsquo;s child, in which case, please pass on our regards to your dad!).&lt;/p>
&lt;p>Even though I attempted to make the data more similar to the noisy real-life data by simulating some of the possible errors (typos, missing/extra spaces) in two styles, this might not be enough. We simply don&amp;rsquo;t know the typical distribution of the errors, or even what all the possible errors are, so our data was probably still far from the real, noisy reference strings.&lt;/p>
&lt;p>The differences in the distributions are a second major issue with the previous experiment. To build the dataset, I used a random sample from Crossref metadata, so the distribution of the cited item types (journal paper, conference proceeding, book chapter, etc.) reflects the overall distribution in our collection. However, the distribution in real life might be different if, for example, journal papers are on average cited more often than conference proceedings.&lt;/p>
&lt;p>Similarly, the distribution of the citation styles is most likely different. To generate the reference strings, I used 11 styles distributed uniformly, while the real distribution most likely contains more styles and is skewed.&lt;/p>
&lt;p>All these issues can be summarized as: &lt;strong>the data used in my previous experiment is different from the data our matching algorithms have to deal with in the production system&lt;/strong>. Why is this important? Because in such a case, &lt;strong>the evaluation results do not reflect the real performance in our system&lt;/strong>, just like the child&amp;rsquo;s score on the math exam says nothing about their score on the history test. We can hope my previous results accurately showed the strengths and weaknesses of each algorithm, but the estimations could be far off.&lt;/p>
&lt;blockquote>
&lt;p>So, can we do better? Sure!&lt;/p>
&lt;/blockquote>
&lt;p>This time, instead of automatically-generated reference strings, I will use real reference strings found in the Crossref metadata. This will give us a much better picture of the matching algorithms and their real-life performance.&lt;/p>
&lt;h2 id="evaluation">Evaluation&lt;/h2>
&lt;p>This time the &lt;strong>evaluation dataset is composed of 2,000 unstructured reference strings from the Crossref metadata&lt;/strong>, along with the target true DOIs. The dataset was prepared mostly manually:&lt;/p>
&lt;ol>
&lt;li>First, I drew a random sample of 100,000 metadata records from the system.&lt;/li>
&lt;li>Second, I iterated over all sampled items, and extracted those unstructured reference strings, that do not have the DOI provided by the member.&lt;/li>
&lt;li>Next, I randomly sampled 2,000 reference strings.&lt;/li>
&lt;li>Finally, I assigned a target DOI (or null) to each reference string. This was done by verifying DOIs returned by the algorithms and/or manual searching.&lt;/li>
&lt;/ol>
&lt;p>The metrics this time are based on the citation links. A citation link points from the reference (or the document containing the reference) to the referenced (target) document.&lt;/p>
&lt;p>When we apply a matching algorithm to a set of reference strings in our collection, we get a set of citation links between our documents. I will call those citation links &lt;strong>returned links&lt;/strong>.&lt;/p>
&lt;p>On the other hand, in our collection we have real, &lt;strong>true links&lt;/strong> between the documents. In the best-case scenario, the set of true links and the set of returned links are identical. But we don&amp;rsquo;t live in a perfect world and our matching algorithms make mistakes.&lt;/p>
&lt;p>To measure how close the returned links are to the true links, I used precision, recall and F1. This time they are calculated over all citation links in the dataset. More specifically:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Precision&lt;/strong> is the fraction of the returned links that are correct. Precision answers the question: if I see a citation link A-&amp;gt;B in the output of a matcher, how certain can I be that paper A actually cites paper B?&lt;/li>
&lt;li>&lt;strong>Recall&lt;/strong> is the percentage of true links that were returned by the algorithm. Recall answers the question: if paper A cites paper B and B is in the collection, how certain can I be that the matcher&amp;rsquo;s output contains the citation link A-&amp;gt;B?&lt;/li>
&lt;li>&lt;strong>F1&lt;/strong> is the harmonic mean of precision and recall.&lt;/li>
&lt;/ul>
&lt;p>In the previous experiment, I also used precision, recall and F1, but they were calculated for each target document and then averaged. This time precision, recall and F1 are not averaged but simply calculated over all citation links. This is a more natural approach, since now the dataset comprises isolated reference strings rather than target documents, and in practice each target document has at most one incoming reference.&lt;/p>
&lt;p>I tested the same four approaches as before:&lt;/p>
&lt;ul>
&lt;li>the &lt;strong>legacy approach&lt;/strong>, based on reference parsing&lt;/li>
&lt;li>&lt;strong>SBM with a simple threshold&lt;/strong>, which searches for the reference string in the search engine and returns the first hit, if its relevance score exceeds the predefined threshold&lt;/li>
&lt;li>&lt;strong>SBM with a normalized threshold&lt;/strong>, which searches for the reference string in the search engine and returns the first hit, if its relevance score divided by the string length exceeds the predefined threshold&lt;/li>
&lt;li>&lt;strong>SBMV&lt;/strong>, which first applies SBM with a normalized threshold to select a number of candidate items, and a separate validation procedure is used to select the final target item&lt;/li>
&lt;/ul>
&lt;p>All the thresholds are parameters which have to be set prior to the matching. The thresholds used in the experiments were chosen using a separate dataset, as the values maximizing the F1 of each algorithm.&lt;/p>
&lt;h2 id="results">Results&lt;/h2>
&lt;p>The plot shows the overall results of all tested approaches:&lt;/p>
&lt;figure>&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/matching_comparison_real_data.png"
alt="overall comparison of reference matching algorithms on real dataset" width="500px">
&lt;/figure>
&lt;br />
&lt;p>The exact values are also given in the table (the best result for each metric is bolded):&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>&lt;/th>
&lt;th>precision&lt;/th>
&lt;th>recall&lt;/th>
&lt;th>F1&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>legacy approach&lt;/td>
&lt;td>&lt;strong>0.9895&lt;/strong>&lt;/td>
&lt;td>0.8685&lt;/td>
&lt;td>0.9251&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>SBM (simple threshold)&lt;/td>
&lt;td>0.8686&lt;/td>
&lt;td>0.8191&lt;/td>
&lt;td>0.8431&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>SBM (normalized threshold)&lt;/td>
&lt;td>0.7712&lt;/td>
&lt;td>0.9121&lt;/td>
&lt;td>0.8358&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>SBMV&lt;/td>
&lt;td>0.9809&lt;/td>
&lt;td>&lt;strong>0.9456&lt;/strong>&lt;/td>
&lt;td>&lt;strong>0.9629&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>As we can see, the legacy approach is the best in precision, slightly outperforming SBMV. In recall, SBMV is clearly the best, which also decided about its victory over the legacy approach in F1.&lt;/p>
&lt;p>How do these results compare to the results from my previous blog post? The overall trends (the legacy approach slightly outperforms SBMV in precision, and SBMV outperforms the legacy approach in recall and F1) are the same. The most important differences are: 1) on the real dataset SBM without validation is worse than the legacy approach, and 2) this time the algorithms achieved much higher recall. These differences are most likely related to the difference in data distributions explained before.&lt;/p>
&lt;h3 id="sbmvs-strengths-and-weaknesses">SBMV&amp;rsquo;s strengths and weaknesses&lt;/h3>
&lt;p>Let&amp;rsquo;s look at a few example cases where SBMV successfully returned the correct DOI, while the legacy approach failed.&lt;/p>
&lt;pre tabindex="0">&lt;code>Lundqvist D, Flykt A, Ohman A: The Karolinska Directed Emotional Faces - KDEF, CD ROM from Department of Clinical Neuroscience, Psychology section, Karolinska Institutet. 1998
&lt;/code>&lt;/pre>&lt;p>matched to &lt;a href="https://doi-org.turing.library.northwestern.edu/10.1037/t27732-000" target="_blank">https://doi-org.turing.library.northwestern.edu/10.1037/t27732-000&lt;/a>&lt;/p>
&lt;p>The target item is a dataset, which means unusual metadata fields and an unusual reference string.&lt;/p>
&lt;pre tabindex="0">&lt;code>Schminck, A. , ‘The Beginnings and Origins of the “Macedonian” Dynasty’ in J. Burke and R. Scott , eds., Byzantine Macedonia: Identity, Image and History (Melbourne, 2000), 61–8.
&lt;/code>&lt;/pre>&lt;p>matched to &lt;a href="https://doi-org.turing.library.northwestern.edu/10.1163/9789004344730_006" target="_blank">https://doi-org.turing.library.northwestern.edu/10.1163/9789004344730_006&lt;/a>&lt;/p>
&lt;p>This is an example of a book chapter. The reference string contains special quotes and dash characters.&lt;/p>
&lt;pre tabindex="0">&lt;code>R. Schneider,On the Aleksandrov-Fenchel inequality, inDiscrete Geometry and Convexity (J. E. Goodman, E. Lutwak, J. Malkevitch and R. Pollack, eds.), Annals of the New York Academy of Sciences440 (1985), 132–141.
&lt;/code>&lt;/pre>&lt;p>matched to &lt;a href="https://doi-org.turing.library.northwestern.edu/10.1111/j.1749-6632.1985.tb14547.x" target="_blank">https://doi-org.turing.library.northwestern.edu/10.1111/j.1749-6632.1985.tb14547.x&lt;/a>&lt;/p>
&lt;p>In this case, spaces are missing in the reference string, which might be problematic for the parsing.&lt;/p>
&lt;pre tabindex="0">&lt;code>R. B. Husar andE. M. Sparrow, Int. J. Heat Mass Transfer11, 1206 (1968).
&lt;/code>&lt;/pre>&lt;p>matched to &lt;a href="https://doi-org.turing.library.northwestern.edu/10.1016/0017-9310%2868%2990036-7" target="_blank">https://doi-org.turing.library.northwestern.edu/10.1016/0017-9310(68)90036-7&lt;/a>&lt;/p>
&lt;p>This is another example of a reference string with missing spaces.&lt;/p>
&lt;pre tabindex="0">&lt;code>F. Cappello, A. Geist, W. Gropp, S. Kale, B. Kramer, and M. Snir. Toward exascale resilience: 2014 update. Supercomputing frontiers and innovations, 1(1), 2014.
&lt;/code>&lt;/pre>&lt;p>matched to &lt;a href="https://doi-org.turing.library.northwestern.edu/10.14529/jsfi140101" target="_blank">https://doi-org.turing.library.northwestern.edu/10.14529/jsfi140101&lt;/a>&lt;/p>
&lt;p>In this case authors are missing in the Crossref metadata.&lt;/p>
&lt;pre tabindex="0">&lt;code>Li KZ, Shen XT, Li HJ, Zhang SY, Feng T, Zhang LL. Ablation of the Carbon/carbon Composite Nozzle-throats in a Small Solid Rocket Motor[J]. Carbon, 2011, 49: 1 208–1 215
&lt;/code>&lt;/pre>&lt;p>matched to &lt;a href="https://doi-org.turing.library.northwestern.edu/10.1016/j.carbon.2010.11.037" target="_blank">https://doi-org.turing.library.northwestern.edu/10.1016/j.carbon.2010.11.037&lt;/a>&lt;/p>
&lt;p>Here we have unexpected spaces inside page numbers.&lt;/p>
&lt;pre tabindex="0">&lt;code>N. Kaloper, A. Lawrence and L. Sorbo, An Ignoble Approach to Large Field Inflation, JCAP 03 (2011) 023 [ arXiv:1101.0026 ] [ INSPIRE ].
&lt;/code>&lt;/pre>&lt;p>matched to &lt;a href="https://doi-org.turing.library.northwestern.edu/10.1088/1475-7516/2011/03/023" target="_blank">https://doi-org.turing.library.northwestern.edu/10.1088/1475-7516/2011/03/023&lt;/a>&lt;/p>
&lt;p>In this case we have an acronym of the journal name and additional arXiv id.&lt;/p>
&lt;pre tabindex="0">&lt;code>KrönerE. ?Stress space and strain space continuum mechanics?, Phys. Stat. Sol. (b), 144 (1987) 39?44.
&lt;/code>&lt;/pre>&lt;p>matched to &lt;a href="https://doi-org.turing.library.northwestern.edu/10.1002/pssb.2221440104" target="_blank">https://doi-org.turing.library.northwestern.edu/10.1002/pssb.2221440104&lt;/a>&lt;/p>
&lt;p>This reference string has a missing space, a missing word in the title, and incorrectly encoded special characters.&lt;/p>
&lt;pre tabindex="0">&lt;code>Suyemoto K. L., (1998) The functions of self-mutilationClinical Psychology Review 18(5): 531–554
&lt;/code>&lt;/pre>&lt;p>matched to &lt;a href="https://doi-org.turing.library.northwestern.edu/10.1016/s0272-7358%2897%2900105-0" target="_blank">https://doi-org.turing.library.northwestern.edu/10.1016/s0272-7358(97)00105-0&lt;/a>&lt;/p>
&lt;p>In this case the space is missing between the title and the journal name.&lt;/p>
&lt;pre tabindex="0">&lt;code>Ono , N. 2011 Stable and fast update rules for independent vector analysis based on auxiliary function technique Proceedings of IEEE Workshop on Applications of Signal Processing to Audio and Acoustics 189 192
&lt;/code>&lt;/pre>&lt;p>matched to &lt;a href="https://doi-org.turing.library.northwestern.edu/10.1109/aspaa.2011.6082320" target="_blank">https://doi-org.turing.library.northwestern.edu/10.1109/aspaa.2011.6082320&lt;/a>&lt;/p>
&lt;p>The parsing can also have problems with missing punctuation, like in this case.&lt;/p>
&lt;pre tabindex="0">&lt;code>Hybertsen M.S., Witzigmann B., Alam M.A., Smith R.K. (2002) 1 113
&lt;/code>&lt;/pre>&lt;p>matched to &lt;a href="https://doi-org.turing.library.northwestern.edu/10.1023/a:1020732215449" target="_blank">https://doi-org.turing.library.northwestern.edu/10.1023/a:1020732215449&lt;/a>&lt;/p>
&lt;p>In this case both title and journal name are missing from the reference string.&lt;/p>
&lt;p>We can see from these examples that SBMV is fairly robust and able to deal with a small amount of noise in the metadata and reference strings.&lt;/p>
&lt;p>What about the errors SBMV made? From the perspective of citation links, we have two types of errors:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>False positives&lt;/strong>: incorrect links returned by the algorithm.&lt;/li>
&lt;li>&lt;strong>False negatives&lt;/strong>: links that should have been returned but weren&amp;rsquo;t.&lt;/li>
&lt;/ul>
&lt;p>When we apply SBMV instead of the legacy approach, the fraction of false positives within the returned links increases from 1.05% to 1.91%, and the fraction of false negatives within the true links decreases from 13.15% to 5.44%. This means with SBMV:&lt;/p>
&lt;ul>
&lt;li>1.91% of the links in the algorithm&amp;rsquo;s output are incorrect&lt;/li>
&lt;li>5.44% of the true links are not returned by the algorithm&lt;/li>
&lt;/ul>
&lt;p>We can also classify all the references in the dataset into several categories, based on the values of true and returned DOIs:&lt;/p>
&lt;figure>&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/matching_references_errors.png"
alt="references errors distribution" width="800px">
&lt;/figure>
&lt;p>We have the following categories:&lt;/p>
&lt;ul>
&lt;li>References matched to correct DOIs (1129 cases, returned and true blue)&lt;/li>
&lt;li>References correctly not matched to anything (791 cases, returned and true white)&lt;/li>
&lt;li>References not matched to anything, when they should be (58 cases, returned white, true grey)&lt;/li>
&lt;li>References matched to wrong DOIs (7 cases, returned red, true yellow)&lt;/li>
&lt;li>References matched to something, when they shouldn&amp;rsquo;t be matched to anything (15 cases, returned black, true white)&lt;/li>
&lt;/ul>
&lt;p>Note that in terms of these categories, precision is equal to:&lt;/p>
&lt;figure>&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/matching_precision.png"
alt="precision" width="200px">
&lt;/figure>
&lt;p>And recall is equal to:&lt;/p>
&lt;figure>&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/matching_recall.png"
alt="recall" width="200px">
&lt;/figure>
&lt;p>What are the most common causes of SBMV&amp;rsquo;s errors?&lt;/p>
&lt;ul>
&lt;li>Incomplete or incorrect Crossref metadata. Even a perfect reference string formatted in the most popular citation style will not be matched, if the target record in the Crossref collection has many missing or incorrect fields.&lt;/li>
&lt;li>Similarly, missing or incorrect information in the reference string is very problematic for the matchers.&lt;/li>
&lt;li>Errors/noise in the reference string, such as:
&lt;ul>
&lt;li>HTML/XML markup not stripped from the string&lt;/li>
&lt;li>multiple references mixed in one string&lt;/li>
&lt;li>spacing issues and typos&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>In a few cases a document related to the real target was matched, such as the book instead of its chapter, or the conference proceedings paper instead of the thesis.&lt;/li>
&lt;/ul>
&lt;h2 id="limitations">Limitations&lt;/h2>
&lt;p>The most important limitation is the size of the dataset. Every item had to be verified manually, which significantly limited the possibility of creating a large set and also using a lot of independent sets.&lt;/p>
&lt;p>Finally, the numbers reported here still don&amp;rsquo;t reflect the overall precision and recall of the current links in the Crossref metadata. This is because:&lt;/p>
&lt;ol>
&lt;li>we still use the legacy approach for matching,&lt;/li>
&lt;li>some references are deposited along with the target DOIs and are not matched by Crossref, these links are not analyzed here, and&lt;/li>
&lt;li>in Crossref we have both unstructured and structured references, and in this experiment only the unstructured ones were tested.&lt;/li>
&lt;/ol>
&lt;h2 id="whats-next">What&amp;rsquo;s next?&lt;/h2>
&lt;p>The next experiment will be related to the structured references. Similarly as here, I will try to estimate the performance of the search-based matching approach and compare it to the performance of the legacy approach.&lt;/p>
&lt;p>The evaluation framework, evaluation data and experiments related to the reference matching are available in the repository &lt;a href="https://github.com/CrossRef/reference-matching-evaluation" target="_blank">https://github.com/CrossRef/reference-matching-evaluation&lt;/a>. Future experiments will be added there as well.&lt;/p>
&lt;p>&lt;a href="https://github.com/CrossRef/reference-matching-evaluation" target="_blank">https://github.com/CrossRef/reference-matching-evaluation&lt;/a> also contains the Python implementation of the SBMV algorithm. The Java implementation of SBMV is available in the repository &lt;a href="https://gitlab.com/crossref/search_based_reference_matcher" target="_blank">https://gitlab.com/crossref/search_based_reference_matcher&lt;/a>.&lt;/p></description></item><item><title>Matchmaker, matchmaker, make me a match</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/matchmaker-matchmaker-make-me-a-match/</link><pubDate>Mon, 12 Nov 2018 00:00:00 +0000</pubDate><author>Dominika Tkaczyk</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/matchmaker-matchmaker-make-me-a-match/</guid><description>&lt;p>Matching (or resolving) bibliographic references to target records in the collection is a crucial algorithm in the Crossref ecosystem. Automatic reference matching lets us discover citation relations in large document collections, calculate citation counts, H-indexes, impact factors, etc. At Crossref, we currently use a matching approach based on reference string parsing. Some time ago we realized there is &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/labs/resolving-citations-we-dont-need-no-stinkin-parser/">a much simpler approach&lt;/a>. And now it is finally battle time: which of the two approaches is better?&lt;/p>
&lt;h3 id="tldr">TL;DR&lt;/h3>
&lt;ul>
&lt;li>I evaluated and compared four approaches to reference matching: the legacy approach based on reference parsing, and three variants of the new idea called &lt;strong>search-based matching&lt;/strong>.&lt;/li>
&lt;li>A large &lt;strong>automatically generated dataset&lt;/strong> was used for the experiments. It is composed of 7,374 metadata records from the Crossref collection, each of which was formatted automatically into reference strings using 11 citation styles.&lt;/li>
&lt;li>The main metrics used for the evaluation are &lt;a href="https://en.wikipedia.org/wiki/Precision_and_recall" target="_blank">precision and recall&lt;/a>. I also use &lt;a href="https://en.wikipedia.org/wiki/F1_score" target="_blank">F1&lt;/a> as a standard metric that combines precision and recall into a single number, weighing them equally. All values are calculated for each metadata record separately and averaged over the dataset.&lt;/li>
&lt;li>In general, search-based matching is better than the legacy approach in F1 and recall, but worse in precision.&lt;/li>
&lt;li>The best variant of &lt;strong>search-based matching outperforms the legacy approach in average F1 (84.5% vs. 52.9%)&lt;/strong>, with the average precision worse by only 0.1% (99.2% vs 99.3%), and the average recall better by 88% (79.0% vs. 42.0%).&lt;/li>
&lt;li>The best variant of search-based matching also outperforms the legacy approach in average F1 for each one of the 11 styles.&lt;/li>
&lt;li>A weak spot of the parsing-based approach is degraded/noisy reference strings, which do not appear to use any of the known citation styles.&lt;/li>
&lt;li>A weak spot of search-based approach is short reference strings, and in particular citation styles that do not include the title in the reference string.&lt;/li>
&lt;/ul>
&lt;h3 id="introduction">Introduction&lt;/h3>
&lt;p>In reference matching, on the input we have a bibliographic reference. It can have the form of an unstructured string, such as:&lt;/p>
&lt;p>&lt;em>(1) Adamo, S. H.; Cain, M. S.; Mitroff, S. R. Psychological Science 2013, 24, 2569–2574.&lt;/em>&lt;/p>
&lt;p>The input can also have the form of a structured reference, such as (BibTex format):&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-JSON" data-lang="JSON">&lt;span class="line">&lt;span class="cl"> &lt;span class="err">@article&lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="err">adamo2013,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="err">author&lt;/span> &lt;span class="err">=&lt;/span> &lt;span class="err">{Stephen&lt;/span> &lt;span class="err">H.&lt;/span> &lt;span class="err">Adamo&lt;/span> &lt;span class="err">and&lt;/span> &lt;span class="err">Matthew&lt;/span> &lt;span class="err">S.&lt;/span> &lt;span class="err">Cain&lt;/span> &lt;span class="err">and&lt;/span> &lt;span class="err">Stephen&lt;/span> &lt;span class="err">R.&lt;/span> &lt;span class="err">Mitroff&lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="err">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="err">title&lt;/span> &lt;span class="err">=&lt;/span> &lt;span class="p">{&lt;/span>&lt;span class="err">Self-Induced&lt;/span> &lt;span class="err">Attentional&lt;/span> &lt;span class="err">Blink:&lt;/span> &lt;span class="err">A&lt;/span> &lt;span class="err">Cause&lt;/span> &lt;span class="err">of&lt;/span> &lt;span class="err">Errors&lt;/span> &lt;span class="err">in&lt;/span> &lt;span class="err">Multiple-Target&lt;/span> &lt;span class="err">Search&lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="err">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="err">journal&lt;/span> &lt;span class="err">=&lt;/span> &lt;span class="p">{&lt;/span>&lt;span class="err">Psychological&lt;/span> &lt;span class="err">Science&lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="err">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="err">volume&lt;/span> &lt;span class="err">=&lt;/span> &lt;span class="p">{&lt;/span>&lt;span class="err">24&lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="err">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="err">number&lt;/span> &lt;span class="err">=&lt;/span> &lt;span class="p">{&lt;/span>&lt;span class="err">12&lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="err">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="err">pages&lt;/span> &lt;span class="err">=&lt;/span> &lt;span class="p">{&lt;/span>&lt;span class="err">2569-2574&lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="err">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="err">year&lt;/span> &lt;span class="err">=&lt;/span> &lt;span class="p">{&lt;/span>&lt;span class="err">2013&lt;/span>&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="err">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The goal of matching is to find the document, which the input reference points to.&lt;/p>
&lt;h3 id="matching-algorithms">Matching algorithms&lt;/h3>
&lt;p>Matching references is not a trivial task even for a human, not to mention the machines, which are still a bit less intelligent than us (or so they want us to believe…). A typical meta-approach to reference matching might be to score the similarity between the input reference and the candidate target documents. The document most similar to the input is then returned as the target.&lt;/p>
&lt;p>Of course, still a lot can go wrong here. We can have more than one potential target record with the same score (which one do we choose?). We can have only documents with low to medium scores (is the actual target even present in our collection?). We can also have errors in the input string (are the similarity scores robust enough?). Life&amp;rsquo;s tough!&lt;/p>
&lt;p>The main difference between various matching algorithms is in fact how the similarity is calculated. For example, one idea might be to compare the records field by field (how similar is the title/author/journal in the input reference to the title/author/journal of our candidate target record?). This is roughly how the matching works currently at Crossref.&lt;/p>
&lt;p>The main problem with this approach is that it requires a structured reference, and in practise, often all we have is a plain reference string. In such a case we need to extract the metadata fields from the reference string (this is called parsing). Parsing introduces errors, since no parser is omniscient. The errors propagate further and affect the scoring… you get the picture.&lt;/p>
&lt;p>Luckily, as &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/labs/resolving-citations-we-dont-need-no-stinkin-parser/">we have known for some time now&lt;/a>, this is not the only approach. Instead of comparing structured objects, we could calculate the similarity between them using their unstructured textual form. This effectively eliminates the need for parsing, since the unstructured form is either already available on the input or can be easily generated from the structured form.&lt;/p>
&lt;p>What about the similarity scores? We already know a powerful method for scoring the similarities between texts. Those are (you guessed it!) scoring algorithms used by search engines. Most of them, including &lt;a href="https://search-crossref-org.turing.library.northwestern.edu" target="_blank">Crossref&amp;rsquo;s&lt;/a>, do not need a structured representation of the object, they are perfectly happy with just a plain text query.&lt;/p>
&lt;p>So all we need to do is to pass the original reference string (or some concatenation of the reference fields, if only a structured reference is available) to the search engine and let it score the similarity for us. It will also conveniently sort the results so that it is easy to find the top hit.&lt;/p>
&lt;h3 id="evaluation">Evaluation&lt;/h3>
&lt;p>So far so good. But which strategy is better? Is it better to develop an accurate parser, or just rely on the search engine? I don&amp;rsquo;t feel like guessing. Let&amp;rsquo;s try to answer this using (data) science. But first, we need to decompose our question into smaller pieces.&lt;/p>
&lt;h4 id="question-1-how-can-i-measure-the-quality-of-a-reference-matcher">Question 1. How can I measure the quality of a reference matcher?&lt;/h4>
&lt;p>Generally speaking, this can be done by checking the resulting citation links. Simply put, the better the links, the better the matching approach must have been.&lt;/p>
&lt;p>A few standard metrics can be applied here, including &lt;a href="https://en.wikipedia.org/wiki/Accuracy_and_precision" target="_blank">accuracy&lt;/a>, &lt;a href="https://en.wikipedia.org/wiki/Precision_and_recall" target="_blank">precision, recall&lt;/a> and &lt;a href="https://en.wikipedia.org/wiki/F1_score" target="_blank">F1&lt;/a>. We decided to calculate precision, recall and F1 separately for each document in the dataset, and then average those numbers over the entire dataset.&lt;/p>
&lt;p>When I say &amp;ldquo;documents&amp;rdquo;, I really mean &amp;ldquo;target documents&amp;rdquo;:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>precision&lt;/strong> for a document X tells us, what percentage of links to X in the system are correct&lt;/li>
&lt;li>&lt;strong>recall&lt;/strong> for a document X tells us, what percentage of true links to X are present in the system&lt;/li>
&lt;li>&lt;strong>F1&lt;/strong> is the harmonic mean of precision and recall&lt;/li>
&lt;/ul>
&lt;p>F1 is a single-number metric combining precision and recall. In F1 precision and recall are weighted equally. It is also possible to combine precision and recall using different weights, to place more emphasis on one of those metrics.&lt;/p>
&lt;p>We decided to look at links from the target document&amp;rsquo;s perspective, because this is what the academic world cares about (i.e. how accurate the citation counts of academic papers are).&lt;/p>
&lt;p>Calculating separate numbers for individual documents and averaging them within a dataset is the best way to have reliable confidence intervals (which makes the whole analysis look much smarter!).&lt;/p>
&lt;h4 id="question-2-which-approaches-should-be-compared">Question 2. Which approaches should be compared?&lt;/h4>
&lt;p>In total we tested four reference matching approaches.&lt;/p>
&lt;p>The first approach, called the &lt;strong>legacy approach&lt;/strong>, is the approach currently used in Crossref ecosystem. It uses a parser and matches the extracted metadata fields against the records in the collection.&lt;/p>
&lt;p>The second approach is the &lt;strong>search-based matching (SBM)&lt;/strong> with a &lt;strong>simple threshold&lt;/strong>. It queries the search engine using the reference string and returns the top hit from the results, if its relevance score exceeds the threshold.&lt;/p>
&lt;p>The third approach is the &lt;strong>search-based matching (SBM)&lt;/strong> with a &lt;strong>normalized threshold&lt;/strong>. Similarly as in the simplest SBM, in this approach we query the search engine using the reference string. In this case the first hit is returned if its normalized score (the score divided by the reference length) exceeds the threshold.&lt;/p>
&lt;p>Finally, the fourth approach is a variation of the search based matching, called &lt;strong>search-based matching with validation (SBMV)&lt;/strong>. In this algorithm we use additional validation procedure on top of SBM. First, SBM with a normalized threshold is applied and the search results with the scores exceeding the normalized threshold are selected as candidate target documents. Second, we calculate validation similarity between the input string and each of the candidates. This validation similarity is based on the presence of the candidate record&amp;rsquo;s metadata fields (year, volume, issue, pages, the last name of the first author, etc.) in the input reference string, as well as the relevance score returned by the search engine. Finally, the most similar candidate is returned as the final target document, if its validation similarity exceeds the &lt;strong>validation threshold&lt;/strong>.&lt;/p>
&lt;p>By adding the validation stage to the search-based matching we make sure that the same bibliographic numbers (year, volume, etc.) are present in both the input reference and the returned document. We also don&amp;rsquo;t simply take the first result, but rather use this validation similarity to choose from results scored similarly by the search engine.&lt;/p>
&lt;p>All the thresholds are parameters which have to be set prior to the matching. The thresholds used in these experiments were chosen using a separate dataset, as the values maximizing the F1 of each algorithm.&lt;/p>
&lt;h4 id="question-3-how-to-create-the-dataset">Question 3. How to create the dataset?&lt;/h4>
&lt;h3 id="results">Results&lt;/h3>
&lt;p>We could try to calculate our metrics for every single document in the system. Since we currently have &lt;a href="https://doi-org.turing.library.northwestern.edu/10.64000/c8tcs-9vm83" target="_blank">over 100M of them&lt;/a>, this would take a while, and we already felt impatient&amp;hellip;&lt;/p>
&lt;p>A faster strategy was to use &lt;a href="https://en.wikipedia.org/wiki/Sampling_%28statistics%29" target="_blank">sampling&lt;/a> with all the tools statistics was so generous to provide. And this is exactly what we did. We used a random sample of 2500 items from our system, which is big enough to give reliable results and, as we will see later, produces quite narrow confidence intervals.&lt;/p>
&lt;p>Apart from the sample, we needed some input reference strings. We generated those automatically by formatting the metadata of the chosen items using various citation styles. (Similarly to what happens when you automatically format the bibliography section for your article. Or at least we hope you don&amp;rsquo;t produce those reference strings manually…)&lt;/p>
&lt;p>For each record in our sample, we generated 11 citation strings, using the following styles:&lt;/p>
&lt;ul>
&lt;li>Well known citation styles from various disciplines:
&lt;ul>
&lt;li>american-chemical-society (acs)&lt;/li>
&lt;li>american-institute-of-physics (aip)&lt;/li>
&lt;li>elsevier-without-titles (ewt)&lt;/li>
&lt;li>apa&lt;/li>
&lt;li>chicago-author-date&lt;/li>
&lt;li>modern-language-association (mla)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Known styles + random noise. To simulate not-so-clean data, we randomly added noise (additional spaces, deleted spaces, typos) to the generated strings of the following styles:
&lt;ul>
&lt;li>american-institute-of-physics&lt;/li>
&lt;li>apa&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Custom degraded &amp;ldquo;styles&amp;rdquo;:
&lt;ul>
&lt;li>degraded: a simple concatenation of authors&amp;rsquo; names, title, container title, year, volume, issue and pages&lt;/li>
&lt;li>one author: a simple concatenation of the first author&amp;rsquo;s name, title, container title, year, volume, issue and pages&lt;/li>
&lt;li>title scrambled: same as degraded, but with title words randomly shuffled&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>Some styles include the DOI in the reference string. In such cases we stripped the DOI from the string, to make the matching problem non-trivial.&lt;/p>
&lt;p>An ideal matching algorithm will match every generated string to the record it was generated from. In practise, some of the expected matches will be missing, which will lower the recall of the tested matching approach. On the other hand, it is very probable that we will get the precision of 100%. To have the precision lower than 100%, we would have to have some unexpected matches to our sampled documents, which is unlikely. This is obviously not great, because we are missing a very important piece of information.&lt;/p>
&lt;p>What can we do to “encourage” such mismatches to our sampled documents? We could generate additional reference strings of documents that are not in our sample, but are similar to the documents in our sample. Hopefully, we will see some incorrect links from those similar strings to our sampled documents.&lt;/p>
&lt;p>For each sampled document I added up to 2 similar documents (I used, surprise surprise, our search engine to find the most similar documents). I ended up with 7,374 items in total (2,500 originally sampled and 4,874 similar items). For each item, 11 different reference strings were generated. Each reference string was then matched using the tested approaches and I could finally look at some results.&lt;/p>
&lt;h3 id="results-1">Results&lt;/h3>
&lt;p>First, let&amp;rsquo;s compare the overall results averaged over the entire dataset:&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/matching_comparison_overall.png" alt="overall comparison of reference matching evaluation" width="500px" />
&lt;p>The small vertical black lines at the top of the boxes show the confidence intervals at the confidence level 95%. The table gives the exact values and the same confidence intervals. The best result for each metric is bolded.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>&lt;/th>
&lt;th>average precision&lt;/th>
&lt;th>average recall&lt;/th>
&lt;th>average F1&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>legacy approach&lt;/td>
&lt;td>&lt;strong>0.9933&lt;/strong>&lt;br />(0.9910 - 0.9956)&lt;/td>
&lt;td>0.4203&lt;br />(0.4095 - 0.4312)&lt;/td>
&lt;td>0.5289&lt;br /> (0.5164 - 0.5413)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>SBM (simple threshold)&lt;/td>
&lt;td>0.9890&lt;br />(0.9863 - 0.9917)&lt;/td>
&lt;td>0.7127&lt;br />(0.7021 - 0.7233)&lt;/td>
&lt;td>0.7866&lt;br />(0.7763 - 0.7968)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>SBM (normalized threshold)&lt;/td>
&lt;td>0.9872&lt;br />(0.9844 - 0.9901)&lt;/td>
&lt;td>&lt;strong>0.7905&lt;/strong>&lt;br />(0.7796 - 0.8015)&lt;/td>
&lt;td>0.8354&lt;br />(0.8249 - 0.8458)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>SBMV&lt;/td>
&lt;td>0.9923&lt;br />(0.9902 - 0.9945)&lt;/td>
&lt;td>0.7902&lt;br />(0.7802 - 0.8002)&lt;/td>
&lt;td>&lt;strong>0.8448&lt;/strong>&lt;br />(0.8352 - 0.8544)&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>The confidence intervals given in the table are the ranges, in which it is 95% likely to have the real average precision, recall and F1. For example, we are 95% sure that the real F1 for SBMV in our entire collection is within the range 0.8352 - 0.8544.&lt;/p>
&lt;p>As we can see, each metric has a different winner.&lt;/p>
&lt;p>&lt;strong>The legacy approach is the best in precision&lt;/strong>. This suggests the legacy approach is quite conservative and outputs a match only if it is very sure about it. This might also result in missing a number of true matches (false negatives).&lt;/p>
&lt;p>According to the paired Student&amp;rsquo;s t-test, the difference between the average precision of the legacy approach and the average precision of the second best SBMV is not statistically significant. This means we cannot rule out that this difference is simply the effect of the randomness in sampling, and not the sign of the true difference.&lt;/p>
&lt;p>&lt;strong>SBM with a normalized threshold is the best in recall&lt;/strong>. This suggests that it is fairly tolerant and returns a lot of matches, which might also result in returning more incorrect matches (false positives). Also in this case the difference between the winner and the second best (SBMV) is not statistically significant.&lt;/p>
&lt;p>&lt;strong>SBMV is the best in F1&lt;/strong>. This shows that this approach balances precision and recall the best, despite being only the second best in both of those metrics. According to the paired Student&amp;rsquo;s t-test, the difference between SBMV and the second best approach (SBM with a normalized threshold) is &lt;strong>statistically significant&lt;/strong>.&lt;/p>
&lt;p>&lt;strong>All variants of the search-based matching outperform the parsing-based approach in terms of F1&lt;/strong>, with statistically significant differences. This shows that in search based-matching it is possible to keep precision almost as good as in the legacy approach, and still include many more true positives.&lt;/p>
&lt;p>Let&amp;rsquo;s also look at the same results split by the citation style:&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/matching_comparison_by_style.png" alt="comparison of reference matching evaluation by style" width="500px" />
&lt;p>For all styles the precision values are very high, and the legacy approach is slightly better than all variations of the search-based approach.&lt;/p>
&lt;p>In terms of recall and F1 SBM with a simple threshold is better than the legacy approach in 8 out of 11 styles. The three styles for which the legacy approach outperforms SBM with a simple threshold are styles that do not include the title in the reference strings (acs, aip and ewt). The reason for this is that the simple threshold cannot be well calibrated for shorter and longer reference strings at the same time.&lt;/p>
&lt;p>SBM with a normalized threshold and &lt;strong>SBMV is better than the legacy approach in recall and F1 for all 11 styles&lt;/strong>.&lt;/p>
&lt;p>The weak spot of the legacy approach is degraded and noisy reference strings, which do not appear to use any of the known citation styles.&lt;/p>
&lt;p>The weak spot of the search-based matching is short reference strings, and in particular citation styles that do not include the title in the string.&lt;/p>
&lt;h3 id="limitations">Limitations&lt;/h3>
&lt;p>The limitations are related mostly to the method of building the dataset.&lt;/p>
&lt;ul>
&lt;li>All the numbers reported here are estimates, since they were calculated on a sample.&lt;/li>
&lt;li>The numbers show strengths and weaknesses of each approach, but they do not reflect the real precision and recall in the system:
&lt;ul>
&lt;li>Since we included only 2 similar documents for each document in the sample, precision is most likely lower in the real data.&lt;/li>
&lt;li>We used a number of styles distributed uniformly. Of course in the real system the styles and their distribution might be different, which affects all the calculated numbers.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul></description></item><item><title>What does the sample say?</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/what-does-the-sample-say/</link><pubDate>Fri, 09 Nov 2018 00:00:00 +0000</pubDate><author>Dominika Tkaczyk</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/what-does-the-sample-say/</guid><description>&lt;p>At Crossref Labs, we often come across interesting research questions and try to answer them by analyzing our data. Depending on the nature of the experiment, processing &lt;a href="https://doi-org.turing.library.northwestern.edu/10.64000/c8tcs-9vm83" target="_blank">over 100M records&lt;/a> might be time-consuming or even impossible. In those dark moments we turn to sampling and statistical tools. But what can we infer from only a sample of the data?&lt;/p>
&lt;p>Imagine you are cooking soup. You just put some salt in it and now you are wondering if it is salty enough. What do you do next?&lt;/p>
&lt;ul>
&lt;li>Option #1: Since you carefully measured 1/7 of a teaspoon of salt per 0.13 litres of soup (as always), you already know the soup is fine. Everyone else better stop asking silly questions and eat their soup.&lt;/li>
&lt;li>Option #2: You stir everything carefully and taste a tablespoon. If it is not salty enough, you put more salt in the soup and repeat the tasting procedure.&lt;/li>
&lt;li>Option #3: You eat a tablespoon of soup and it tastes fine. But wait, there&amp;rsquo;s more soup in the pot, what if the sip you&amp;rsquo;ve just tasted was somehow different than the rest? You decide it&amp;rsquo;s better to eat another spoon of soup (which tastes fine). Still, a lot of soup left, who knows what that tastes like? It might be safer to eat an entire bowl of soup. Hmm, still not sure, you&amp;rsquo;ve eaten such a small fraction of the soup, who can guarantee the rest tastes the same? You have no choice but to eat another bowl, and then some more… Ooops, now you have eaten the entire pot of soup! At least you can be 100% sure now that the soup was indeed salty enough. The problem is, there is no soup left, and also, you don&amp;rsquo;t feel so good. But people are getting hungry, so you start cooking a new batch…&lt;/li>
&lt;/ul>
&lt;p>If your answer was option #3, read on. Your life is going to get easier!&lt;/p>
&lt;h3 id="tldr">TL;DR&lt;/h3>
&lt;ul>
&lt;li>Sampling and confidence intervals can be used to estimate the mean of a certain feature, or the proportion of items passing a certain test, by calculating it only for a random sample of items, instead of the entire large set of items. Note that estimating =/= guessing.&lt;/li>
&lt;li>Confidence intervals are a way of controlling the amount of uncertainty related to randomness in sampling.&lt;/li>
&lt;li>The confidence interval has a form (estimated value - something, estimated value + something). Confidence interval at the confidence level 95% is interpreted as follows: we are 95% sure that the real value that we are estimating is within our calculated confidence interval.&lt;/li>
&lt;li>The higher the confidence level (i.e. the more certain we want to be about the interval), the wider the interval has to be.&lt;/li>
&lt;li>The larger the sample, the narrower the confidence interval.&lt;/li>
&lt;li>We are never 100% sure that the value we are estimating is actually within our calculated confidence interval. By setting the confidence level high, we only make sure this is a very likely event.&lt;/li>
&lt;/ul>
&lt;h3 id="the-problem">The problem&lt;/h3>
&lt;p>Sampling and estimating drew my attention while I was working on the evaluation of the reference matching algorithms. In Crossref&amp;rsquo;s case, reference matching is the task of finding the target document DOI for the given input reference string, such as:&lt;/p>
&lt;p>&lt;em>(1) Adamo, S. H.; Cain, M. S.; Mitroff, S. R. Psychological Science 2013, 24, 2569–2574.&lt;/em>&lt;/p>
&lt;p>Accurate reference matching is very important for the scientific community. Thanks to automatic reference matching we are able to find citing relations in large document sets, calculate citation counts, H-indexes, impact factors, etc.&lt;/p>
&lt;p>For several weeks now I have been investigating &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/labs/resolving-citations-we-dont-need-no-stinkin-parser/">a simple reference matching algorithm based on the search engine&lt;/a>. In this algorithm, we use the input reference string as the query in the search engine, and we return the first item from the results as the target document. Luckily, at Crossref we already have &lt;a href="https://search-crossref-org.turing.library.northwestern.edu" target="_blank">a good search engine&lt;/a> in place, so all the pieces are there.&lt;/p>
&lt;p>I was interested in how well this simple algorithm works, i.e. how often the correct target document is found. For example, let&amp;rsquo;s say we have a reference string in APA citation style generated for a specific record in Crossref system. How certain can I be that it will be correctly matched to the record&amp;rsquo;s DOI?&lt;/p>
&lt;p>I could calculate this directly by generating the APA reference string for every record in the system and trying to match those strings to DOIs. Since we already have &lt;a href="https://doi-org.turing.library.northwestern.edu/10.64000/c8tcs-9vm83" target="_blank">over 100M records&lt;/a>, this would take a while and I was getting impatient. So instead of eating the whole pot of soup, I decided to stir and taste just a little bit of it, or, academically speaking, use &lt;a href="https://en.wikipedia.org/wiki/Sampling_%28statistics%29" target="_blank">sampling&lt;/a> and &lt;a href="https://en.wikipedia.org/wiki/Confidence_interval" target="_blank">confidence intervals&lt;/a>.&lt;/p>
&lt;p>These statistical tools are useful in situations, where we have a large set of items, and we want to know the average of a certain feature of an item in our set, or the proportion of items passing a certain test, but calculating it directly is impossible or difficult. For example, we might want to know the average height of all women living in USA, the average salary of a Java programmer in London, or the proportion of book records in the Crossref collection. The entire set we are interested in is called a &lt;strong>population&lt;/strong> and the value we are interested in is called a &lt;strong>population average&lt;/strong> or a &lt;strong>population proportion&lt;/strong>. Sampling and confidence intervals let us estimate the population average or proportion using only a sample of items, in a reliable and controlled way.&lt;/p>
&lt;h3 id="experiments">Experiments&lt;/h3>
&lt;p>In general I wanted to see, how well I can estimate the population proportion of records passing a certain test, using only a sample.&lt;/p>
&lt;p>In the following experiments, the population is 1 million metadata records from the Crossref collection. I didn&amp;rsquo;t use the entire collection as the population, because I wanted to be able to calculate the real proportion and compare it to the estimates.&lt;/p>
&lt;p>The test for a single record is: whether the APA reference string generated from said record is correctly matched to the record&amp;rsquo;s original DOI. In other words: if I generate the APA reference string from my record and use it as the query in Crossref&amp;rsquo;s search, will the record be the first element in the result list? Note that this proportion can also be interpreted as the probability that the APA reference string will be correctly matched to the target DOI.&lt;/p>
&lt;h4 id="estimating-from-a-sample">Estimating from a sample&lt;/h4>
&lt;p>I took a random sample of size 100 from my population and calculated the proportion of the records correctly matched - this is called a &lt;strong>sample proportion&lt;/strong>. In my case, the sample proportion is 0.92. This means that in my sample 92 reference strings were successfully matched to the right DOIs. Not too bad.&lt;/p>
&lt;p>I could now treat this number as the estimate and assume that 0.92 is close to the population proportion. On the other hand, this is only a sample, and a rather small one, which raises doubts. What if our 92 correct matches happen to be the only correct matches in the entire 1M population? In such a case, our estimate of 0.92 would be very far from the population proportion. This uncertainty related to sampling randomness can be captured by the confidence interval.&lt;/p>
&lt;h4 id="confidence-interval">Confidence interval&lt;/h4>
&lt;p>The confidence interval for my 100-point sample, at the confidence level 95%, is 0.8668-0.9732. This is interpreted as follows: we are 95% sure that the real population proportion is within the range 0.8668-0.9732. Note that the sample average (0.92) is exactly in the middle of this range.&lt;/p>
&lt;p>100 items is not a big sample. Let&amp;rsquo;s calculate the confidence interval for a sample 10 times larger. From a sample of size 1000 I got the estimate 0.932, and the confidence interval 0.9164-0.9476. Based on this, we can be 95% sure that the real population proportion is within the range 0.9164-0.9476.&lt;/p>
&lt;p>It seems the our interval got smaller when we increased the sample size. Let&amp;rsquo;s plot the intervals for a variety of sample sizes:&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/sampling_ci_by_size.png" alt="confidence interval vs sample size" width="500px" />
&lt;p>The blue line represents the estimated proportion for samples of different sizes, and the grey vertical lines are confidence intervals. The estimated proportion varies, because for each size a different sample was drawn.&lt;/p>
&lt;p>We can see that increasing the sample size decreases the interval. This should make intuitive sense: if we have more data to estimate from, we can expect our estimate to be more reliable (i.e. closer to the population proportion).&lt;/p>
&lt;p>What about the confidence level? By setting the confidence level we specify, how certain we want to be about our confidence interval. So far I used 95%. What happens if I calculate the confidence intervals for my original sample of 100 records, but with varying confidence level?&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/sampling_ci_by_cl.png" alt="confidence interval vs confidence level" width="500px" />
&lt;p>In this case the average is always the same, because only one sample was used.&lt;/p>
&lt;p>As we can see, increasing the confidence level widens the interval. In other words, the more certain we want to be about the interval containing the real population average, the wider the interval has to be.&lt;/p>
&lt;h4 id="sampling-distribution">Sampling distribution&lt;/h4>
&lt;p>So far so good, but where does this magic confidence interval actually come from? It is calculated by the theoretical analysis of the sampling distribution (not to be confused with sample distribution):&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Sample distribution&lt;/strong> is when we collect one sample of size &lt;em>k&lt;/em> and calculate a certain feature for every element in the sample. It is a distribution of &lt;em>k&lt;/em> values of the feature in one sample.&lt;/li>
&lt;li>&lt;strong>Sampling distribution&lt;/strong> is when we independently collect &lt;em>n&lt;/em> samples, each of size &lt;em>k&lt;/em>, and calculate the sample proportion for each sample. It is the distribution of &lt;em>n&lt;/em> sample proportions.&lt;/li>
&lt;/ul>
&lt;p>Imagine I collect all samples of size 100 from my population and I calculate the sample proportion for each sample. This is the sampling distribution. Now I randomly choose one number from this sampling distribution. Note that this is equivalent to what I did before: choosing one random sample of size 100 and calculating its sample proportion.&lt;/p>
&lt;p>According to &lt;a href="https://en.wikipedia.org/wiki/Central_limit_theorem" target="_blank">Central Limit Theorem&lt;/a>, sampling distribution is approximately normal with the mean equal to the population proportion. Here is the visualisation of the sampling distribution:&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/sampling_sampling_distribution.png" alt="visualization of sampling distribution" width="500px" />
&lt;p>The black vertical line shows the mean of the sampling distribution. This is also the real population proportion. The grey area covers the middle 95% of the distribution mass (within 2 standard deviations from the mean).&lt;/p>
&lt;p>When we choose one sample and calculate the sample proportion, there are two possibilities:&lt;/p>
&lt;ul>
&lt;li>With 95% probability, we were lucky and the sample proportion is within the grey area. In that case, the real population proportion is not further than 2 standard deviations from our estimate.&lt;/li>
&lt;li>With 5% probability, we were unlucky and the sample proportion is outside the grey area. In that case, the real population proportion is further than 2 standard deviations from our estimate.&lt;/li>
&lt;/ul>
&lt;p>So with the confidence of 95% we can say that the real population proportion is within 2 standard deviations from our sample proportion. We can see now that these 2 standard deviations of the sampling distribution define our confidence interval at the confidence level of 95%.&lt;/p>
&lt;p>Smaller confidence level would make the grey area narrower, and the confidence interval would shrink as well. Larger confidence level makes the grey area, and the confidence interval, larger.&lt;/p>
&lt;p>To look more closely at the sampling distribution, I generated sampling distributions for all combinations of &amp;ldquo;&lt;em>n&lt;/em> samples of size &lt;em>k&lt;/em>&amp;rdquo;, where &lt;em>n&lt;/em> and &lt;em>k&lt;/em> are the elements of the set {25, 50, 100, 200, 400, 800, 1600, 3200}. This is only an approximation, since the real sampling distributions would contain many more samples.&lt;/p>
&lt;p>Here is the heatmap showing the mean of each sampling distribution (this should be approximately the same as the real population proportion):&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/sampling_sampling_means.png" alt="means of sampling distributions" width="500px" />
&lt;p>We can see that there is some variability in the top left part of the heatmap, which corresponds to small sample sizes and small numbers of samples. The bottom right part of the heatmap shows much less variability. As we increase the sample size and number of samples, the mean of the sampling distribution approaches numbers around 0.933.&lt;/p>
&lt;p>Here is the heatmap showing the standard deviation for each sampling distribution:&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/sampling_sampling_stdevs.png" alt="standard deviations of sampling distributions" width="500px" />
&lt;p>We can clearly see how the standard deviation decreases when we increase the sample size. This is consistent with the previous observation, that the confidence interval decreases when the sample size is increased.&lt;/p>
&lt;p>Let&amp;rsquo;s also see the histograms of all the sampling distributions:&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/sampling_sampling_histograms.png" alt="histograms of sampling distributions" width="500px" />
&lt;p>Here we can see the following patterns:&lt;/p>
&lt;ul>
&lt;li>All histograms indeed seem to be centered around approximately the same number.&lt;/li>
&lt;li>The more samples we include, the more normal the sampling distribution appears. This happens because with more samples the real sampling distribution is better approximated.&lt;/li>
&lt;li>The larger the sample size, the narrower the sampling distribution (i.e. smaller standard deviation).&lt;/li>
&lt;/ul>
&lt;h4 id="the-estimation-vs-the-real-value">The estimation vs. the real value&lt;/h4>
&lt;p>Let&amp;rsquo;s go back to my original question. What is the proportion of reference strings in APA style, that are successfully matched to the original DOIs of the records they were generated from? So far we observed the following:&lt;/p>
&lt;ul>
&lt;li>A small sample of 100 gave the estimate 0.92 (confidence interval 0.8668-0.9732)&lt;/li>
&lt;li>A larger samples of 1000 gave the estimate 0.932 (confidence interval 0.9164-0.9476)&lt;/li>
&lt;li>The means of sampling distributions seem to slowly approach 0.933&lt;/li>
&lt;/ul>
&lt;p>So what is the real population proportion in my case? It is 0.933005. As we can see, the estimations were fairly close, and the intervals indeed contain the real value.&lt;/p>
&lt;p>Now I can also calculate the confidence interval for each sample in my sampling distributions, and then the fraction of the intervals that contain the real population proportion (I expect these numbers to be close to the confidence level 95%). Here is the heatmap:&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/images/blog/sampling_sampling_fractions.png" alt="fractions of samples containing the real proportion in confidence interval" width="500px" />
&lt;p>We can see that for larger sample sizes indeed the fractions are high. The fraction is not always above 95%, as we would expect, especially for smaller sample sizes. One of the reasons is that when we calculate the confidence interval, we approximate the standard deviation of the population with the standard deviation of the sample. This is not always a reliable estimate, especially for small samples. This suggests that sample sizes of at least 1000-2000 should be used.&lt;/p>
&lt;h3 id="be-careful">Be careful&lt;/h3>
&lt;p>Some important things to remember:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Aggregate functions&lt;/strong>. As mentioned before, apart from estimating the proportion, a similar procedure can be applied for estimating the average of a certain numeric feature.&lt;/li>
&lt;li>&lt;strong>(Lack of) certainty&lt;/strong>. Remember that the confidence level &amp;lt; 1. This means that we are never sure that our confidence interval contains the true population proportion. If for any reason you need to be 100% sure, just process the entire dataset.&lt;/li>
&lt;li>&lt;strong>Randomness&lt;/strong>, a.k.a. “stirring before tasting”. The sample has to be chosen randomly. Beware of assuming that the dataset is shuffled and taking the first 1000 rows!&lt;/li>
&lt;li>&lt;strong>Sample size&lt;/strong>. We know already that the larger the sample, the better. As a rule of thumb, using sample sizes &amp;lt; 30 makes the estimates, including the interval, rather unreliable.&lt;/li>
&lt;li>&lt;strong>Skewness&lt;/strong>. In general, the more skewed the original feature distribution, the larger sample we need. In case of the proportion, the sample should contain at least 5 data points of each value of the feature (passes/doesn&amp;rsquo;t pass the test).&lt;/li>
&lt;li>&lt;strong>Generalization&lt;/strong>. The sample average/proportion can be used as an estimate for the population average/proportion, but only the population it was drawn from. This means that if we applied any filters before sampling (which is equivalent to sampling from a subset passing the filter), we can reason only about the filtered subset of the data.&lt;/li>
&lt;li>&lt;strong>Reproducibility&lt;/strong>. This is more of an engineering concern. In short, all the analyses we do should be reproducible. In the context of sampling it means, at the very least, that we should record the samples we use.&lt;/li>
&lt;/ul></description></item><item><title>URLs and DOIs: a complicated relationship</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/urls-and-dois-a-complicated-relationship/</link><pubDate>Fri, 04 Nov 2016 00:00:00 +0000</pubDate><author>Joe Wass</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/urls-and-dois-a-complicated-relationship/</guid><description>&lt;p>As the linking hub for scholarly content, it’s our job to tame URLs and put in their place something better. Why? Most URLs suffer from link rot and can be created, deleted or changed at any time. And that’s a problem if you’re trying to cite them.&lt;/p>
&lt;p>Thus the Crossref DOI was born: an Identifier which is Persistent, which means that it’s designed to live forever (or, as Geoff Bilder rather more &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/january-2015-doi-outage-followup-report/">prosaically puts it&lt;/a>, as long as we do), and also Resolvable, which means that you can click on it. A DOI &lt;strong>is&lt;/strong> a URL, but it’s imbued with special properties. I say special, not magical, because all of the things that make Crossref DOIs what they are, are obtained through agreements and common standards rather than any kind of magic.&lt;/p>
&lt;p>As part of the development of Crossref Event Data I’ve been doing some research about the relationship between DOIs and URLs. It’s a problem we have to solve in order to make Event Data work, but it’s a much broader and more interesting story, and the results have wide applicability. I’ll be telling this story at &lt;a href="http://pidapalooza.org/">PIDapalooza&lt;/a>. If you’re interested in Persistent Identifiers you should go and &lt;a href="http://pidapalooza.org/">registration is open&lt;/a>, though hurry, as it’s next week and in Rejkjavik, Iceland!&lt;/p>
&lt;p>This is also a story in progress. As I write not all of the data is in, and we can be certain that it will evolve in ways we have no idea about. It’s also quite long but I’ll do my best to disqualify it from the bedtime reading list.&lt;/p>
&lt;h2 id="full-circle">Full circle&lt;/h2>
&lt;p>Crossref was established just over fifteen years ago with the purpose of forming the linking hub between publishers. Our job was — and still is — to register content for publishers and then continue to work with them to ensure their DOIs always point to the right location of the content. To do this we need to do one main thing: send people in the right direction when they click on a DOI, and know which direction to point them in.&lt;/p>
&lt;p>Today, linking is still an important part of what Crossref does, but we do a huge amount more. One of the new things we’re working on is Crossref Event Data. It’s a service for tracking how and where people use scholarly content (such as articles) across the web and social media. Early research suggested that if we limited ourselves to just looking for DOIs we wouldn’t find much. Instead we broadened our aims a little: rather than looking for mentions of registered content exclusively via their DOIs, we look for them via the most suitable mechanism. In most cases this means the actual URL of the Item. So we have come full circle: we started linking DOIs to URLs. Now we’re trying to link URLs back to DOIs.&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2016/10/1.png" alt="urls-back-to-dois" class="img-responsive"/>
&lt;p>Which URL are we talking about here? The Crossref Guidelines say:&lt;/p>
&lt;blockquote>
&lt;p>DOI-routed reference links enabled by Crossref must resolve to a response page containing no less than complete bibliographic information about the target content …&lt;/p>
&lt;/blockquote>
&lt;p >
&lt;a href="http://www.crossref.org.turing.library.northwestern.edu/02publishers/59pub_rules.html">http://www.crossref.org.turing.library.northwestern.edu/02publishers/59pub_rules.html&lt;/a>
&lt;/p>
&lt;p>This is what’s referred to as the Landing Page. Every Landing Page has a URL. Usually when you want to read information about an Article, it’s the Landing Page that you’re looking at. I should also say at this point that when I say Article I mean any item of Crossref Registered Content with a DOI. So the same applies to books, chapters, conference proceedings etc. But as most items are Articles, I’ll stick with that for now.&lt;/p>
&lt;p>I’m going to make some assumptions. Unfortunately, and I don’t want to spoil the surprise here, they all turn out to be false. They’re all reasonable assumptions, though, and you would be forgiven for thinking, or at least wishing, that they were true.&lt;/p>
&lt;p>So suspend your disbelief and follow me down the rabbit-hole…&lt;/p>
&lt;h2 id="assumption-1-a-doi-points-directly-to-a-landing-page-url">Assumption 1: A DOI points directly to a Landing Page URL&lt;/h2>
&lt;p>When you click on a DOI you are taken to the Article Landing Page. It seems like a perfectly valid assumption to think that you are taken directly there.&lt;/p>
&lt;p>The DOI system is essentially a big lookup table. In the first column is the DOI and in the second column is the URL. Publishers request that we register each item’s DOI and supply us with the URL it should point to. We work with CNRI and the International DOI Foundation to keep the system running and it means that when you, the reader at home, click on a DOI, you end up on the article’s Landing Page.&lt;/p>
&lt;p>It would be very convenient if our assumption were true. If we wanted to turn a URL back into an article page, we could just swap the two columns and find the DOI by looking up the URL.&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2016/10/2.png" alt="flip DOIs" class="img-responsive" />
&lt;p>It turns out that it’s not quite so simple.&lt;/p>
&lt;p>The Landing Page is under control of the publisher, as is the URL that they supply us with. They don’t need to supply us with the final landing page URL, only with one that &lt;em>&lt;strong>leads&lt;/strong>&lt;/em> to the landing page.&lt;/p>
&lt;h2 id="http-redirects">HTTP redirects&lt;/h2>
&lt;p>When you request a URL, either by typing it into your browser or by clicking on a link, your browser contacts the server and gets a reply. That reply can be “200 OK, here’s your page”, “303, look over there” or the dreaded “404, I can’t find it”. Other HTTP response codes are available, including well-known classics such as 201, 500 and 418.&lt;/p>
&lt;p>If it’s a 303, your browser will follow the redirect URL. The response that comes back from that redirect could be another 303. You could end up following a whole chain of redirects. You wouldn’t notice anything, except having to wait an extra few milliseconds.&lt;/p>
&lt;h2 id="extraordinary-diversity">Extraordinary diversity&lt;/h2>
&lt;p>Crossref was created by a group of publishers who needed a way to link between articles. It was an ambitious goal: create a central system with which any publisher can integrate their own systems; one that allows linking to any article no matter who published it. Today we have over 5,000 members and counting, all contributing to our metadata engine. And up to 2 million DOIs are resolved every day, by all kinds of people and systems. Our wide range of members means a wide range of systems with a wide range of designs.&lt;/p>
&lt;p>This brings an extraordinary diversity of behavior. If we want to make observations about DOIs we can’t just take a random sample of the over 80 million. Instead, we need to take a sample of DOIs per Publisher System. Even taking a sample per publisher might not do the job because some publishers run a variety of systems.&lt;/p>
&lt;h2 id="experiment-1-does-crossref-know-all-landing-pages">Experiment 1: Does Crossref know all Landing Pages?&lt;/h2>
&lt;figure>&lt;img src="https://upload.wikimedia.org/wikipedia/commons/thumb/e/e7/Atomic_Laboratory_Experiment_on_Atomic_Materials_-_GPN-2000-000663.jpg/256px-Atomic_Laboratory_Experiment_on_Atomic_Materials_-_GPN-2000-000663.jpg"
alt="Atomic Laboratory Experiment on Atomic Materials - GPN-2000-000663" width="40%">&lt;figcaption>
&lt;h4>By NASA / Paul Riedel (Great Images in NASA: Home - info - pic) [Public domain], via Wikimedia Commons&lt;/h4>
&lt;/figcaption>
&lt;/figure>
&lt;p>&lt;strong>Hypothesis:&lt;/strong> Crossref knows the Landing Page URL for all DOIs.&lt;/p>
&lt;p>For a sample of Items, we can follow the DOI link all the way through to the Landing Page, following any redirects, then compare the final Landing Page URL to the one that Crossref knows about. If there are extra redirects, that means that the one we have on file isn’t the final one.&lt;/p>
&lt;p>We need to tighten up the terminology at this stage:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>DOI URL&lt;/strong> - The full DOI, e.g. &lt;a href="https://doi-org.turing.library.northwestern.edu/10.5555/12345678">&lt;a href="https://doi-org.turing.library.northwestern.edu/10.5555/12345678" target="_blank">https://doi-org.turing.library.northwestern.edu/10.5555/12345678&lt;/a>&lt;/a> .&lt;/li>
&lt;li>&lt;strong>Resource URL&lt;/strong> - The URL that Crossref has on file (stored in our system). This is where the browser is initially redirected.&lt;/li>
&lt;li>&lt;strong>Destination URL&lt;/strong> - The URL that we end up at if we follow all the redirects.&lt;/li>
&lt;li>&lt;strong>Article Landing Page&lt;/strong> - The page that represents the item. If everything works, this should be the same as the Destination URL.&lt;/li>
&lt;/ul>
&lt;p>The reason we’re talking about the Destination URL as distinct from the Article Landing Page when they should be the same thing will become clear later. Consider yourself foreshadowed.&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2016/10/3-2.png" alt="redirects" class="img-responsive" />
&lt;p>So let’s re-word our hypothesis:&lt;/p>
&lt;p>&lt;strong>Hypothesis:&lt;/strong> The Destination URL is the same as the Resource URL.&lt;/p>
&lt;p>&lt;strong>Method:&lt;/strong> A sample of DOIs was taken (most items updated in 2016, all from 2009 or earlier). The Resource URL was obtained for all of them. The DOIs were split by the domain name of the Resource URL (to give a good coverage of all Publisher systems). A sample of Resource URLs was followed per domain, at least 200 (or fewer if that exceeds the number of DOIs available). Where there were HTTP redirects they were followed.&lt;/p>
&lt;p>&lt;strong>Observations:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Number of Items sampled Destination URL: 253,381&lt;/li>
&lt;li>Number where Resource URL = Destination URL: 46,995 or 19.96%&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Conclusion:&lt;/strong> Not all Resource URLs are the same as the Destination URL by a long shot. Crossref does not automatically know every landing page URL.&lt;/p>
&lt;p>Now we know the truth about our first assumption: DOIs don’t point directly to Landing Pages. If we want to reverse Landing Pages back into DOIs, we’re going to need to go a bit deeper…&lt;/p>
&lt;h2 id="interlude">Interlude&lt;/h2>
&lt;p>But first, an interlude with some information about publishers, owners, and systems, because now seems like the right time to do it.&lt;/p>
&lt;h2 id="assumption-2-you-can-tell-the-publisher-of-a-doi-by-looking-at-its-prefix">Assumption 2: You can tell the publisher of a DOI by looking at its prefix&lt;/h2>
&lt;p>This is a real one one that people believe. Again, it’s entirely understandable. People look at a DOI like &lt;a href="https://doi-org.turing.library.northwestern.edu/10.1371/journal.pone.0136117.g001">&lt;a href="https://doi-org.turing.library.northwestern.edu/10.1371/journal.pone.0136117.g001" target="_blank">https://doi-org.turing.library.northwestern.edu/10.1371/journal.pone.0136117.g001&lt;/a>&lt;/a> , which takes them to PLoS and naturally assume that another DOI like &lt;a href="https://doi-org.turing.library.northwestern.edu/10.1371/journal.pone.0136053.t003">&lt;a href="https://doi-org.turing.library.northwestern.edu/10.1371/journal.pone.0136053.t003" target="_blank">https://doi-org.turing.library.northwestern.edu/10.1371/journal.pone.0136053.t003&lt;/a>&lt;/a> — because it has the same prefix of 10.1371 — is also for a PLoS item.&lt;/p>
&lt;p>Whilst this turns out to be true most of the time, it’s not true for all Items, which makes it a dangerous assumption to make.&lt;/p>
&lt;p>It is true that every publisher is given a prefix. They can then register DOIs with this prefix. It is also true that Items can be transferred between publishers. Because DOIs are persistent, the prefix in the DOI doesn’t change. So you might find a DOI that belongs to a publisher that has an unexpected prefix. Publishers can also be bought and sold, merged and split, which means that whilst most publishers have a single prefix, some, like Elsevier, have several. Take the case of Elsevier, who has 26 at the time of writing (you can see this in &lt;a href="https://api-crossref-org.turing.library.northwestern.edu/v1/members/78">Elsevier’s entry in the Crossref Metadata API&lt;/a>).&lt;/p>
&lt;p>Every Item has an ‘owner prefix’ in addition to the prefix in the DOI. The owner prefix is the same as the DOI prefix when the Item is created, but over time, as articles are transferred, that can change to indicate that it is owned by another publisher.&lt;/p>
&lt;p>Every Item has a DOI, and every DOI has a prefix. But every Item also has an Owner Prefix (you can check this in the Metadata API in the ‘prefix’ field).&lt;/p>
&lt;p>So Assumption 2 has been laid to rest. The only thing you can tell from looking at a DOI is that it is, in fact, a DOI (you can tell by the “10.” index code).&lt;/p>
&lt;p>Why do we care about identifying publishers anyway?&lt;/p>
&lt;h2 id="a-fair-test">A Fair Test&lt;/h2>
&lt;p>We fundamentally want to conduct a fair test. The reason we can’t just take a random sample from the set of all DOIs is that there are lots of members who all do things slightly differently. Therefore we need to take a sample per publisher ‘system’. The word ‘system’ is a bit fuzzy, but my assumption is that two articles in the same system will behave the same way so we can treat them the same.&lt;/p>
&lt;p>We also know that each Crossref member may be running more than one system, or a mixture. Therefore just looking at the owner of a DOI may not give accurate results if we want to conduct a survey of all the systems out there.&lt;/p>
&lt;p>There’s no perfect answer, but the approach I’m taking is to look at the domain name of the Resource URL. We often find lots of subdomains for the same publisher, for example, “psw.sagepub.com”, “pol.sagepub.com”, “psx.sagepub.com” and “bpi.sagepub.com”. It’s clear that these are all operated by Sage, but they might or might not all be running on different ‘systems’.&lt;/p>
&lt;p>Therefore I’m splitting DOIs up into groups based on the domain of their Resource URL. It may turn out that some publishers use a single system running on many domains, or it may turn out that some publishers use a different system for each domain they use. The key point is to find a sampling technique that broadly works, and that allows us to explore and differentiate, as keenly as possible, the variety of systems and behaviours.&lt;/p>
&lt;h2 id="why-all-the-redirects">Why all the redirects?&lt;/h2>
&lt;p>Curious minds might at this stage be wondering about all these extra redirects. Surely it’s extra stuff for the publisher to maintain. Why don’t they just point the DOI directly to the landing page?&lt;/p>
&lt;p>The answer must be prefaced by repeating that there is a huge number of publishers, running a variety of systems, so we’ll never be able to completely answer that. But some humble suggestions:&lt;/p>
&lt;ol>
&lt;li>They might want to be able to change the URLs of the Landing Pages. It may be easier to update their internal systems than send the update to Crossref, especially in bulk.&lt;/li>
&lt;li>Different parts of their technology stack may be owned by different parts of the company, or outsourced. It’s easier to define internal boundaries than to co-ordinate business units and cross an external one.&lt;/li>
&lt;li>A publisher may run a mix of different technology. As part of their systems integration process, they set up a redirect server to make everything work together.&lt;/li>
&lt;li>A publisher assigns DOIs to articles but also has their own internal IDs. They maintain their own DOI-to-internal-ID lookup service.&lt;/li>
&lt;/ol>
&lt;h3 id="internal-doi-resolvers">Internal DOI resolvers&lt;/h3>
&lt;p>That last point is an interesting one. The DOI system is the canonical “DOI-to-URL resolver”. That doesn’t prevent publishers from running their own. Indeed, many do.&lt;/p>
&lt;p>To take a real example of &lt;a href="https://plos.org">PLoS&lt;/a>, an Open Access publisher who registers lots of content with Crossref. To follow one of their DOIs we go on the following journey of redirects:&lt;/p>
&lt;ul>
&lt;li>https://doi-org.turing.library.northwestern.edu/10.1371/journal.pone.0164910&lt;/li>
&lt;li>http://dx.plos.org/10.1371/journal.pone.0164910&lt;/li>
&lt;li>http://www.plosone.org/article/info%3Adoi%2F10.1371%2Fjournal.pone.0164910&lt;/li>
&lt;li>http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0164910&lt;/li>
&lt;/ul>
&lt;p>Given that the last step uses a DOI, this suggests that they use the DOI as an internal identifier. All those redirects were for some purpose, but they weren’t mapping a DOI to an internal ID. This is therefore &lt;strong>not&lt;/strong> an internal DOI resolver.&lt;/p>
&lt;p>Another example from JAMA Surgery:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://doi-org.turing.library.northwestern.edu/10.1001/archsurg.142.7.595" target="_blank">https://doi-org.turing.library.northwestern.edu/10.1001/archsurg.142.7.595&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://archsurg.jamanetwork.com.turing.library.northwestern.edu/article.aspx?doi=10.1001/archsurg.142.7.595" target="_blank">http://archsurg.jamanetwork.com.turing.library.northwestern.edu/article.aspx?doi=10.1001/archsurg.142.7.595&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://jamanetwork.com.turing.library.northwestern.edu/journals/jamasurgery/fullarticle/487551" target="_blank">http://jamanetwork.com.turing.library.northwestern.edu/journals/jamasurgery/fullarticle/487551&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://jamanetwork.com.turing.library.northwestern.edu/journals/jamasurgery/article-abstract/487551" target="_blank">http://jamanetwork.com.turing.library.northwestern.edu/journals/jamasurgery/article-abstract/487551&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>In this case we see a mapping from the DOI 10.1001/archsurg.142.7.595 to the ID 487551.&lt;/p>
&lt;p>Can we define a heuristic for this pattern? Yes, but not a perfect one. My test is this:&lt;/p>
&lt;ul>
&lt;li>Does the resource URL contain the DOI?&lt;/li>
&lt;li>If so, does it redirect to a different destination URL?&lt;/li>
&lt;li>If so, does the destination URL not contain the DOI?&lt;/li>
&lt;/ul>
&lt;p>The last step is important, because we can’t really say the publisher is running a DOI resolver if they use the DOI all the way through.&lt;/p>
&lt;p>It’s not perfect and no doubt has false negatives. But we’re just trying to find out whether &lt;strong>some&lt;/strong> publishers run their own DOI resolver systems.&lt;/p>
&lt;h2 id="experiment-2-determine-how-widespread-use-of-internal-doi-resolvers-is">Experiment 2: Determine how widespread use of internal DOI resolvers is:&lt;/h2>
&lt;p>&lt;a title="By MacVicar, N. - National Institutes of Health [Public domain], via Wikimedia Commons" href="https://commons.wikimedia.org/wiki/File%3AMarshall_Nirenberg_performing_experiment.jpg">&lt;img src="https://upload.wikimedia.org/wikipedia/commons/thumb/1/10/Marshall_Nirenberg_performing_experiment.jpg/256px-Marshall_Nirenberg_performing_experiment.jpg" alt="Marshall Nirenberg performing experiment" class="img-responsive" />&lt;/a>&lt;/p>
&lt;p>&lt;strong>Hypothesis:&lt;/strong> Some publishers run their own DOI resolvers.&lt;/p>
&lt;p>&lt;strong>Method:&lt;/strong> A number of Destination URLs were sampled per Resource URL Domain. If the Resource URL contains the DOI but the Destination URL doesn’t, that’s marked as a Publisher DOI resolver redirect.&lt;/p>
&lt;p>&lt;strong>Observations:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Number of Items sampled with Resource URL and Destination URL: 253,381&lt;/li>
&lt;li>Number of Items that appear to be DOI resolvers: 166,352 = 65.6%&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Conclusions: Some publishers run their own DOI resolvers.&lt;/strong>&lt;/p>
&lt;p>This isn’t of much practical use, but it’s interesting to know, and hints at the way the Crossref system and DOIs are integrated with Publishers’ systems. Now that we’ve got a little insight into the reasons that publishers might run their own DOI resolvers, we can resume our journey of assumptions.&lt;/p>
&lt;h2 id="assumption-3-we-can-find-the-landing-page-for-every-doi">Assumption 3: We can find the Landing Page for Every DOI&lt;/h2>
&lt;p>Now we know that we can’t just use the lookup table in reverse, but have to follow the links all the way to their destination. Does this approach actually work?&lt;/p>
&lt;p>This is a pretty big question and we need to be clear about what we mean by ‘every’ DOI. The set of DOIs I’m using (although I’m using a subset) is “all DOIs in our Metadata API that are found in doi.org”.&lt;/p>
&lt;p>What is a DOI? Geoff Bilder went over it in the &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/doi-like-strings-and-fake-dois/">DOI-like-strings blog post&lt;/a> earlier this year. The definition I’m working to here is:&lt;/p>
&lt;blockquote>
&lt;p>A DOI is an identifier for an item of content registered in the DOI system.&lt;/p>
&lt;/blockquote>
&lt;p>That is, if you resolve the DOI on &lt;a href="https://doi-org.turing.library.northwestern.edu/" target="_blank">https://doi-org.turing.library.northwestern.edu/&lt;/a> and it’s recognised, that counts as a DOI. I’m working from the set of DOIs found in the Crossref system as I’m primarily concerned with Crossref DOIs. However, we collaborate closely with DataCite.&lt;/p>
&lt;p>Back to our assumption: “we can find the Landing Page for every DOI”. The answer is that we can, most of the time. But because Crossref Event Data has to work as well as possible, and therefore work with as many DOIs as possible, we have to scour all the nooks and crannies.&lt;/p>
&lt;h3 id="assumption-4-every-doi-points-somewhere-unique">Assumption 4: Every DOI points somewhere unique&lt;/h3>
&lt;p>Stop me when you find the deliberate mistake:&lt;/p>
&lt;ol>
&lt;li>Every Item corresponds to a different thing&lt;/li>
&lt;li>Every Item has a single DOI&lt;/li>
&lt;li>Every DOI is different&lt;/li>
&lt;li>Every DOI points to a landing page&lt;/li>
&lt;li>Therefore every DOI points to a different landing page&lt;/li>
&lt;/ol>
&lt;p>Two things immediately suggest themselves:&lt;/p>
&lt;p>&lt;em>“Every item has a single DOI”&lt;/em> should be true, but it isn’t. We find that sometimes two DOIs are assigned to the same item. This can happen when publications change hands between publishers, or when mistakes are made, or for a variety of other reasons. We also find that in some cases Publishers registered a DOI for the metadata and one for the article abstract. The two DOIs point to the same place. In some cases where there were two DOIs registered for the same thing we create an Alias.&lt;/p>
&lt;p>When we alias a DOI we simply say “this DOI should actually point to this one”. Both DOIs still exist, and both still point to the ‘correct’ thing, it’s just that they both point to the same place. If we have two DOIs pointing to the same place, then there isn’t a one-to-one mapping, and Assumption 4 is incorrect.&lt;/p>
&lt;h2 id="experiment-4-aliased-dois">Experiment 4: Aliased DOIs&lt;/h2>
&lt;p>&lt;a title="By The Air Force Research Laboratory’s Directed Energy Directorate [Public domain], via Wikimedia Commons" href="https://commons.wikimedia.org/wiki/File%3ALasertests.jpg">&lt;img src="https://upload.wikimedia.org/wikipedia/commons/thumb/4/4c/Lasertests.jpg/256px-Lasertests.jpg" alt="Lasertests" class="img-responsive" />&lt;/a>&lt;/p>
&lt;p>&lt;strong>Hypothesis:&lt;/strong> There isn’t a one-to-one mapping between DOIs and URLs because some DOIs are aliased to others.&lt;/p>
&lt;p>&lt;strong>Method:&lt;/strong> We collected a sample of Resource URLs from the DOI API. We count how many DOIs are classified as Aliases in the DOI system.&lt;/p>
&lt;p>&lt;strong>Observations&lt;/strong>:&lt;/p>
&lt;ul>
&lt;li>From a sample of 11,227,458 DOIs&lt;/li>
&lt;li>14,566 are aliased to others, or 0.129%&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Conclusion:&lt;/strong> There aren’t many aliases. But there are some, and we should be aware of them.&lt;/p>
&lt;h2 id="experiment-5-duplicate-resource-urls">Experiment 5: Duplicate Resource URLs&lt;/h2>
&lt;p>&lt;a title="By Ms. Barbara Hertz (Ms. Barbara Hertz) [Public domain], via Wikimedia Commons" href="https://commons.wikimedia.org/wiki/File%3AHertz-experiment.jpg">&lt;img src="https://upload.wikimedia.org/wikipedia/commons/8/88/Hertz-experiment.jpg" alt="Hertz-experiment" class="img-responsive" />&lt;/a>&lt;/p>
&lt;p>&lt;strong>Hypothesis&lt;/strong>: There isn’t a one-to-one mapping between DOIs and URLs because some DOIs have duplicate Resource URLs.&lt;/p>
&lt;p>&lt;strong>Method&lt;/strong>: A sample of Resource URLs was collected from the DOI API. We counted how many DOIs have Resource URLs that aren’t unique. We subtract the number of deleted DOIs because all deleted DOIs have the same resource URL.&lt;/p>
&lt;p>&lt;strong>Observations&lt;/strong>:&lt;/p>
&lt;ul>
&lt;li>From a sample size of 11,227,458&lt;/li>
&lt;li>a total of 112,195 have duplicate resource URLs, or 0.99%&lt;/li>
&lt;li>of these duplicates, 77,896 have the ‘deleted’ URL&lt;/li>
&lt;li>leaving 34,229, or 0.30% having non-unique Resource URLs&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Conclusion&lt;/strong>: A small number of DOIs have duplicate Resource URLs, even if we exclude those that have been deleted, which means that not every DOI can have a unique URL.&lt;/p>
&lt;h2 id="assumption-5-the-landing-page-is-the-same-as-the-destination-page">Assumption 5: The Landing Page is the same as the Destination Page.&lt;/h2>
&lt;p>HTTP has a very neat system for doing redirects. If it were that simple, then we could easily look up every Destination page and confidently say that it was the Landing Page. Not so.&lt;/p>
&lt;h2 id="cookies">Cookies&lt;/h2>
&lt;p>Web browsers aren’t the only tools that use HTTP. Most programming languages have HTTP capabilities built in.&lt;/p>
&lt;p>Using cookies is a requirement of some websites, but it’s not a requirement of HTTP. Most websites use cookies in some way or another. When you log into a site, you expect cookies. But when you’re just browsing there isn’t any technical need. A small number of websites absolutely require cookies to be enabled to use the site, even if you’re just browsing and not logged in. Unfortunately, this includes some publishers.&lt;/p>
&lt;p>Requiring cookies to use a publisher site means that you can’t fully resolve a DOI without enabling cookies. Most tools out there don’t. Some privacy-conscious people quite reasonably don’t enable cookies from all sites.&lt;/p>
&lt;p>Using cookies when resolving a DOI adds considerable overhead and isn’t fool-proof.&lt;/p>
&lt;p>Let’s try a quick experiment to see when we land up on a cookie page. Here’s an example page that tells us that we should have enabled cookies: &lt;a href="http://www-tandfonline-com.turing.library.northwestern.edu/action/cookieAbsent">&lt;a href="http://www-tandfonline-com.turing.library.northwestern.edu/action/cookieAbsent" target="_blank">http://www-tandfonline-com.turing.library.northwestern.edu/action/cookieAbsent&lt;/a>&lt;/a> . It’s reachable from the DOI: &lt;a href="https://doi-org.turing.library.northwestern.edu/10.1016/j.envhaz.2007.09.007">&lt;a href="https://doi-org.turing.library.northwestern.edu/10.1016/j.envhaz.2007.09.007" target="_blank">https://doi-org.turing.library.northwestern.edu/10.1016/j.envhaz.2007.09.007&lt;/a>&lt;/a> .&lt;/p>
&lt;h2 id="experiment-6-some-dois-cant-be-resolved-without-cookies">Experiment 6: Some DOIs can’t be resolved without cookies&lt;/h2>
&lt;p>&lt;a title="By National Eye Institute (Laboratory Experiment) [CC BY 2.0 (http://creativecommons.org/licenses/by/2.0)], via Wikimedia Commons" href="https://commons.wikimedia.org/wiki/File%3ALaboratory_scientist_conducts_an_experiment_with_a_Rotary_evaporator.jpg">&lt;img src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/af/Laboratory_scientist_conducts_an_experiment_with_a_Rotary_evaporator.jpg/512px-Laboratory_scientist_conducts_an_experiment_with_a_Rotary_evaporator.jpg" alt="Laboratory scientist conducts an experiment with a Rotary evaporator" class="img-responsive" />&lt;/a>&lt;/p>
&lt;p>&lt;strong>Hypothesis&lt;/strong>: We can’t resolve some DOIs to the Landing Page using standard tools because cookies are required.&lt;/p>
&lt;p>&lt;strong>Method&lt;/strong>: A sample of DOIs was taken per Resource URL Domain. They were resolved by following HTTP links. Where the Destination URL contains the word ‘cookie’, we mark that as a DOI requiring a cookie.&lt;/p>
&lt;p>&lt;strong>Observations&lt;/strong>:&lt;/p>
&lt;ul>
&lt;li>A sample of 253,381 DOIs were resolved following HTTP redirects where necessary&lt;/li>
&lt;li>a total of 6305 resolved to a page with ‘cookie’ in the URL or 2.48%&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Conclusion: &lt;/strong>There are cookies at play for at least 2.48% of DOIs. This is probably a very conservative estimate, as we’re using a blunt tool looking for ‘cookie’ in the URL.&lt;/p>
&lt;h2 id="cookies-required">Cookies Required&lt;/h2>
&lt;p>For one DOI I found, the publisher system set cookies, then sent us on a series of redirects which set cookies that expired in the past and then, as far as I can tell, checked whether or not they were sent back. My working hypothesis is that it was profiling the behaviour to see what browser I was using.&lt;/p>
&lt;p>I have also seen javascript-based redirects. This is where a web page loads a javascript file, which executes and sends the browser onto another URL. This seems to be to be a browser detection method. There is no way you can follow these DOIs without actually using a real browser.&lt;/p>
&lt;p>This is a problem for Crossref Event Data. We can’t fire up a browser and follow every DOI: it isn’t practical. When I tried this for a sample as an experiment I got an email from another publisher who was worried that we were scraping data (good bot operators always put contact details in their request headers!).&lt;/p>
&lt;p>The &lt;a href="http://www.crossref.org.turing.library.northwestern.edu/02publishers/59pub_rules.html">Crossref member rules&lt;/a> leave some wiggle-room about whether this is allowed, but for the Event Data service, we can say that it’s a physical impossibility to collect all Event Data for DOIs like this.&lt;/p>
&lt;h2 id="bring-in-the-browser">Bring in the Browser&lt;/h2>
&lt;p>To quantify the size of the problem, we need to bring in a web browser. If we assume that some Publishers design their sites to work only with real browsers, that’s what we’ll use. Luckily there are web browsers packaged up into an automatable package, and we can use these to visit the DOI.&lt;/p>
&lt;p>Using one of these is considerably slower than just following link headers.&lt;/p>
&lt;p>I have split the ‘destination’ concept into two:&lt;/p>
&lt;ol>
&lt;li>Naïve destination URL: The URL that you get from following HTTP redirects acccording to the HTTP specification&lt;/li>
&lt;li>Browser destination URL: The URL that you get from letting a browser follow the DOI doing whatever a browser does.&lt;/li>
&lt;/ol>
&lt;p>Rather than defining a complicated spectrum of types of DOI resolution behaviour, I am classifying DOIs into two groups: those where standard HTTP redirects are sufficient and everything else.&lt;/p>
&lt;p>The method I am using is to resolve a sample of URLs using the browser. I can then compare the Naïve Destination URL with the Browser Destination URL. If they are the same, then I didn’t need to use the browser after all. If they give a different result however, I trust the Browser one better and declare that DOI to require a browser to resolve.&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2016/10/4.png" alt="naive vs browser" class="img-responsive" />
&lt;p>Again, I took a sample of DOIs per Resource URL domain.&lt;/p>
&lt;h2 id="experiment-7-quantify-proportion-of-dois-that-require-a-browser-to-redirect">Experiment 7: Quantify proportion of DOIs that require a browser to redirect&lt;/h2>
&lt;p>&lt;a title="By NASA / Paul Riedel (Great Images in NASA: Home - info - pic) [Public domain], via Wikimedia Commons" href="https://commons.wikimedia.org/wiki/File%3AAtomic_Laboratory_Experiment_on_Atomic_Materials_-_GPN-2000-000663.jpg">&lt;img src="https://upload.wikimedia.org/wikipedia/commons/thumb/e/e7/Atomic_Laboratory_Experiment_on_Atomic_Materials_-_GPN-2000-000663.jpg/256px-Atomic_Laboratory_Experiment_on_Atomic_Materials_-_GPN-2000-000663.jpg" alt="Atomic Laboratory Experiment on Atomic Materials - GPN-2000-000663" class="img-responsive" />&lt;/a>&lt;/p>
&lt;p>&lt;strong>Hypothesis&lt;/strong>: A number of DOIs can’t be resolved with standard tools but instead require a browser.&lt;/p>
&lt;p>&lt;strong>Method&lt;/strong>: A sample of DOIs was selected per Resource URL domain. The links were followed using standard HTTP and using a browser. Where the URLs between the two were different, the DOI was counted as requiring a browser to resolve.&lt;/p>
&lt;p>&lt;strong>Observations&lt;/strong>:&lt;/p>
&lt;ul>
&lt;li>A total of 59,453 items were followed both using the Naïve and Browser methods.&lt;/li>
&lt;li>Of these 5,883 items have a different URL between the two methods, or 9.88%&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Conclusion&lt;/strong>: We can’t rely on the Naïve redirect, and would have to fire up the browser in about 10% of cases in the sample.&lt;/p>
&lt;h2 id="other-gnarly-things">Other gnarly things&lt;/h2>
&lt;p>There are one or two supplementary gnarly things that crop up.&lt;/p>
&lt;p>First, session IDs are sometimes embedded in the URL. This is a tracking technique similar to cookies, but instead of sending cookies, which are invisible to the user, a unique code is placed on the end of the URL. This means that everyone gets a different URL. The most popular of these is the JSESSIONID, which is used by servers in the Java ecosystem. An example URL is:&lt;/p>
&lt;p>&lt;a href="http://onlinelibrary.wiley.com.turing.library.northwestern.edu/doi/10.1002/047084289X.rn00615.pub3/abstract;jsessionid=0D1B7AC4689A494E0EA78BD2F0A710C4.f04t04" target="_blank">http://onlinelibrary.wiley.com.turing.library.northwestern.edu/doi/10.1002/047084289X.rn00615.pub3/abstract;jsessionid=0D1B7AC4689A494E0EA78BD2F0A710C4.f04t04&lt;/a>&lt;/p>
&lt;p>We can easily remove these if they appear at the end of a URL. Sometimes they occur in the middle of a URL, as above. Sometimes they appear as query parameters:&lt;/p>
&lt;p>&lt;a href="http://jpharmsci.org/action/consumeSharedSessionAction?SERVER=WZ6myaEXBLGvmNGtLlDx7g%3D%3D&amp;amp;MAID=npYBLvZTaUI3JTHw%2BH63WQ%3D%3D&amp;amp;JSESSIONID=aaajjhdDL5ssK6d1HHrFv&amp;amp;ORIGIN=207988872&amp;amp;RD=RD" target="_blank">http://jpharmsci.org/action/consumeSharedSessionAction?SERVER=WZ6myaEXBLGvmNGtLlDx7g%3D%3D&amp;amp;MAID=npYBLvZTaUI3JTHw%2BH63WQ%3D%3D&amp;amp;JSESSIONID=aaajjhdDL5ssK6d1HHrFv&amp;amp;ORIGIN=207988872&amp;amp;RD=RD&lt;/a>&lt;/p>
&lt;p>In this case we make no attempt to remove them. These URLs won’t be any use for matching, and we have to acknowledge that and move on.&lt;/p>
&lt;h2 id="interpreting-the-results">Interpreting the results&lt;/h2>
&lt;p>All the above experiments involved taking as many DOIs as we had time for, gathering the Resource URLs, and then grouping the DOIs per Resource URL Domain. A sample of DOIs was investigated per each Resource URL domain to give the best chance at even coverage. The above figures have been presented as a proportion of the sampled data-set.&lt;/p>
&lt;p>Now it’s time to draw some practical conclusions. I grouped the results per Resource URL Domain, so I can say that “for this domain, X% of DOIs was deleted, or aliased, or whatever”. This means that we can look at the statistics for a given domain and work out the best method for working with DOIs that belong to it.&lt;/p>
&lt;p>I have created histograms of domains by their various proportions.&lt;/p>
&lt;p>Our first chart is histogram of Resource URL Domains where the Naïve Destination = the Resource URL. Each domain is given a proportion which represents how many DOIs sampled on that domain have a Landing Page equal to the Resource URL.&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2016/10/h_proportion_resource_equals_naive_destination_url.png" alt="h_proportion_resource_equals_naive_destination_url" class="img-responsive" />
&lt;p>There’s a clear bimodal distribution here. The conclusion here is “&lt;strong>most domains require you to follow the link to find the destination URL&lt;/strong>“. Furthermore, the domains are consistent: there are virtually no domains that have a mix of DOIs that behave differently.&lt;/p>
&lt;p>Our second chart is a histogram of Resource URLs where the Browser-based redirect = the Naive URL. Each domain is given a proportion which represents how many DOIs sampled on that domain require us to fire up a browser.&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2016/10/h_proportion_naive_equals_browser_destination_url.png" alt="h_proportion_naive_equals_browser_destination_url" class="img-responsive" />
&lt;p>Overwhelmingly, the Browser Redirect URL is the same as the Naïve Redirect URL, meaning that we don’t need to fire up the browser, we can just use the Naïve URL, which is much easier to compute. There are some resource URL domains which require every DOI to be followed in a browser rather than just following links.&lt;/p>
&lt;p>We know from this that we don’t have to use the browser most of the time. There is a small number of domains where we’re unsure (under 500) and a small number of domains where we know that we have to use a browser. This means we can focus our efforts.&lt;/p>
&lt;h3 id="there-are-lots-of-dois-and-they-all-behave-differently">There are lots of DOIs and they all behave differently.&lt;/h3>
&lt;p>There are thousands of publishers out there registering DOIs. There are thousands of domains. Some publishers have lots of domains. This makes it impossible to make many general observations about DOIs.&lt;/p>
&lt;h3 id="you-cant-tell-anything-by-looking-at-the-doi">You can’t tell anything by looking at the DOI&lt;/h3>
&lt;p>Just by looking at the DOI you can’t tell who published it, or which publisher’s system is hosting it. Therefore you can’t tell how it’s going to behave.&lt;/p>
&lt;p>We’ve looked at five kinds of URLs:&lt;/p>
&lt;ol>
&lt;li>The DOI itself&lt;/li>
&lt;li>The Resource URL&lt;/li>
&lt;li>The “naïve” redirect URL&lt;/li>
&lt;li>The “browser” redirect URL&lt;/li>
&lt;li>The Article Landing Page&lt;/li>
&lt;/ol>
&lt;p>In some cases, the Resource URL, naïve redirect URL, browser redirect and Article Landing Page are the same. In some cases they aren’t. Of these, the fifth is somewhat mythical.&lt;/p>
&lt;h3 id="dois-fall-into-classifications">DOIs fall into classifications&lt;/h3>
&lt;p>Each DOI falls into a category, most preferable first:&lt;/p>
&lt;ol>
&lt;li>The Resource URL is the same as the Landing Page.&lt;/li>
&lt;li>The Landing Page can be discovered by following HTTP redirects.&lt;/li>
&lt;li>The Landing Page can be discovered by firing up a web browser to follow redirects.&lt;/li>
&lt;li>The Landing Page can’t be determined.&lt;/li>
&lt;/ol>
&lt;h3 id="we-can-predictively-group-dois">We can predictively group DOIs&lt;/h3>
&lt;p>We can group DOIs by their Resource URLs and take a sample per Resource URL Domain. If all samples for a domain behave a certain way, we can place the DOIs into one of the above four groups with a probability.&lt;/p>
&lt;h3 id="well-never-know-the-full-story">We’ll never know the full story.&lt;/h3>
&lt;p>Because of the diversity of Publisher Systems and the long history of Crossref DOIs, we’ll never be able to describe exactly what’s going on for all DOIs.&lt;/p>
&lt;h2 id="what-next">What next?&lt;/h2>
&lt;p>We’re continuing to develop Crossref Event Data. The part of the system that handles turning URLs back into DOIs will never be perfect, but we know from this research that we can at least work with a subset.&lt;/p>
&lt;p>I’m also working on another project which will attempt to reverse a Landing Page URL back into a DOI by looking at the metadata on the Landing Page. You can &lt;a href="https://github.com/Crossref/doi-destinations">read about it here&lt;/a>. Ultimately we’re going to have to take a blended approach. Building a useful set of Landing Page URL to DOI mappings will be part of the mix.&lt;/p>
&lt;p>As Event Data matures we’ll be sharing all the datasets automatically as part of our infrastructure, including our DOI-to-URL mapping.&lt;/p>
&lt;blockquote>
&lt;p>And any members reading, please make your DOIs as easy to follow as possible! Please don’t require JavaScript or cookies when resolving DOIs.&lt;/p>
&lt;/blockquote>
&lt;p>If you’re read this far, perhaps you’re as interested in DOIs as we are. There’s a lot more to say on the subject, but that’s enough for now. See you at &lt;a href="http://pidapalooza.org/">PIDapalooza&lt;/a>!&lt;/p>
&lt;p> &lt;/p>
&lt;h3 id="image-credits">Image Credits&lt;/h3>
&lt;p>All images from Wikipedia Commons. Click or hover on the image to see the attribution.&lt;/p></description></item><item><title>Using AWS S3 as a large key-value store for Chronograph</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/using-aws-s3-as-a-large-key-value-store-for-chronograph/</link><pubDate>Tue, 02 Aug 2016 00:00:00 +0000</pubDate><author>Joe Wass</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/using-aws-s3-as-a-large-key-value-store-for-chronograph/</guid><description>&lt;p>&lt;span >One of the cool things about working in Crossref Labs is that interesting experiments come up from time to time. One experiment, entitled “what happens if you plot DOI referral domains on a chart?” turned into the &lt;a href="http://chronograph.labs.crossref.org.turing.library.northwestern.edu">Chronograph&lt;/a> project. In case you missed it, Chronograph analyses our DOI resolution logs and shows how many times each DOI link was resolved per month, and also how many times a given domain referred traffic to DOI links per day.&lt;/span>&lt;/p>
&lt;p>&lt;span >We’ve released a new version of Chronograph. This post explains how it was put together. One for the programmers out there.&lt;/span>&lt;/p>
&lt;h2 id="span-big-enough-to-be-annoyingspan">&lt;span >Big enough to be annoying&lt;/span>&lt;/h2>
&lt;p>&lt;span >Chronograph sits on the boundary between normal-sized data and large-enough-to-be-annoying-size data. It doesn’t store data for all DOIs (it includes only those that are used on average once a day), but it has information on up to 1 million DOIs per month over about 5 years, and about 500 million data points in total.&lt;/span>&lt;/p>
&lt;p>&lt;span >Storing 500 million data points is within the capabilities of a well-configured database. In the first iteration of Chronograph a MySQL database was used. But that kind of data starts to get tricky to back up, move around and index.&lt;/span>&lt;/p>
&lt;p>&lt;span >Every month or two new data comes in for processing, and it needs to be uploaded and merged into the database. Indexes need to be updated. Disk space needs to be monitored. This can be tedious.&lt;/span>&lt;/p>
&lt;h2 id="span-key-valuesspan">&lt;span >Key values&lt;/span>&lt;/h2>
&lt;p>&lt;span >Because the data for a DOI is all retrieved at once, it can be stored together. So instead of a table that looks like&lt;/span>&lt;/p>
&lt;table>
&lt;tr>
&lt;td>
&lt;span >10.5555/12345678&lt;/span>
&lt;/td>
&lt;pre>&lt;code>&amp;lt;td&amp;gt;
&amp;lt;span &amp;gt;2010-01-01&amp;lt;/span&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;
&amp;lt;span &amp;gt;5&amp;lt;/span&amp;gt;
&amp;lt;/td&amp;gt;
&lt;/code>&lt;/pre>
&lt;/tr>
&lt;tr>
&lt;td>
&lt;span >10.5555/12345678&lt;/span>
&lt;/td>
&lt;pre>&lt;code>&amp;lt;td&amp;gt;
&amp;lt;span &amp;gt;2010-02-01&amp;lt;/span&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;
&amp;lt;span &amp;gt;7&amp;lt;/span&amp;gt;
&amp;lt;/td&amp;gt;
&lt;/code>&lt;/pre>
&lt;/tr>
&lt;tr>
&lt;td>
&lt;span >10.5555/12345678&lt;/span>
&lt;/td>
&lt;pre>&lt;code>&amp;lt;td&amp;gt;
&amp;lt;span &amp;gt;2010-03-01&amp;lt;/span&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;
&amp;lt;span &amp;gt;3&amp;lt;/span&amp;gt;
&amp;lt;/td&amp;gt;
&lt;/code>&lt;/pre>
&lt;/tr>
&lt;/table>
&lt;p>&lt;span >Instead we can store&lt;/span>&lt;/p>
&lt;table>
&lt;tr>
&lt;td>
10.5555/12345678
&lt;/td>
&lt;pre>&lt;code>&amp;lt;td&amp;gt;
{&amp;amp;#8220;2010-01-01&amp;amp;#8221;: 5, &amp;amp;#8220;2010-02-01&amp;amp;#8221;: 7, &amp;amp;#8220;2010-03-01&amp;amp;#8221;: 3}
&amp;lt;/td&amp;gt;
&lt;/code>&lt;/pre>
&lt;/tr>
&lt;/table>
&lt;p>&lt;span >This is much lighter on the indexes and takes much less space to store. However, it means that adding new data is expensive. Every time there’s new data for a month, the structure must be parsed, merged with the new data, serialised and stored again millions of times over.&lt;/span>&lt;/p>
&lt;p>&lt;span >After trials with &lt;a href="https://www.mysql.com/">MySql&lt;/a>, &lt;a href="https://www.mongodb.com/">MongoDB&lt;/a> and &lt;a href="http://www.mapdb.org/">MapDB&lt;/a>, this approach was taken with MySQL in the original Chronograph.&lt;/span>&lt;/p>
&lt;h2 id="span-keep-it-simple-storage-service-stupidspan">&lt;span >Keep it Simple Storage Service Stupid&lt;/span>&lt;/h2>
&lt;p>&lt;span >In the original version of Chronograph the data was processed using &lt;a href="http://spark.apache.org/">Apache Spark&lt;/a>. There are various solutions for storing this kind of data, including Cassandra, time-series databases and so on.&lt;/span>&lt;/p>
&lt;p>&lt;span >The flip side of being able to do interesting experiments is wanting them to stick around without having to bother a sysadmin. The data is important to us, but we’d rather not have to worry about running another server and database if possible.&lt;/span>&lt;/p>
&lt;p>&lt;span >Chronograph fits into the category of ‘interesting’ rather than ‘mission-critical’ projects, so we’d rather not have to maintain expensive infrastructure if possible.&lt;/span>&lt;/p>
&lt;p>&lt;span >I decided to look into using Amazon Web Services &lt;a href="https://aws.amazon.com/s3/">Simple Storage Service&lt;/a> (AWS S3) to store the data. AWS itself is a key-value store, so it seems like a good fit. S3 is a great service because, as the name suggests, it’s a simple service for storing a large number of files. It’s cheap and its capabilities and cost scale well.&lt;/span>&lt;/p>
&lt;p>&lt;span >However, storing and updating up to 80 million very small keys (one per DOI) isn’t very clever, and certainly isn’t practical. I looked at &lt;a href="https://aws.amazon.com/documentation/dynamodb/">DynamoDB&lt;/a>, but we still face the overhead of making a large number of small updates.&lt;/span>&lt;/p>
&lt;h2 id="span-is-it-weirdspan">&lt;span >Is it weird?&lt;/span>&lt;/h2>
&lt;p>&lt;span >In these days of plentiful databases with cheap indexes (and by ‘these days’ I mean the 1970s onward) it seems somehow wrong to use plain old text files. However, the whole Hadoop “Big Data” movement was predicated on a return to batch processing files. Commoditisation of services like S3 and the shift to do more in the browser have precipitated a bit of a rethink. The movement to abandon LAMP stacks and use static site generators is picking up pace. The term ‘serverless architecture’ is hard to avoid if you read &lt;a href="https://hn.algolia.com/?query=serverless%20architecture&amp;sort=byDate&amp;prefix&amp;page=0&amp;dateRange=all&amp;type=story">certain news sites&lt;/a>.&lt;/span>&lt;/p>
&lt;p>&lt;span >Using Apache Spark (with its brilliant &lt;a href="http://spark.apache.org/docs/latest/programming-guide.html#resilient-distributed-datasets-rdds">RDD concept&lt;/a>) was useful for bootstrapping the data processing for Chronograph, but the new code has an entirely flat-file workflow. The simplicity of not having to unnecessarily maintain a &lt;a href="https://hadoop.apache.org/docs/r1.2.1/hdfs_design.html">Hadoop HDFS&lt;/a> instance seems to be the right choice in this case.&lt;/span>&lt;/p>
&lt;h2 id="span-repurposing-the-wheelspan">&lt;span >Repurposing the Wheel&lt;/span>&lt;/h2>
&lt;p>&lt;span >The solution was to use S3 as a big &lt;a href="https://en.wikipedia.org/wiki/Hash_table">hash table&lt;/a> to store the final data that’s served to users.&lt;/span>&lt;/p>
&lt;p>&lt;span >The processing pipeline uses flat files all the way through from input log files to projections to aggregations. At the penultimate stage of the pipeline blocks of CSV per DOI are produced that represent date-value pairs.&lt;/span>&lt;/p>
&lt;table>
&lt;tr>
&lt;td>
10.5555/12345678
&lt;/td>
&lt;pre>&lt;code>&amp;lt;td&amp;gt;
2010-01
&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;
2010-01-01,05&amp;lt;br /&amp;gt; 2010-02-01,02&amp;lt;br /&amp;gt; 2010-01-03,08&amp;lt;br /&amp;gt; &amp;amp;#8230;
&amp;lt;/td&amp;gt;
&lt;/code>&lt;/pre>
&lt;/tr>
&lt;tr>
&lt;td>
10.5555/12345678
&lt;/td>
&lt;pre>&lt;code>&amp;lt;td&amp;gt;
2010-02
&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;
2010-02-1,10&amp;lt;br /&amp;gt; 2010-02-01,7&amp;lt;br /&amp;gt; 2010-02-03,22&amp;lt;br /&amp;gt; &amp;amp;#8230;
&amp;lt;/td&amp;gt;
&lt;/code>&lt;/pre>
&lt;/tr>
&lt;/table>
&lt;p>&lt;span >At the last stage, these are combined into blocks of all dates for a DOI&lt;/span>&lt;/p>
&lt;table>
&lt;tr>
&lt;td>
10.5555/12345678
&lt;/td>
&lt;pre>&lt;code>&amp;lt;td&amp;gt;
2010-01
&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;
2010-01-01,05&amp;lt;br /&amp;gt; 2010-02-01,02&amp;lt;br /&amp;gt; 2010-01-03,08&amp;lt;br /&amp;gt; &amp;amp;#8230;&amp;lt;br /&amp;gt; 2010-02-1,10&amp;lt;br /&amp;gt; 2010-02-01,7&amp;lt;br /&amp;gt; 2010-02-03,22&amp;lt;br /&amp;gt; &amp;amp;#8230;
&amp;lt;/td&amp;gt;
&lt;/code>&lt;/pre>
&lt;/tr>
&lt;/table>
&lt;p>&lt;span >The DOIs are then hashed into 12 bits and stored as chunks of CSV&lt;/span>&lt;/p>
&lt;p>&lt;span >day-doi.csv-chunks_8841:&lt;/span>&lt;/p>
&lt;pre class="">10.1038/ng.3020
2014-06-24,4
2014-06-25,4
2014-06-26,3
...
10.1007/978-94-007-2869-1_7
2012-06-01,12
2012-06-02,8
...
10.1371/journal.pone.0145509
2016-02-01,13
2016-02-02,75
2016-02-03,30
...&lt;/pre>
&lt;p>&lt;span >There are 65,536 (0x000 to 0xFFFF) possible files, each with about a thousand DOIs worth of data in each.&lt;/span>&lt;/p>
&lt;p>&lt;span >When the browser requests data for a DOI, it is hashed and then the request for the appropriate file in S3 is made. The browser then has to perform a linear scan of the file to find the DOI it is looking for.&lt;/span>&lt;/p>
&lt;p>&lt;span >This is the simplest possible form of hash table: simple addressing with separate &lt;a href="https://en.wikipedia.org/wiki/Hash_table#Separate_chaining_with_linked_lists">linear chaining&lt;/a>. The hash function is a 16-bit mask of MD5, chosen because of availability in the browser. It does a great job of evenly distributing the DOIs over all 65,536 possible files.&lt;/span>&lt;/p>
&lt;h2 id="span-striking-the-balancespan">&lt;span >Striking the balance&lt;/span>&lt;/h2>
&lt;p>&lt;span >In any data structure implementation, there are balances to be struck. Traditionally these concern memory layout, the shape of the data, practicalities of disk access and CPU cost.&lt;/span>&lt;/p>
&lt;p>&lt;span >In this instance, the factors in play included the number of buckets that need to be uploaded and the cost of the browser downloading an over-large bucket. The size of the bucket doesn’t matter much for CPU (as far as the user is concerned it takes about the same time to scan 10 entries as it does 10,000), but it does make a difference asking  user to download a 10kb bucket or a 10MB one.&lt;/span>&lt;/p>
&lt;p>&lt;span >I struck the balance at 4096 buckets, resulting in files of around 100k, which is the size of a medium sized image.&lt;/span>&lt;/p>
&lt;h2 id="span-it-worksspan">&lt;span >It works&lt;/span>&lt;/h2>
&lt;p>&lt;span >The result is a simple system that allows people to look up data for millions of DOIs, without having to look after another server. It’s also portable to any other file storage service.&lt;/span>&lt;/p>
&lt;p>&lt;span >The approach isn’t groundbreaking, but it works.&lt;/span>&lt;/p></description></item><item><title>HTTPS and Wikipedia</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/https-and-wikipedia/</link><pubDate>Tue, 31 May 2016 00:00:00 +0000</pubDate><author>Joe Wass</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/https-and-wikipedia/</guid><description>&lt;p>&lt;span >&lt;em>This is a joint blog post with Dario Taraborelli, coming from &lt;a href="https://meta.wikimedia.org/wiki/WikiCite_2016">WikiCite 2016&lt;/a>.&lt;/em>&lt;/span>&lt;/p>
&lt;p>&lt;span >In 2014 we were taking our first steps along the path that would lead us to &lt;a href="http://eventdata.crossref.org.turing.library.northwestern.edu">Crossref Event Data&lt;/a>. At this time I started looking into the DOI resolution logs to see if we could get any interesting information out of them. This project, which became &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/introducing-chronograph/">Chronograph&lt;/a>, showed which domains were driving traffic to Crossref DOIs.&lt;/span>&lt;/p>
&lt;p>&lt;span >You can read about the latest results from this analysis in the &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/where-do-doi-clicks-come-from/">“Where do DOI Clicks Come From”&lt;/a> blog post.&lt;/span>&lt;/p>
&lt;p>&lt;span >Having this data tells us, amongst other things:&lt;/span>&lt;/p>
&lt;ul>
&lt;li>&lt;span >where people are using DOIs in unexpected places&lt;/span>&lt;/li>
&lt;li>&lt;span >where people are using DOIs in unexpected ways&lt;/span>&lt;/li>
&lt;li>&lt;span >where we knew people were using DOIs but the links are more popular than we realised&lt;/span>&lt;/li>
&lt;/ul>
&lt;p>&lt;span >By the time the &lt;a href="http://www.lagotto.io/workshop_2014/">ALM Workshop 2014&lt;/a> rolled around there was some preliminary data and we realised that Wikipedia came into the third category. There are lots of DOIs in Wikipedia and people click them!&lt;/span>&lt;/p>
&lt;p>&lt;span >I met with Dario Taraborelli, head of research at the Wikimedia Foundation, and shared the data. Dario — who co-authored in 2010 the Altmetrics Manifesto — has been interested in understanding how scholarly citations are used in Wikipedia. Over the years, Wikipedia contributors have made extensive use of references to the scientific literature using DOIs, and by doing so they have created a resource that represents today in many ways the &lt;a href="https://meta.wikimedia.org/wiki/Wikipedia_as_the_front_matter_to_all_research">“front matter to all research”&lt;/a>. There is growing interest in the community in understanding how DOIs are being used in Wikipedia and in non traditional scholarship.&lt;/span>&lt;/p>
&lt;p>&lt;span >During our discussions the subject of Wikipedia’s gradual transition to HTTPS was raised: we anticipated that this change would affect our data gathering.&lt;/span>&lt;/p>
&lt;h2 id="span-changesspan">&lt;span >Changes&lt;/span>&lt;/h2>
&lt;p>&lt;span >When you’re reading webpage and click on a link to another page, your web browser will usually tell the server of that second page the last page you were on. This forms the basis of trackers like Google Analytics.&lt;/span>&lt;/p>
&lt;p>&lt;span >In the days before HTTPS, the next site would know the full URL that you were previously on. With the change to HTTPS, this was reduced to just sending the domain name and not the full URL, or no data at all if you click from an HTTPS page to HTTP.&lt;/span>&lt;/p>
&lt;p>&lt;span >DOI hyperlinks are just like any other hyperlink, and are mostly HTTP not HTTPS.&lt;/span>&lt;/p>
&lt;p>&lt;span >Up until 2015, Wikipedia was served over HTTP, only switching to HTTPS when users were logged in or if they requested it. The Wikimedia Foundation started planning to move to HTTPS and we knew that if they did that, and continued to use HTTP DOIs then we would lose valuable research data.&lt;/span>&lt;/p>
&lt;h2 id="span-a-planspan">&lt;span >A Plan&lt;/span>&lt;/h2>
&lt;p>&lt;span >We decided that the best course of action was to try and change the DOIs in Wikipedia to use HTTPS. Simple, right?&lt;/span>&lt;/p>
&lt;p>&lt;span >After some further research, Dario &lt;a href="https://meta.wikimedia.org/wiki/Research:Wikimedia_referrer_policy">posted a proposal&lt;/a> on how to mitigate the impact of the HTTPS rollout, to make sure that Wikipedia can still signal its importance as a traffic source, while preserving the privacy of its users. &lt;a href="https://meta.wikimedia.org/wiki/Research_talk:Wikimedia_referrer_policy">Discussion followed&lt;/a> and the conclusion was to change the format of every single DOI on Wikipedia, which fortunately could be done without having to edit millions of pages. You can read the full story in &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/real-time-stream-of-dois-being-cited-in-wikipedia/">this post from a year ago&lt;/a>.&lt;/span>&lt;/p>
&lt;p>&lt;span >The result of this effort was that well in advance of the HTTPS switchover, the DOI links were ready to continue reporting referral data.&lt;/span>&lt;/p>
&lt;h2 id="span-the-switchspan">&lt;span >The Switch&lt;/span>&lt;/h2>
&lt;p>&lt;span >In June 2015 the Wikimedia foundation made the &lt;a href="http://blog.wikimedia.org/2015/06/12/securing-wikimedia-sites-with-https/">announcement that they were finalising the switch&lt;/a>, and that within a few weeks all traffic would be HTTPS.&lt;/span>&lt;/p>
&lt;p>&lt;span >We held our breath. Would it work? Would we lose all referral data from Wikipedia sites? In February 2016 &lt;a href="https://phabricator.wikimedia.org/T99174#2053812">the last piece of the puzzle fell into place&lt;/a> as Wikipedia gained a ‘meta referrer’ tag to explicitly specify how they would like referrers to be sent: a detailed report on the effect of this change is coming up on the Wikimedia Foundation’s blog.&lt;/span>&lt;/p>
&lt;h2 id="span-the-resultsspan">&lt;span >The results&lt;/span>&lt;/h2>
&lt;p>&lt;span >As detailed in &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/where-do-doi-clicks-come-from/">the last blog post&lt;/a> the traffic that we measured coming from Wikipedia doesn’t seem to have slowed down during 2015:&lt;/span>&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2016/05/month-top-10-filtered-domains-1.png" alt="month-top-10-filtered-domains" class="img-responsive" />
&lt;p>&lt;span >I’d call that a success! Over the period covered in the graph, Wikipedia remained prominent as a non-publisher referral of traffic to DOIs.&lt;/span>&lt;/p>
&lt;p>&lt;span >Looking at the balance of HTTP vs HTTPS traffic coming from wikipedia.org, the switchover was dramatic:&lt;/span>&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2016/05/day-code-area.png" alt="day-code-area" class="img-responsive" />
&lt;p>&lt;span >Thank you to Dario Taraborelli, Nemo (Federico Leva), Aaron Halfaker, Alex Stinson and everyone who put in this effort.&lt;/span>&lt;/p>
&lt;p>&lt;span >I’ll leave the last word to Dario:&lt;/span>&lt;/p>
&lt;p>&lt;span >It’s great to see this data. It shows that the switchover happened successfully, which better protects the privacy of our users whilst still reporting the fact that Wikipedia is a prominent source of traffic. This is important validation of the increasing role that Wikipedia plays in the education and scientific community.&lt;/span>&lt;/p></description></item><item><title>Where do DOI clicks come from?</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/where-do-doi-clicks-come-from/</link><pubDate>Thu, 19 May 2016 00:00:00 +0000</pubDate><author>Joe Wass</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/where-do-doi-clicks-come-from/</guid><description>&lt;p>As part of our &lt;a href="http://eventdata.crossref.org.turing.library.northwestern.edu" target="_blank">Event Data&lt;/a> work we’ve been investigating where DOI resolutions come from. A resolution could be someone clicking a DOI hyperlink, or a search engine spider gathering data or a publisher’s system performing its duties. Our server logs tell us every time a DOI was resolved and, if it was by someone using a web browser, which website they were on when they clicked the DOI. This is called a referral.&lt;/p>
&lt;p>This information is interesting because it shows not only where DOI hyperlinks are found across the web, but also when they are actually followed. This data allows us a glimpse into scholarly citation beyond references in traditional literature.&lt;/p>
&lt;p>Last year Crossref Labs &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/introducing-chronograph/">announced Chronograph&lt;/a>, an experimental system for browsing some of this data. We’re working toward a new version, but in the meantime I’d like to share the results for 2015 and some of 2016. We have filtered out domains that belong to Crossref member publishers to highlight citations beyond traditional publications.&lt;/p>
&lt;h2 id="top-10-doi-referrals-from-websites-in-2015">Top 10 DOI referrals from websites in 2015&lt;/h2>
&lt;p>This chart shows the top 10 referring non-primary-publisher domains of DOIs per month. Note that if browsers don’t send the referrer (e.g. from an HTTPS page), we don’t get to find out. Because the top 10 can be different month to month, the total number of domains mentioned can be more than 10. Subdomains are combined, which means that, for example, the wikipedia.org entry covers all Wikipedia languages. This chart covers all of 2015 and the first two months of 2016.&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2016/05/month-top-10-filtered-domains-1.png" alt="month-top-10-filtered-domains" class="img-responsive" />
&lt;p>The top 10 referring domains for the period:&lt;/p>
&lt;ol>
&lt;li>webofknowledge.com&lt;/li>
&lt;li>baidu.com&lt;/li>
&lt;li>serialssolutions.com&lt;/li>
&lt;li>scopus.com&lt;/li>
&lt;li>exlibrisgroup.com&lt;/li>
&lt;li>wikipedia.org&lt;/li>
&lt;li>google.com&lt;/li>
&lt;li>uni-trier.de&lt;/li>
&lt;li>ebsco.com&lt;/li>
&lt;li>google.co.uk&lt;/li>
&lt;/ol>
&lt;p>It’s not surprising to see some of these domains here: for example serialssolutions.com and exlibrisgroup.com are effectively proxies for link resolvers, Baidu and Google are incredibly popular search engines which would show up anywhere. But it is exciting to see Wikipedia ranked amongst these. For more detail look out for the new Chronograph.&lt;/p>
&lt;h2 id="http-vs-https-in-2015">HTTP vs HTTPS in 2015&lt;/h2>
&lt;p>We’ve also seen a steady increase in HTTPS referral traffic, i.e. people clicking on DOIs from sites that are using HTTPS. While it is still dwarfed by HTTP, there was a steady uptick throughout 2015.&lt;/p>
&lt;p>This chart shows HTTP vs HTTPS referrals per day, which shows up the weekly spikes. It doesn’t include resolutions where we don’t know the referrer.&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2016/05/day-code.png" alt="HTTP vs HTTPS DOI Referrals" class="img-responsive"/>
&lt;p>Increasing numbers of people are moving to HTTPS for reasons of security, privacy and protection from tampering. &lt;a href="https://webmasters.googleblog.com/2014/08/https-as-ranking-signal.html" target="_blank">Google has announced plans&lt;/a> to take HTTPS into account when ranking search results. Wikipedia has moved exclusively to HTTPS, and I’ll be telling the story of how Crossref and Wikipedia collaborated in an upcoming blog post.&lt;/p>
&lt;h2 id="chronograph">Chronograph&lt;/h2>
&lt;p>Another version of Chronograph will be available soon. It will contain full data for all non-primary-publisher referring domains. Stay tuned!&lt;/p></description></item><item><title>Crossref &amp; the Art of Cartography: an Open Map for Scholarly Communications</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/crossref-the-art-of-cartography-an-open-map-for-scholarly-communications/</link><pubDate>Fri, 08 Jan 2016 00:00:00 +0000</pubDate><author>Jennifer Lin</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/crossref-the-art-of-cartography-an-open-map-for-scholarly-communications/</guid><description>&lt;p> &lt;/p>
&lt;p>&lt;span >In the &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/crossref-annual-meeting/archive/#2015">2015 Crossref Annual Meeting&lt;/a>, I introduced a metaphor for the work that we do at Crossref. I re-present it here for broader discussion as this narrative continues to play a guiding role in the development of products and services this year.&lt;/span>&lt;/p>
&lt;h5 id="span-bmetadata-enable-connectionsbspan">&lt;span >&lt;b>Metadata enable connections&lt;/b>&lt;/span>&lt;/h5>
&lt;p>&lt;span >&lt;span >&lt;a href="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2016/01/pasted-image-0.png" rel="attachment wp-att-1214">&lt;img class="alignright wp-image-1214" src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2016/01/pasted-image-0-200x300.png" alt="Cartography Borges" width="250" height="375" srcset="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2016/01/pasted-image-0-200x300.png 200w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2016/01/pasted-image-0.png 540w" sizes="(max-width: 250px) 85vw, 250px" />&lt;/a>At Crossref, we make research outputs easy to find, cite, link, and assess through DOIs. Publishers register their publications and deposit metadata through a variety of channels (XML, CSV, PDF, manual entry), which we process and transform into Crossref XML for inclusion into our corpus. This data infrastructure which makes possible scholarly communications without restrictions on publisher, subject area, geography, etc. is far more than a reference list, index or directory.&lt;/span> &lt;/span>&lt;/p>
&lt;p>&lt;span >If research builds on what came before, one could claim that the process of knowledge production is partly the story of the very relationships between results disseminated (i.e., publications). So let’s consider each publication as a node in a graph where &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2016/01/Map-entities.jpeg" rel="attachment wp-att-1247">&lt;img class="wp-image-1250 alignright" src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2016/01/Map-entities-300x237.jpeg" alt="" width="211" height="166" srcset="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2016/01/Map-entities-300x237.jpeg 300w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2016/01/Map-entities.jpeg 651w" sizes="(max-width: 211px) 85vw, 211px" />&lt;/a>each has a coordinate and is connected by its citations to other publications (as well those that cite it). Additionally, each is associated with a set of people and places, along with a whole host of elements involved in the research and dissemination process.&lt;/span>&lt;/p>
&lt;p>&lt;span >&lt;span >But take a wider berth, and we begin to capture relationships between all such contributing agents and objects involved in the research process. Here we find an array of entities belonging to the scholarly graph, including different types of research artifacts, publisher and journal, funders, ORCIDs, peer reviews, publication status updates (corrections, retractions, etc.), citations, license information, additional URLs (machine destinations, hosting platforms, etc.), underlying data, software and protocols, materials, discussions and blog posts, recommendations, reference work mentions, etc. The entities on the graph multiply at an even higher rate as researchers share more outputs across more channels. And over time, the graph expands exponentially, producing a webbing that is far more dense and far more vast than we can currently imagine. Perhaps even to the point we realize Borges’ story where a cartographer builds a map so large it replicates the territory itself (&lt;/span>&lt;em>&lt;a href="http://www.borges.pitt.edu/node/144">&lt;span >On Exactitude in Science&lt;/span>&lt;/a>&lt;/em>&lt;span >)!&lt;/span>&lt;/span>&lt;/p>
&lt;!--more-->
&lt;h5 id="span-bfrom-graph-to-cartographybspan">&lt;span >&lt;b>From graph to cartography&lt;/b>&lt;/span>&lt;/h5>
&lt;p>&lt;span >At the heart of Borges’s poignant story is the map. Crossref’s graph of scholarly communications could be seen in the same light. It has a representational aspect, which is not purely abstract and can be visualized. Here, a map becomes an incredibly potent metaphor. Each link enabled by publisher-deposited metadata is a new street, bridge, or highway that takes us to a particular place (i.e., entity) of interest. These roads lead to articles, researchers, funders, institutions, etc., and in doing so, make them discoverable. They tell a story about the roles of each in the broader research in the landscape dotted with a plethora of places. &lt;/span>&lt;/p>
&lt;p>&lt;span >&lt;span >The scholarly web has a growing corpus of more than &lt;/span>&lt;a href="https://data-crossref-org.turing.library.northwestern.edu/reports/statusReport.html">&lt;span >78 million publications&lt;/span>&lt;/a>&lt;span > at this very moment registered with Crossref. On average ten to fifteen thousand new objects appear every day. Maps are all the more essential for getting around in a bewildering environment of new and unfamiliar places, even for known ones in areas of exploding growth. They are critical for orienteering, discovering relationships, identifying sets of associated objects, naming new neighborhoods that emerge (i.e., new research specialties), etc. And if each connection on the map is seen as an event, maps can also represent micro-narratives about the research process and the agents involved. A multi-dimensional map containing all these entities, which serves as an evolving representation of spacetime that is constantly updated and always available, would finally begin to depict the process of scholarly activity as a dynamic, evolving, almost living system.&lt;/span>&lt;/span>&lt;/p>
&lt;h5 id="span-ban-open-map-for-scholarly-communicationbspan">&lt;span >&lt;b>An open map for scholarly communication&lt;/b>&lt;/span>&lt;/h5>
&lt;p>&lt;span >&lt;span >Crossref builds such a scholarly map of the research enterprise and makes it openly available for the entire research ecosystem. Call this a meta map or, more recently, call it &lt;/span>&lt;a href="http://www.wired.com/2016/01/the-metastructure-transportation/">&lt;span >metastructure&lt;/span>&lt;/a>&lt;span >. No matter what name it goes by we call it infrastructure at Crossref.&lt;/span>&lt;/span>&lt;/p>
&lt;p>&lt;span >&lt;span >Crossref’s open map for scholarly communications is a core part of the open information infrastructure for scholarly research. Crossref map data are open, portable, as well as licensed and provisioned for maximum reuse to serve the whole community. This open resource has two entrances: one for humans, another for machines. The &lt;/span>&lt;a href="https://github.com/Crossref/rest-api-doc/blob/master/rest_api.md">&lt;span >Crossref REST API&lt;/span>&lt;/a>&lt;span > enables machines to traverse this environment and mine it in equal measure to the humans behind them. It is configured so that a robot can learn, a phone can access, and platforms can be built.&lt;/span>&lt;/span>&lt;/p>
&lt;p>&lt;span >&lt;a href="https://www.openstreetmap.org/">&lt;span >OpenStreetMap&lt;/span>&lt;/a>&lt;span > and &lt;/span>&lt;a href="https://developers.google.com/maps/?hl=en">&lt;span >Google Maps&lt;/span>&lt;/a>&lt;span >, both widely used and mature infrastructure maps, are instructive examples when we consider a map of this kind for scholarly communications. Map data can be represented in unlimited ways, depending on any variety of needs and users. Third parties can add content via &lt;/span>&lt;a href="http://googlegeodevelopers.blogspot.co.uk/2015/04/interactive-data-layers-in-javascript.html">&lt;span >interactive layers&lt;/span>&lt;/a>&lt;span > that tell different stories such as &lt;/span>&lt;a href="https://mapsengine.google.com/10237621067095735108-16932951632409324660-4/mapview/?authuser=0">&lt;span >health expenditure by country based on GDP&lt;/span>&lt;/a>&lt;span > and &lt;/span>&lt;a href="https://mapsengine.google.com/06900458292272798243-13579632754418963048-4/mapview/?authuser=0">&lt;span >coral reefs at risk&lt;/span>&lt;/a>&lt;span >. They have a broad base of users across business models from philanthropic services aimed at disaster relief (&lt;/span>&lt;a href="http://refugeemaps.eu/">&lt;span >Refugeemaps.eu&lt;/span>&lt;/a>&lt;span >) to commercial entities providing drivers with locations on open parking spaces (&lt;/span>&lt;a href="https://www.appyparking.com/">&lt;span >AppyParking&lt;/span>&lt;/a>&lt;span > on Google Map, &lt;/span>&lt;a href="https://twitter.com/pocketparker">&lt;span >PocketParker&lt;/span>&lt;/a>&lt;span > on OpenStreetMap). They power platforms and services that build maps for others (&lt;/span>&lt;a href="http://www.mapquest.com/">&lt;span >MapQuest&lt;/span>&lt;/a>&lt;span >, &lt;/span>&lt;a href="https://www.mapbox.com/">&lt;span >MapBox&lt;/span>&lt;/a>&lt;span >). They have applications far beyond the business of maps. For example, &lt;/span>&lt;a href="https://web.archive.org/web/20170716112842/https://developers.google.com/places/android-api/placepicker">&lt;span >Place picker&lt;/span>&lt;/a>&lt;span > is a Google Maps widget that supports easy auto-complete the entry of any place or location on a mobile app where typing is a chore. And as far use cases close to home, the two have served as raw data for academic research (ex: &lt;/span>&lt;a href="http://svn.vsp.tu-berlin.de/repos/public-svn/publications/vspwp/2011/11-10/2011-06-20_openstreetmap_for_traffic_simulation_sotm-eu.pdf">&lt;span >workflow for generating multi-agent traffic simulation scenarios&lt;/span>&lt;/a>&lt;span >, &lt;/span>&lt;a href="http://www-tandfonline-com.turing.library.northwestern.edu/doi/abs/10.1080/13658816.2012.692791?journalCode=tgis20#.Vo11aJMrIo8">&lt;span >automatic classification of GPS trajectories for transportation modes&lt;/span>&lt;/a>&lt;span >, etc.).&lt;/span>&lt;/span>&lt;/p>
&lt;p>&lt;span >In kind, the Crossref infrastructure map also supports: the development of any variety of new maps which re-present the data, the makers of map platforms that power the research enterprise, tools that use map data, as well as academic research (bibliometrics). We extract slices of data of common interest from the map and add them as additional layers by which anyone can access and create applications on or across these bands of data: &lt;/span>&lt;/p>
&lt;ul>
&lt;li>&lt;span >Contributors (authors, editors, reviewers)&lt;/span>&lt;/li>
&lt;li>&lt;span >Funding information (funding body, grant number)&lt;/span>&lt;/li>
&lt;li>&lt;span >Trial &amp;amp; study information (clinical trials registry number, registered report, replication study)&lt;/span>&lt;/li>
&lt;li>&lt;span >Publication history (versions, updates, revisions, corrections, retractions, dates received/accepted/published)&lt;/span>&lt;/li>
&lt;li>&lt;span >Peer review (status, type, reviews)&lt;/span>&lt;/li>
&lt;li>&lt;span >Access indicators (publication license for text &amp;amp; data mining, machine mining URLs)&lt;/span>&lt;/li>
&lt;li>&lt;span >Resources &amp;amp; associated research artifacts (preprints, figures &amp;amp; tables, datasets, software, protocols, research resource IDs)&lt;/span>&lt;/li>
&lt;li>&lt;span >Activity surrounding the publication (peer reviews, comments &amp;amp; discussions, bookmarks, social shares, recommendations).&lt;/span>&lt;/li>
&lt;/ul>
&lt;p>&lt;span >Today, the map powers a host of public and commercial organisations alike for a wide range of scholarly and non-scholarly purposes:&lt;/span>&lt;/p>
&lt;table style="border: 1px solid #ffffff;" border="0" width="400" cellspacing="0" cellpadding="0">
&lt;tr>
&lt;td style="border: 1px solid #ffffff;">
&lt;ul>
&lt;li>
&lt;span >Publishers&lt;/span>
&lt;/li>
&lt;li>
&lt;span >Funders&lt;/span>
&lt;/li>
&lt;li>
&lt;span >Research institutions&lt;/span>
&lt;/li>
&lt;li>
&lt;span >Archives &amp; repositories&lt;/span>
&lt;/li>
&lt;li>
&lt;span >Research councils&lt;/span>
&lt;/li>
&lt;li>
&lt;span >Data centres&lt;/span>
&lt;/li>
&lt;li>
&lt;span >Professional networks&lt;/span>
&lt;/li>
&lt;li>
&lt;span >Patent offices&lt;/span>
&lt;/li>
&lt;li>
&lt;span >Registration Agencies&lt;/span>
&lt;/li>
&lt;/ul>
&lt;/td>
&lt;pre>&lt;code>&amp;lt;td style=&amp;quot;border: 1px solid #ffffff;&amp;quot;&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;span &amp;gt;Indexing services&amp;lt;/span&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;span &amp;gt;Publishing vendors&amp;lt;/span&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;span &amp;gt;Peer review systems&amp;lt;/span&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;span &amp;gt;Reference manager systems&amp;lt;/span&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;span &amp;gt;Lab &amp;amp; diagnostics suppliers&amp;lt;/span&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;span &amp;gt;Info management systems&amp;lt;/span&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;span &amp;gt;Educational tools&amp;lt;/span&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;span &amp;gt;Data analytics systems&amp;lt;/span&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;span &amp;gt;Literature discovery services&amp;lt;/span&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;/td&amp;gt;
&lt;/code>&lt;/pre>
&lt;/tr>
&lt;/table>
&lt;p>&lt;span >We will follow up this post to highlight a cross-section of these consumers in the Crossref map ecosystem and elaborate on what &amp;amp; how they have built from our data. An infrastructure map offers endless potential to third parties across publishers, funders, research institutions, and vendors working to serve the scholarly research enterprise.&lt;/span>&lt;/p>
&lt;h5 id="span-bthe-art-of-cartographybspan">&lt;span >&lt;b>The art of cartography&lt;/b>&lt;/span>&lt;/h5>
&lt;p>&lt;span >&lt;span >In the Crossref Product Management team, we have ambitious plans for map enhancements this year. They focus on expanding information density and ease of access to the data. In the former case, we will introduce a new class of locations where activity surrounding the publications are occurring when we launch the &lt;/span>&lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/det-poised-for-launch/">&lt;span >DOI Event Tracker&lt;/span>&lt;/a>&lt;span >. We will also initiate an extensive publisher campaign to achieve full metadata deposit completeness across our membership. No one can keep pace with the sheer volume of research activity happening online nor wander the &lt;a href="http://fusion.net/story/251095/lonely-web-the-dress-viral-social-media-profit/">Lonely Web&lt;/a> of research alone. The more metadata publishers provide for a publication, the more roads lead to its map location. After all, discoverability is closely associated with connectedness on a map.&lt;/span>&lt;span > And finally, in the latter case, we will refresh and enhance the user interface to make it more powerful for humans to traverse the ever-changing landscape (as easily as the REST API enables machines!).&lt;/span>&lt;/span>&lt;/p>
&lt;p>&lt;span >&lt;i>&lt;span >I gratefully acknowledge the feedback received from the following who served as  generous and insightful sounding boards: &lt;/span>&lt;/i>&lt;i>&lt;a href="https://twitter.com/GinnyBarbour">Virginia Barbour&lt;/a>&lt;/i>&lt;i>&lt;span >, &lt;/span>&lt;/i>&lt;a href="https://twitter.com/TheoBloom">&lt;i>&lt;span >Theo Bloom&lt;/span>&lt;/i>&lt;/a>&lt;i>&lt;span >, &lt;/span>&lt;/i>&lt;a href="https://twitter.com/martin_eve">&lt;i>&lt;span >Martin Eve,&lt;/span>&lt;/i>&lt;/a> &lt;a href="https://twitter.com/danielskatz">&lt;i>&lt;span >Daniel S. Katz&lt;/span>&lt;/i>&lt;/a>&lt;i>&lt;span >, &lt;/span>&lt;/i>&lt;a href="https://twitter.com/AmyeKenall">&lt;i>&lt;span >Amye Kenall&lt;/span>&lt;/i>&lt;/a>&lt;i>&lt;span >, &lt;/span>&lt;/i>&lt;a href="https://twitter.com/catmacOA">&lt;i>&lt;span >Catriona MacCullum&lt;/span>&lt;/i>&lt;/a>&lt;i>&lt;span >, &lt;/span>&lt;/i>&lt;a href="https://twitter.com/CameronNeylon">&lt;i>&lt;span >Cameron Neylon&lt;/span>&lt;/i>&lt;/a>&lt;i>&lt;span >, &lt;/span>&lt;/i>&lt;a href="https://twitter.com/marknpatterson">&lt;i>&lt;span >Mark Patterson&lt;/span>&lt;/i>&lt;/a>&lt;i>&lt;span >, &lt;/span>&lt;/i>&lt;a href="https://twitter.com/KristenRatan">&lt;i>&lt;span >Kristen Ratan&lt;/span>&lt;/i>&lt;/a>&lt;i>&lt;span >, &lt;/span>&lt;/i>&lt;a href="https://twitter.com/carlystrasser">&lt;i>&lt;span >Carly Strasser&lt;/span>&lt;/i>&lt;/a>&lt;i>&lt;span >, and &lt;/span>&lt;/i>&lt;a href="https://twitter.com/kaythaney">&lt;i>&lt;span >Kaitlin Thaney&lt;/span>&lt;/i>&lt;/a>&lt;i>&lt;span >.&lt;/span>&lt;/i>&lt;/span>&lt;/p>
&lt;p>&lt;a href="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2016/01/You-decide-where-to-go.001.jpeg" rel="attachment wp-att-1215">&lt;img class="wp-image-1215 aligncenter" src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2016/01/You-decide-where-to-go.001-300x169.jpeg" alt="Crossref map" width="405" height="228" srcset="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2016/01/You-decide-where-to-go.001-300x169.jpeg 300w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2016/01/You-decide-where-to-go.001-768x432.jpeg 768w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2016/01/You-decide-where-to-go.001.jpeg 960w" sizes="(max-width: 405px) 85vw, 405px" />&lt;/a>&lt;/p></description></item><item><title>Crossref Labs plays with the Raspberry Pi Zero</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/crossref-labs-plays-with-the-raspberry-pi-zero/</link><pubDate>Wed, 02 Dec 2015 00:00:00 +0000</pubDate><author>Joe Wass</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/crossref-labs-plays-with-the-raspberry-pi-zero/</guid><description>&lt;p>&lt;span >If you’re anything like us at Crossref Labs (and we know some of you are) you would have been very excited about the launch of the &lt;a href="https://www.raspberrypi.org/products/">Raspberry Pi Zero&lt;/a> a couple of days ago. In case you missed it, this is a new edition of the tiny low-priced Raspberry Pi computer. Very tiny and very low-priced. At $5 we just had to have one, and ordered one before we knew exactly what we want to do with it. You would have done the same. Bad luck if it was out of stock.&lt;/span>&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2015/12/run.jpg" alt="run" class="img-responsive" />
&lt;p>&lt;span >We love the way &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/coming-to-you-live-from-wikipedia/">DOIs are being used in Wikipedia&lt;/a>, but you probably already &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/real-time-stream-of-dois-being-cited-in-wikipedia/">know that by now&lt;/a>. Not only is it a brilliant source of information, mostly well cited, it’s also an organic living thing, with countless people and bots working together on countless articles. Our live stream of edits that cite (or uncite) DOIs shows new scholarly literature unfold, as it happens. From new articles to new references to improved citations to edit wars to bots cleaning up all the mess, it captivates everyone we show it to. The &lt;a href="https://live-eventdata-crossref-org.turing.library.northwestern.edu/live.html">latest version has a live chart&lt;/a> to show exactly how much activity is going on.&lt;/span>&lt;/p>
&lt;p>&lt;span >Crossref works in five ways: &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/the-logo-has-landed/">Rally, Tag, Run, Play, and Make&lt;/a> and this definitely comes under ‘Play’. By the time our Raspberry Pi Zero arrived it was clear what we had to do. We ordered a &lt;a href="https://en.wikipedia.org/wiki/Servo_(radio_control)">servo&lt;/a>, a driver board and a wireless adapter and got to work.&lt;/span>&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2015/12/servo.jpg" alt="servo" class="img-responsive" />
&lt;p>&lt;span >We have some new neighbours in the basement. &lt;a href="https://web.archive.org/web/20160305183505/http://oxhack.org/">Oxford Hackspace&lt;/a> is a community of people who want to work on projects from electronics to metalwork, hack things to improve them or find out how they work. A diverse bunch who at the last visit were working on squeezing unprecedented color capabilities from the 30 year old &lt;a href="https://en.wikipedia.org/wiki/ZX_Spectrum">ZX Spectrum&lt;/a>, a nixie tube display, a smartphone controlled doorbell and a robotic glockenspiel. They let us use their soldering iron to solder a few header pins.&lt;/span>&lt;/p>
&lt;p>&lt;span >A bit of hacky Python, a pictureframe and lots of duck tape later, we have a live display of how many DOIs are cited and uncited per hour. It updates live every minute, fetches the latest numbers from the &lt;a href="https://live-eventdata-crossref-org.turing.library.northwestern.edu/live.html">Wikipedia DOI citation stream&lt;/a> and moves the hand.&lt;/span>&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2015/12/tape.jpg" alt="tape" class="img-responsive" />
&lt;p>&lt;span >(For the worried engineers amongst you, rest assured that sufficient duck tape was added after this picture)&lt;/span>&lt;/p>
&lt;p>&lt;span >It’s extraordinary to think that a fully fledged computer with very capable specifications can be manufactured and sold for $5. Within the space of a lunchtime we had it up and running, all connected and fetching data over the internet via wireless. A generation ago you would have had to use &lt;a href="https://en.wikipedia.org/wiki/Computer_programming_in_the_punched_card_era">punched cards&lt;/a>, send them by post and load them in by hand. The live stream would have been at least a month behind.&lt;/span>&lt;/p>
&lt;img class="alignnone size-full wp-image-1069" src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2015/12/desk.jpg" alt="desk" class="img-responsive" />
&lt;p>&lt;span >It now sits in our Oxford office reminding us that DOIs Aren’t Just for Traditional Bibliographies. Below &lt;a href="http://twitter.com/gbilder">Geoff Bilder’s&lt;/a> reminder about what happens when you have too many standards (they’re telephone plugs from round the world).&lt;/span>&lt;/p>
&lt;img class="alignnone size-full wp-image-1073" src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2015/12/wall.jpg" alt="wall" class="img-responsive" />
&lt;p>&lt;span >You can find &lt;a href="https://github.com/Crossref/wiki.gauge">source code and instructions on the github repository&lt;/a> so you can make your own if you want.&lt;/span>&lt;/p></description></item><item><title>DOIs in Reddit</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/dois-in-reddit/</link><pubDate>Wed, 30 Sep 2015 00:00:00 +0000</pubDate><author>Joe Wass</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/dois-in-reddit/</guid><description>&lt;p>&lt;span >Skimming the headlines on Hacker News yesterday morning, I noticed something exciting. A dump of &lt;a href="https://news.ycombinator.com/item?id=10289220">all the submissions to Reddit since 2006&lt;/a>. “How many of those are DOIs?”, I thought. Reddit is a very broad community, but has some very interesting parts, including some great science communication. How much are DOIs used in Reddit?&lt;/span>&lt;/p>
&lt;p>&lt;span >(There has since been a &lt;a href="https://news.ycombinator.com/item?id=10309581">discussion about this blog post&lt;/a> on Hacker News)&lt;/span>&lt;/p>
&lt;p>&lt;span >We have a whole &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/categories/event-data">strategy for DOI Event Tracking&lt;/a>, but nothing beats a quick hack or is more irresistible than a data dump.&lt;/span>&lt;/p>
&lt;h1 id="span-what-is-a-doispan">&lt;span >What is a DOI?&lt;/span>&lt;/h1>
&lt;p>&lt;span >If you know what a DOI is, skip this! The DOI system (Digital Object Identifier) is a link redirection service. When a publisher puts some content online they could just hand out the URL. But the URL can change, and within a very short space of time, &lt;a href="https://en.wikipedia.org/wiki/Link_rot">link-rot&lt;/a> happens. DOIs are designed to fight link rot. When a publisher mints a DOI to an article they just published, they can change the article’s URL and then update the DOI to point to the new place. DOIs are persistent. They are URLs. They’re also identifiers (kind of like ISBNs), and they’re used in scholarly publishing as to do citations.&lt;/span>&lt;/p>
&lt;p>&lt;span >Crossref is the DOI registration agency for scholarly publishing. That means mostly things like journal articles. There are other registration agencies, for example, DataCite, who do DOIs for research datasets. But at this point in time, most DOIs are Crossref’s.&lt;/span>&lt;/p>
&lt;h1 id="span-what-does-finding-dois-in-reddit-meanspan">&lt;span >What does finding DOIs in Reddit mean?&lt;/span>&lt;/h1>
&lt;p>&lt;span >It means someone used a DOI to cite something! DOIs can be used for any kind of content, but because of the sheer volume of scientific publishing, lots of DOIs are for science. Having a DOI doesn’t say anything about quality or content. But it does indicate that the person who created the DOI probably intended it to be cited. We care because it means that every time a DOI is used a tiny bit of link-rot doesn’t have the opportunity to take hold. Every time something is discussed on Reddit and the DOI is used, it means that archaeologists using the data dump in 100 years will have identifiers to find the things being discussed, even if the web and URLs have long since crumbled to dust.&lt;/span>&lt;/p>
&lt;p>&lt;span >Or, more likely, in five year’s time when a few URLs will have shuffled around.&lt;/span>&lt;/p>
&lt;h1 id="span-the-resultsspan">&lt;span >The results&lt;/span>&lt;/h1>
&lt;p>&lt;span >DOIs have been used on Reddit since 2008 (the logs start in 2006). After a rocky start, we see hundreds being used per year.&lt;/span>&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2015/09/year-count.png" class="img-responsive" alt="DOI submissions per year" >
&lt;p>&lt;span >That’s dozens per month.&lt;/span>&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2015/09/year-month-count.png" class="img-responsive" alt="DOI submissions per month" >
&lt;p>&lt;span >The best subreddit to find DOIs is &lt;a href="http://reddit.com/r/Scholar">/r/Scholar&lt;/a>, followed by &lt;a href="http://reddit.com/r/science">/r/science&lt;/a>. And then a lot of others with one or two per year.&lt;/span>&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2015/09/year-subreddit-count.png" class="img-responsive" alt="DOI submissions per subreddit per year" >
&lt;h1 id="span-opportunitiesspan">&lt;span >Opportunities&lt;/span>&lt;/h1>
&lt;p>&lt;span >It’s great to see DOIs being used in Reddit. But let’s be honest, it’s not a massive amount.&lt;/span>&lt;/p>
&lt;p>&lt;span >We have a list of domains that our DOIs point to. They mostly belong to publishers, so every time we see a link to a domain on the list, there’s a chance (not a certainty) that the link could have been made using a DOI. We found a large number of these, orders of magnitude more than DOIs. We’re still crunching the data.&lt;/span>&lt;/p>
&lt;h1 id="span-the-dataspan">&lt;span >The data&lt;/span>&lt;/h1>
&lt;p>&lt;span >The data is quite large. It’s a 40 Gigabyte download compressed, which comes to about 170 GB that uncompressed. It contains the submissions to reddit between 2006 and 2015, not the comments, so each data point represents a thread of conversation &lt;em>about&lt;/em> a DOI.&lt;/span>&lt;/p>
&lt;h1 id="span-reproducibility-updatedspan">&lt;span >Reproducibility (updated)&lt;/span>&lt;/h1>
&lt;p>&lt;span >You can find the source code and reproduce the figures at &lt;a href="http://github.com/crossref/reddit-dump-experiment">&lt;a href="http://github.com/crossref/reddit-dump-experiment" target="_blank">http://github.com/crossref/reddit-dump-experiment&lt;/a>&lt;/a>. We use Apache Spark for this kind of thing.&lt;/span>&lt;/p>
&lt;p>&lt;span >The data and methodology are very experimental. You can download all results here:&lt;/span>&lt;/p>
&lt;p>&lt;span >&lt;a href="https://s3-eu-west-1.amazonaws.com/crossref-labs-data/2015-10-06/reddit-dump-experiment.zip">&lt;a href="https://s3-eu-west-1.amazonaws.com/crossref-labs-data/2015-10-06/reddit-dump-experiment.zip" target="_blank">https://s3-eu-west-1.amazonaws.com/crossref-labs-data/2015-10-06/reddit-dump-experiment.zip&lt;/a>&lt;/a>&lt;/span>&lt;/p>
&lt;p>&lt;span >It includes all data for charts in this post, as well as the full list of DOIs, the full list of URLs that could possibly have DOIs, and the full JSON input line for each of these.&lt;/span>&lt;/p>
&lt;h2 id="span-more-infospan">&lt;span >More info&lt;/span>&lt;/h2>
&lt;p>&lt;span >Read about our &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/categories/altmetrics">DOI Event Tracking strategy&lt;/a>, including &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/real-time-stream-of-dois-being-cited-in-wikipedia/">our live stream of Wikipedia citations&lt;/a>.&lt;/span>&lt;/p></description></item><item><title>Real-time Stream of DOIs being cited in Wikipedia</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/real-time-stream-of-dois-being-cited-in-wikipedia/</link><pubDate>Tue, 03 Mar 2015 00:00:00 +0000</pubDate><author>Joe Wass</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/real-time-stream-of-dois-being-cited-in-wikipedia/</guid><description>&lt;h2 id="span-tldrspan">&lt;span >TL;DR&lt;/span>&lt;/h2>
&lt;p>&lt;span >Watch a real-time stream of DOIs being cited (and “un-cited!” ) in Wikipedia articles across the world: &lt;a href="https://live-eventdata-crossref-org.turing.library.northwestern.edu/live.html" target="_blank">https://live-eventdata-crossref-org.turing.library.northwestern.edu/live.html&lt;/a>&lt;/p>
&lt;h2 id="span-backgroundspan">&lt;span >Background&lt;/span>&lt;/h2>
&lt;p>&lt;span >For years we’ve known that the Wikipedia was a major referrer of Crossref DOIs and about a year ago &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/many-metrics-such-data-wow/">we confirmed&lt;/a> that, in fact, the Wikipedia is the 8th largest refer of Crossref DOIs. We know &lt;a href="http://chronograph.labs.crossref.org.turing.library.northwestern.edu/domain.html?domain=wikipedia.org">that people follow the DOIs&lt;/a>, too. This despite a fraction of Wikipedia citations to the scholarly literature even using DOIs. So back in August we decided to create a &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/citation-needed/">Wikimedia Ambassador programme&lt;/a>. The goal of the programme was to promote the use of persistent identifiers in citation and attribution in Wikipedia articles.&lt;/span> We would do this through outreach and through the development of better citation-related tools.&lt;/p>
&lt;p>Remember when we &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/many-metrics-such-data-wow">originally wrote about our experiments with the PLOS ALM code&lt;/a> and how that has transitioned into the &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/crossrefs-doi-event-tracker-pilot/">DOI Event Tracking Pilot&lt;/a>? In those posts we mentioned that one of the hurdles in gathering information about DOI events is the actual process of polling third party APIs for activity related to millions of DOIs. Most parties simply wouldn’t be willing handle the load of a 100K API calls an hour. Besides, polling is a tremendously inefficient process, only a fraction of DOIs are ever going to generate events, but we’d have to poll for each of them, repeatedly, forever, to get an accurate picture of DOI activity. We needed a better way. We needed to see if we could reverse this process and convince some parties to instead “push” us information whenever they saw DOI related events (e.g. citations, downloads, shares, etc). If only we could convince somebody to try this…&lt;/p>
&lt;h2 id="wikipedia-doi-events">Wikipedia DOI Events&lt;/h2>
&lt;p>In December 2014 we took the opportunity of the &lt;a href="http://figshare.com/articles/ALM_Workshop_2014_Report/1287503" target="_blank">2014 PLOS/Crossref ALM Workshop&lt;/a> in San Francisco too meet with &lt;a href="https://en.wikipedia.org/wiki/User:Notconfusing" target="_blank">Max Klein&lt;/a> and &lt;a href="https://twitter.com/dfko_0" target="_blank">Anthony Di Franco&lt;/a> where we kicked off a very exciting project.&lt;/p>
&lt;p>There’s always someone editing a &lt;a href="https://en.wikipedia.org/wiki/List_of_Wikipedias" target="_blank">Wikipedia&lt;/a> somewhere in the world. In fact, you can see a dizzying &lt;a href="http://wikistream.wmflabs.org/" target="_blank">live stream of edits&lt;/a>. We thought that given that there are so many DOIs in Wikipedia, that live stream may contain some diamonds (DOIs are made of diamond, that’s how they can be persistent). Max and Anthony went away and came back with a demo that contains a surprising amount of DOI activity.&lt;/p>
&lt;p>That demo is evolving into a concrete service, called &lt;a href="https://github.com/notconfusing/cocytus" target="_blank">Cocytus&lt;/a>. It is running at Wikimedia Labs monitoring live edits as you read this.&lt;/p>
&lt;p>For now we’re feeding that data into the &lt;a href="https://web.archive.org/web/20150308012303/http://events.labs.crossref.org.turing.library.northwestern.edu/" target="_blank">DOI Events Collection app&lt;/a> (which is an off-shoot of the &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/introducing-chronograph/">Chronograph project&lt;/a>). We are in the process of modifying the &lt;a href="https://github.com/articlemetrics/lagotto" target="_blank">Lagotto code&lt;/a> so that we can instead push those events into the &lt;a href="http://det.labs.crossref.org.turing.library.northwestern.edu/" target="_blank">DOI Event Tracking Instance&lt;/a>.&lt;/p>
&lt;p>The first DOI event we noticed was delightfully prosaic: The DOI for &lt;a href="https://doi-org.turing.library.northwestern.edu/10.1145/1978942.1979213" target="_blank">“The polymath project”&lt;/a> is cited by the Wikipedia page for &lt;a href="https://en.wikipedia.org/wiki/Polymath_Project" target="_blank">“Polymath Project”&lt;/a>. Prosaic perhaps, but the authors of that paper probably want to know. Maybe they can help edit the page.&lt;/p>
&lt;p>Or how about this. Someone wrote a a paper about &lt;a href="https://doi-org.turing.library.northwestern.edu/10.1080/0144929x.2014.929744" target="_blank">why people edit Wikipedia&lt;/a> and then it was cited by Wikipedia. And then &lt;a href="https://web.archive.org/web/20150321130048/http://events.labs.crossref.org.turing.library.northwestern.edu/dois/10.1080/0144929x.2014.929744" target="_blank">the citation was removed&lt;/a>. The plot thickens…&lt;/p>
&lt;p>We’re interested in seeing how DOIs are used outside of the formal scholarly literature. What does that mean? We don’t fully know, that’s the point. We have retractions in scholarly literature (and our &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/services/crossmark" target="_blank">Crossmark metadata and service&lt;/a> allow publishers to record that), but it’s a bit different on Wikipedia. Edit wars are fought over … well you can &lt;a href="https://en.wikipedia.org/wiki/Wikipedia:Lamest_edit_wars" target="_blank">see for yourself&lt;/a>.&lt;/p>
&lt;p>Citations can slip in and out of articles. We saw the DOI &lt;a href="https://doi-org.turing.library.northwestern.edu/10.1001/archpediatrics.2011.832" target="_blank">10.1001/archpediatrics.2011.832&lt;/a> deleted from &lt;a href="https://en.wikipedia.org/wiki/Bipolar_disorder_in_children" target="_blank">“Bipolar disorder in children”&lt;/a>. If we’d not been monitoring the live feed (we had considered analysing snapshots of the Wikipedia in bulk) we might never have seen that. This is part of what non-traditional citations means, and it wasn’t obvious until we’d seen it.&lt;/p>
&lt;p>You can see this activity on the &lt;a href="https://web.archive.org/web/20150422055509/http://events.labs.crossref.org.turing.library.northwestern.edu/events/types/WikipediaCitation" target="_blank">Chronograph’s stream&lt;/a>. Or &lt;a href="https://web.archive.org/web/20150308012303/http://events.labs.crossref.org.turing.library.northwestern.edu/" target="_blank">check your favourite DOI&lt;/a>. Please be aware that we’re only collecting newly added citations as of today. We do intend to go back and back-fill, but that may take some time- as it * cough * requires polling again.&lt;/p>
&lt;h2 id="some-technical-things">Some Technical Things&lt;/h2>
&lt;p>A few interesting things that happened as a result of all this:&lt;/p>
&lt;h3 id="span-secure-urlsspan">&lt;span >Secure URLs&lt;/span>&lt;/h3>
&lt;p>&lt;span >SSL and HTTPS were invented so you could do things like banking on the web without fear of interception or tampering. As the web becomes a more important part of life, many sites are upgrading from HTTP to HTTPS, the secure version. This is not only because your confidential details may be tampered with, but because certain governments might not like you reading certain materials.&lt;/span>&lt;/p>
&lt;p>&lt;span >Because of this, some time ago, Wikipedia decided to embark on an upgrade to &lt;a href="https://blog.wikimedia.org/2013/08/01/future-https-wikimedia-projects/">HTTPS&lt;/a> last year, and they are a certain way along the path. The &lt;a href="http://www.doi.org.turing.library.northwestern.edu/">IDF&lt;/a>, who are responsible for running the DOI system, upgraded to HTTPS this Summer, although most DOIs are referred to by HTTP still.&lt;/span>&lt;/p>
&lt;p>&lt;span >We met with &lt;a href="http://nitens.org/taraborelli/home">Dario Taraborelli&lt;/a> at the ALM workshop and discussed the DOI referral data that is fed into the &lt;a href="http://chronograph.labs.crossref.org.turing.library.northwestern.edu">Chronograph&lt;/a>. We put two and two together and realised that Wikipedia was linking to DOIs (which are mostly HTTP) from pages which might be served over HTTPS. New policies in HTML5 specify that referrer URL headers shouldn’t be sent from HTTPS to HTTP (in case there was something secret in them). The upshot of this is, if someone’s browsing Wikipedia via HTTPS and click on a normal DOI, we won’t know that the user came from Wikipedia. Not a huge problem today, but as Wikipedia switches over to entirely secure, we’re going to miss out on very useful information.&lt;/span>&lt;/p>
&lt;p>&lt;span >Fortunately, the HTML5 specification includes a way to fix this (without leaking sensitive information). We discussed this with Dario, and he did some research, and &lt;a href="https://meta.wikimedia.org/wiki/Research:Wikimedia_referrer_policy">came up with a suggestion&lt;/a>, which got &lt;a href="https://meta.wikimedia.org/wiki/Research_talk:Wikimedia_referrer_policy">discussed&lt;/a>. It’s fascinating to watch a democratic process like this take place and take part in it.&lt;/span>&lt;/p>
&lt;p>&lt;span >We’re waiting to see how the discussion turns out, and hope that it all works out so we can continue to report on how amazing Wikipedia is at sending people to scholarly literature.&lt;/span>&lt;/p>
&lt;h3 id="span-how-shall-i-cite-theespan">&lt;span >How shall I cite thee?&lt;/span>&lt;/h3>
&lt;p>&lt;span >Another discussion grew out of that process, and we started talking to a Wikipedian called Nemo (note to Latin scholars: we weren’t just talking to ourselves). Nemo (real name Federico Leva) had a few suggestions of his own. Another way to solve the referrer problem is by using HTTPS URLs (HTML5 allows browsers to send the referrer domain when going from HTTPS to HTTPS).&lt;/span>&lt;/p>
&lt;p>&lt;span >This means going back to all the articles that use DOIs and change them from HTTP to HTTPS. Not as simple as it sounds, and it doesn’t sound simple. We started looking into how DOIs were cited on Wikipedia.&lt;/span>&lt;/p>
&lt;p>&lt;span >After some research we found that there are more ways that we expected to cite DOIs.&lt;/span>&lt;/p>
&lt;p>&lt;span >First, there’s the URL. You can see it in action in &lt;a href="https://en.wikipedia.org/w/index.php?title=GridLAB-D&amp;action=edit">this article&lt;/a>. URLs can take various forms.&lt;/span>&lt;/p>
&lt;ul>
&lt;li>&lt;span >&lt;a href="https://doi-org.turing.library.northwestern.edu/10.5555/12345678" target="_blank">https://doi-org.turing.library.northwestern.edu/10.5555/12345678&lt;/a>&lt;/span>&lt;/li>
&lt;li>&lt;span >&lt;a href="https://doi-org.turing.library.northwestern.edu/10.5555/12345678" target="_blank">https://doi-org.turing.library.northwestern.edu/10.5555/12345678&lt;/a>&lt;/span>&lt;/li>
&lt;li>&lt;span >&lt;a href="https://doi-org.turing.library.northwestern.edu/10.5555/12345678" target="_blank">https://doi-org.turing.library.northwestern.edu/10.5555/12345678&lt;/a>&lt;/span>&lt;/li>
&lt;li>&lt;span >&lt;a href="https://doi-org.turing.library.northwestern.edu/10.5555/12345678" target="_blank">https://doi-org.turing.library.northwestern.edu/10.5555/12345678&lt;/a>&lt;/span>&lt;/li>
&lt;li>&lt;span >&lt;a href="https://doi-org.turing.library.northwestern.edu/hvx" target="_blank">https://doi-org.turing.library.northwestern.edu/hvx&lt;/a>&lt;/span>&lt;/li>
&lt;li>&lt;span >&lt;a href="https://doi-org.turing.library.northwestern.edu/hvx" target="_blank">https://doi-org.turing.library.northwestern.edu/hvx&lt;/a>&lt;/span>&lt;/li>
&lt;/ul>
&lt;p>&lt;span >Second there’s the &lt;a href="https://en.wikipedia.org/wiki/Template:Cite_journal">official template tag&lt;/a>, seen in action &lt;a href="https://en.wikipedia.org/w/index.php?title=Bird&amp;action=edit">here&lt;/a>:&lt;/span>&lt;/p>
&lt;pre>&amp;lt;ref name="SCI-20140731"&amp;gt;{{cite journal |title=Sustained miniaturization and anatomical innovation in the dinosaurian ancestors of birds |url=http://www.sciencemag.org.turing.library.northwestern.edu/content/345/6196/562 |date=1 August 2014 |journal=[[Science (journal)|Science]] |volume=345 |issue=6196 |pages=562–566 |doi=10.1126/science.1252243 |accessdate=2 August 2014 |last1=Lee |first1=Michael S. Y. |first2=Andrea|last2=Cau |first3=Darren|last3=Naish|first4=Gareth J.|last4=Dyke}}&amp;lt;/ref&amp;gt;
&lt;/pre>
&lt;p>&lt;span >There’s a DOI in there somewhere. This is the best way to cite DOIs, firstly as it’s actually a proper traditional citation and there’s nothing magic about DOIs, secondly because it’s a template tag and can be re-rendered to look slightly different if needed.&lt;/span>&lt;/p>
&lt;p>&lt;span >Third there’s the old official &lt;a href="https://en.wikipedia.org/wiki/Template:Cite_doi">DOI template tag&lt;/a> that’s now discouraged:&lt;/span>&lt;/p>
&lt;pre>&amp;lt;ref name="Example2006"&amp;gt;{{Cite doi|10.1146/annurev.earth.33.092203.122621}}&amp;lt;/ref&amp;gt;&lt;/pre>
&lt;p>&lt;span >And then there’s another &lt;a href="https://en.wikipedia.org/wiki/Wikipedia:Template_messages/Links#Miscellanea">one&lt;/a>.&lt;/span>&lt;/p>
&lt;pre>{{doi|10.5555/123456789}}
&lt;/pre>
&lt;p>&lt;span >Knowing all this helps us find DOIs. But if we want to convert DOIs links in Wikipedia to use HTTPS, it means that there are more template tags to modify and more pages to re-render.&lt;/span>&lt;/p>
&lt;p>&lt;span >Nemo also put DOIs on the &lt;a href="https://meta.wikimedia.org/wiki/Interwiki_map">Interwiki Map&lt;/a> which should make automatically changing some of the URLs a lot easier.&lt;/span>&lt;/p>
&lt;p>&lt;span >We’re very grateful to Nemo for his suggestions and work on this. We’ll report back!&lt;/span>&lt;/p>
&lt;h3 id="span-the-elephant-in-the-roomspan">&lt;span >The elephant in the room&lt;/span>&lt;/h3>
&lt;p>&lt;span >Those of you who know how DOIs work will have spotted an unsecured elephant in the room. When you visit a DOI, you visit the URL, which hits the &lt;a href="http://www.doi.org.turing.library.northwestern.edu/doi_handbook/3_Resolution.html#3.7.3">DOI resolver proxy server&lt;/a>, which returns a message to your browser to redirect to the landing page on the publisher’s site.&lt;/span>&lt;/p>
&lt;p>&lt;span >Securely talking to the DOI resolver by using HTTPS instead of HTTP means that no-one can eavesdrop and see which DOI you are visiting, or tamper with the result and send you off to a different page. But the page you are sent to will be, in nearly all cases, still HTTP. Upgrading infrastructure isn’t trivial, and, with over 4000 members (mostly publishers), most Crossref DOIs will still redirect to standard HTTP pages for the foreseeable future.&lt;/span>&lt;/p>
&lt;p>&lt;span >You can keep as secure as possible by using &lt;a href="https://www.eff.org/https-everywhere">HTTPS Everywhere&lt;/a>.&lt;/span>&lt;/p>
&lt;h2 id="span-finspan">&lt;span >Fin&lt;/span>&lt;/h2>
&lt;p>&lt;span >There’s lots going on, watch this space to see developments. Thanks for reading this, and all the links. We’d love to know what you think.&lt;/span>&lt;/p>
&lt;h2 id="span-bootnotespan">&lt;span >Bootnote&lt;/span>&lt;/h2>
&lt;p>&lt;span >Not long after this blog post was published we saw something very interesting.&lt;/span>&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2015/03/Screen-Shot-2015-03-04-at-17.18.42.png" alt="Interesting DOI" class="img-responsive" />
&lt;p>&lt;span >That’s no DOI. We like interesting things, but they can panic us. This turned out to be a great example of why this kind of thing can be useful. A minute’s digging and we &lt;a href="https://ja.wikipedia.org/w/index.php?title=%E6%9C%80%E5%A4%A7%E3%83%95%E3%83%AD%E3%83%BC%E5%95%8F%E9%A1%8C&amp;diff=54616146&amp;oldid=54612246">found the article edit&lt;/a>:&lt;/span>&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2015/03/Screen-Shot-2015-03-04-at-17.20.06.png" alt="Wikipedia typo" class="img-responsive" />
&lt;p>&lt;span >It turns out that this was a typo: someone put a title when they should have put in a DOI. And, as &lt;a href="http://events.labs.crossref.org.turing.library.northwestern.edu/dois/a%20data%20structure%20for%20dynamic%20trees">the event&lt;/a> shows, this was removed from the Wikipedia article.&lt;/span>&lt;/p></description></item><item><title>Crossref’s DOI Event Tracker Pilot</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/crossrefs-doi-event-tracker-pilot/</link><pubDate>Mon, 02 Mar 2015 00:00:00 +0000</pubDate><author>Geoffrey Bilder</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/crossrefs-doi-event-tracker-pilot/</guid><description>&lt;h2 id="tldr">TL;DR&lt;/h2>
&lt;p>Crossref’s “DOI Event Tracker Pilot”- 11 million+ DOIs &amp;amp; 64 million+ events. You can play with it at: &lt;a href="http://goo.gl/OxImJa" target="_blank">http://goo.gl/OxImJa&lt;/a>&lt;/p>
&lt;h2 id="tracking-doi-events">Tracking DOI Events&lt;/h2>
&lt;p>So have you been wondering what we’ve been doing &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/many-metrics-such-data-wow/">since we posted about the experiments we were conducting using PLOS’s open source ALM code&lt;/a>? A lot, it turns out. About a week after our post, we were contacted by a group of our members from &lt;a href="http://oaspa.org/" target="_blank">OASPA&lt;/a> who expressed an interest in working with the system. Apparently they were all about to conduct similar experiments using the ALM code, and they thought that it might be more efficient and interesting if they did so together using our installation. Yippee. Publishers working together. That’s what we’re all about.&lt;/p>
&lt;p>So we convened the interested parties and had a meeting to discuss what problems they were trying to solve and how Crossref might be able to help them. That early meeting came to a consensus on a number of issues:&lt;/p>
&lt;ul>
&lt;li>The group was interested in exploring the role Crossref could play in providing an open, common infrastructure to track activities around DOIs, they were not interested in having Crossref play a role in the value-add services of reporting on an interpreting the meaning of said activities.&lt;/li>
&lt;li>The working group needed representatives from multiple stakeholders in the industry. Not just open access publishers from OASPA, but from subscription based publishers, funders, researchers and third party service providers as well.&lt;/li>
&lt;li>That it was desirable to conduct a pilot to see if the proposed approach was both technically feasible and financially sustainable.&lt;/li>
&lt;/ul>
&lt;p>And so after that meeting, the “experiment” graduated to becoming a “pilot.” This Crossref pilot is based on the premise that the infrastructure involved in tracking common information about “DOI events” can be usefully separated from the value-added services of analysing and presenting these events in the form of qualitative indicators. There are many forms of events and interactions which may be of interest. Service providers will wish to analyse, aggregate and present those in a range of different ways depending on the customer and their problem. The capture of the underlying events can be kept separate from those services.&lt;/p>
&lt;p>In order to ensure that the Crossref pilot is not mistaken for some sub rosa attempt to establish new metrics for evaluating scholarly output, we also decided eschew any moniker that includes the word “metrics” or synonyms. So the “ALM Experiment” is dead. Long live the “”DOI Event Tracker” (DET) pilot. Similarly PLOS’s &lt;a href="https://github.com/articlemetrics/lagotto" target="_blank">open source “ALM software”&lt;/a> has been resurrected under the name “&lt;a href="http://en.wikipedia.org/wiki/Lagotto_Romagnolo" target="_blank">Lagotto&lt;/a>.”&lt;/p>
&lt;h2 id="the-technical-issues">The Technical Issues&lt;/h2>
&lt;p>Crossref members are interested in knowing about “events” relating to the DOIs that identify their content. But our members face a now-classic problem. There are a large number of sources for scholarly publications (3k+ Crossref members) and that list is still growing. Similarly, there are an unbounded number of potential sources for usage information. For example:&lt;/p>
&lt;ul>
&lt;li>Supplemental and grey literature (e.g. data, software, working papers)&lt;/li>
&lt;li>Orthogonal professional literature (e.g. patents, legal documents, governmental/NGO/IGO reports, consultation reports, professional trade literature).&lt;/li>
&lt;li>Scholarly tools (e.g. citation management systems, text and data mining applications).&lt;/li>
&lt;li>Secondary outlets for scholarly literature (institutional and disciplinary repositories, A&amp;amp;I services).&lt;/li>
&lt;li>Mainstream media (e.g. BBC, New York Times).&lt;/li>
&lt;li>Social media (e.g. Wikipedia, Twitter, Facebook, Blogs, Yo).&lt;/li>
&lt;/ul>
&lt;p>Finally, there is a broad and growing audience of stakeholders who are interested in seeing how the literature is being used. The audience includes publishers themselves as well as funders, researchers, institutions, policy makers and citizens.&lt;/p>
&lt;p>Publishers (or other stakeholders) could conceivably each choose to run their own system to collect this information and redistribute it to interested parties. Or they can work with a vendor to do the same. But either case, they would face the following problems:&lt;/p>
&lt;ul>
&lt;li>The N sources will change. New ones will emerge. Old ones will vanish.&lt;/li>
&lt;li>The N audiences will change. New ones will emerge. Old ones will vanish.&lt;/li>
&lt;li>Each publisher/vendor will need to deal with N source’s different APIs, rate limits, T&amp;amp;Cs, data licenses, etc. This is a logistical headache for both the publishers/vendors and for the sources.&lt;/li>
&lt;li>Each audience will need to deal with N publisher/vendor APIs, rate limits, T&amp;amp;Cs, data licenses, etc. This is a logistical headache for both the audiences and for the publishers.&lt;/li>
&lt;li>If publishers/vendors use different systems which in turn look at different sources, it will be difficult to compare or audit results across publishers/vendors.&lt;/li>
&lt;li>If a journal moves from one publisher to another, then how are the metrics for that journal’s articles going to follow the journal?&lt;/li>
&lt;/ul>
&lt;p>And then there is the simple issue of scale. Most parties will be interested in comparing the data that they collect for their own content, with data about their competitors. Hence, if they all run their own system, they will each be querying much more than their own data. If, for example, just the commercial third-party providers were interested in collecting data covering the formal scholarly literature, they would &lt;em>each&lt;/em> find themselves querying the same sources for the same 80 million DOIs. To put this into perspective, to refresh the data for 10 million DOIs once a month, would require sources to support ~ 14K API calls an hour. 60 million DOIs would require 100K API calls an hour. Current standard API caps for many of the sources that people are interested in querying hover around 2K per hour. We may see these sources lift that cap for exceptional cases, but they are unlikely to do so for many different clients all of whom are querying essentially the same thing.&lt;/p>
&lt;p>These issues typify the “multiple bilateral relationships” problem that Crossref was founded to try and ameliorate. When we have many organisations trying to access the exact same APIs to process the exact same data (albeit to different ends), then it seems likely that Crossref could help make the process more efficient.&lt;/p>
&lt;h2 id="piloting-a-proposed-solution">Piloting A Proposed Solution&lt;/h2>
&lt;p>The Crossref DET pilot aims to show the feasibility of providing a hub for the collection, storage and propagation of DOI events from multiple sources to multiple audiences.&lt;/p>
&lt;h3 id="data-collection">Data Collection&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Pull&lt;/strong>: DET will collect DOI event data from sources that are of common interest to the membership, but which are unlikely to make special efforts to accommodate the scholarly communications industry. Examples of this class of source include large, broadly popular services like FaceBook, Twitter, VK, Sina Weibo, etc.&lt;/li>
&lt;li>&lt;strong>Push&lt;/strong>: DET will allow sources to send DOI event data directly to Crossref in one of three ways:
&lt;ul>
&lt;li>Standard Linkback: Using standards that are widely used on the web. This will automatically enable linkback-aware systems like WordPress, Moveable Type, etc. to alert DET to DOI events.&lt;/li>
&lt;li>Scholarly Linkback: A to-be-defined augmented linkback-style API which will be optimized to work with scholarly resources and which will allow for more sophisticated payloads including other identifiers (e.g. ORCIDs, FundRefs), metadata, provenance information and authorization information. This system could be used by tools designed for scholarly communications. So, for example, it could be used by publisher platforms to distribute events related to downloads or comments within their discussion forums. It could also be used by third party scholarly apps like Zotero, Mendeley, Papers, Authorea, IRUS-UK, etc. in order to alert interested parties in events related to specific DOIs.&lt;/li>
&lt;li>&lt;strong>Redirect&lt;/strong>: DET will also be able to serve as a service discovery layer that will allow sources to push DOI event data directly to an appropriate publisher-controlled endpoint using the above scholarly linkback mechanism. This can be used by sources like repositories in order to send sensitive usage data directly to the relevant publishers.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h3 id="data-propagation">Data Propagation&lt;/h3>
&lt;p>Parties may want to use the DET in order to propagate information about DOI events. The system will support two broad data propagation patterns:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>one-to-many&lt;/strong>: DOI events that are commonly harvested (pulled) by the DET system from a single source will be distributed freely to anybody who queries the DET API. Similarly, sources that push DOI events via the standard or scholarly linkback mechanisms, will also propagate their DOI events openly to anybody who queries the DET API. DOI events that are propagated in either of these cases will be kept and logged by the DET system along with appropriate provenance information. This will be the most common, default propagation model for the DET system.&lt;/li>
&lt;li>&lt;strong>one-to-one&lt;/strong>: Sources of DOI events can also report (push) DOI event data directly to owner of the relevant DOI &lt;em>if&lt;/em> the DOI owner provides &amp;amp; registers a suitable end-point with the DET system. In these cases, data sources seeking to report information relating to a DOI, will be redirected (with a suitable 30X HTTP status and relevant headers) to the end-point specified by the DOI owner. The DET system will not keep the request or provenance information. One-to-one propagation model is designed to handle use cases where the source of the DOI event has put restrictions on the data and will only share the DOI events with the owner (registrant) of the DOI. This use case may be used, for example, by aggregators or A&amp;amp;I services that want to report confidential data directly back to a publisher. The advantage of the redirect mechanism is that Crossref is not put into the position of having to secure sensitive data as said data will never reside on Crossref systems.&lt;/li>
&lt;/ul>
&lt;p>Note that the two patterns can be combined. So, for example, a publisher might want to have public social media events reported to the DET and propagated accordingly, but to also to private third parties report confidential information directly to the publisher.&lt;/p>
&lt;h2 id="so-where-are-we">So Where Are We?&lt;/h2>
&lt;p>So to start with, the DET Working Group has grown substantially since the early days and we have representatives from a wide variety of stakeholders. The group includes:&lt;/p>
&lt;ul>
&lt;li>Cameron Neylon, PLOS&lt;/li>
&lt;li>Chris Shillum, Elsevier&lt;/li>
&lt;li>Dom Mitchell, Co-action Publishing&lt;/li>
&lt;li>Euan Adie, Altmetric&lt;/li>
&lt;li>Jennifer Lin, PLOS&lt;/li>
&lt;li>Juan Pablo Alperin, PKP&lt;/li>
&lt;li>Kevin Dolby, Wellcome Trust&lt;/li>
&lt;li>Liz Ferguson, Wiley&lt;/li>
&lt;li>Maciej Rymarz, Mendeley&lt;/li>
&lt;li>Mark Patterson, eLife&lt;/li>
&lt;li>Martin Fenner, PLOS&lt;/li>
&lt;li>Mike Thelwell, U Wolverhampton&lt;/li>
&lt;li>Rachel Craven, BMC&lt;/li>
&lt;li>Richard O’Beirne, OUP&lt;/li>
&lt;li>Ruth Ivimey-Cook, eLife&lt;/li>
&lt;li>Victoria Rao, Elsevier&lt;/li>
&lt;/ul>
&lt;p>As well as the usual contingent of Crossref cat-herders including: Geoffrey Bilder, Rachael Lammey &amp;amp; Joe Wass.&lt;/p>
&lt;p>When we announced the then-DET experiment, we said that one of the biggest challenges would be to create something that scaled to industry levels. At launch, we only loaded in about 317,500+ Crossref DOIs representing publications from 2014 and we could see the system was going to struggle. Since then Martin Fenner and Jennifer Lin at PLOS have been focusing on making sure that the Lagotto code scales appropriately and now it is currently humming along with just over 11.5 million DOIs for which we’ve gathered over 64 million “events.” We aren’t worried about scalability on that front any more.&lt;/p>
&lt;p>We’ve also shown that third parties should be able to access the API to provide value added reporting and metrics. As a demonstration of this, &lt;a href="https://web.archive.org/web/20150924184918/http://parascope.crowdometer.org/" target="_blank">PLOS configured a copy of its reporting software “Parascope”&lt;/a> to point at the Crossref DET instance. The next step we’re taking is to start testing the “push” API mechanism and the “point-to-point redirect” API mechanism. For the push API, we should have a really exciting demo available to show within the next few days. And on the point-to-point redirect, we have a sub-group exploring how the point-to-point redirect mechanism could potentially be used for reporting &lt;a href="http://www.projectcounter.org/about.html" target="_blank">COUNTER&lt;/a> stats as a compliment to the &lt;a href="http://www.niso.org/workrooms/sushi" target="_blank">Sushi&lt;/a> initiative.&lt;/p>
&lt;p>The other major outstanding task we have before us is to calculate what the costs will be of running the DET system as a production service. In this case we expect to have some pretty accurate data to go on as we will have had close to half a year of running the pilot with a non-trivial number of DOIs and sources. Note that the work group is concerned to ensure that the underlying data from the system remains open to all. Keeping this raw data open as seen as critical to establishing trust in the metrics and reporting systems that third parties build on the data. The group has also committed to leaving the creation of value-add services to third parties. As such we have been focusing on exploring business models based around service-level-agreement backed versions of the API to complement the free version of the same API. The free API will come with no guarantees of uptime, performance characteristics or support. For those users that depend on the API in order to deliver their services, we will offer paid-for SLA-backed versions of the free APIs. We can then configure our systems so that we can independently scale these SLA-backed APIs in order to meet SLA agreements.&lt;/p>
&lt;p>Our goal is to have these calculations complete in time for the working group to make a recommendation to the Crossref board meeting in July 2015.&lt;/p>
&lt;p>Until then, we’ll use CrossTech as a venue for notifying people when we’ve hit new milestones or added new capabilities to the DET Pilot system.&lt;/p></description></item><item><title>Introducing the Crossref Labs DOI Chronograph</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/introducing-chronograph/</link><pubDate>Mon, 12 Jan 2015 00:00:00 +0000</pubDate><author>Joe Wass</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/introducing-chronograph/</guid><description>&lt;p>tl;dr &lt;a href="http://chronograph.labs.crossref.org.turing.library.northwestern.edu" target="_blank">http://chronograph.labs.crossref.org.turing.library.northwestern.edu&lt;/a>&lt;/p>
&lt;p>At Crossref we mint DOIs for publications and send them out into the world, but we like to hear how they’re getting on out there. Obviously, DOIs are used heavily within the formal scholarly literature and for citations, but they’re increasingly being used outside of formal publications in places we didn’t expect. With our DOI Event Tracking / ALM pilot project we’re collecting information about how DOIs are mentioned on the open web to try and build a picture about new methods of citation.&lt;/p>
&lt;p>As part of the &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/many-metrics-such-data-wow">preparation for collaborating with Wikipedia&lt;/a>, we looked at our statistics about when DOIs are clicked and discovered that Wikipedia was, over a two year period from 2012, the eighth largest referrer of DOIs. This means that not only does Wikipedia have a lot of DOIs, but people click them too. This bit of one-off data analysis (which surprised us) gave us enough of a prod to kickstart our collaboration with Wikipedia.&lt;/p>
&lt;p>At the &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/">ALM Workshop 2014 in San Francisco&lt;/a> we talked to some Wikipedians and bibliometricians and realised that we were sitting on a really interesting data-set and that it would be churlish not to share it. At the hackathon (&lt;a href="https://doi-org.turing.library.northwestern.edu/10.6084/m9.figshare.1287503" target="_blank">read the report here&lt;/a>) we started work on a service to gather information about DOIs and, a month later, we’re ready to unveil the DOI Chronograph.&lt;/p>
&lt;p>&lt;strong>Show me the goods&lt;/strong>&lt;/p>
&lt;p>You can see:&lt;/p>
&lt;p>Daily referrals (clicks) from top level domains, e.g. Wikipedia.org: &lt;a href="http://chronograph.labs.crossref.org.turing.library.northwestern.edu/domain.html?domain=wikipedia.org" target="_blank">http://chronograph.labs.crossref.org.turing.library.northwestern.edu/domain.html?domain=wikipedia.org&lt;/a>&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2015/01/wikipedia-referrals.png" alt="wikipedia-referrals" class="img-responsive" />
&lt;p>Daily referrals from specific subdomains, e.g. fr.wikipedia.org: &lt;a href="http://chronograph.labs.crossref.org.turing.library.northwestern.edu/domain.html?domain=fr.wikipedia.org" target="_blank">http://chronograph.labs.crossref.org.turing.library.northwestern.edu/domain.html?domain=fr.wikipedia.org&lt;/a>&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2015/01/fr-wikipedia-referrals.png" class="img-responsive" />
&lt;p>Daily resolutions per DOI: &lt;a href="http://chronograph.labs.crossref.org.turing.library.northwestern.edu/doi.html?doi=10.1787%2F20752288" target="_blank">http://chronograph.labs.crossref.org.turing.library.northwestern.edu/doi.html?doi=10.1787%2F20752288&lt;/a>&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2015/01/doi-referrals.png" alt="doi-referrals" class="img-responsive"/>
&lt;p>&lt;a name="ranking">&lt;/a>&lt;/p>
&lt;p>And, the chart that kicked this all off: DOI referring domains league tables. This shows that Wikipedia is the 3rd or 4th non-traditional referrer of DOIs (i.e. excluding referrals from Publishers’ domains): &lt;a href="http://chronograph.labs.crossref.org.turing.library.northwestern.edu/top.html" target="_blank">http://chronograph.labs.crossref.org.turing.library.northwestern.edu/top.html&lt;/a>&lt;/p>
&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2015/01/top-domains.png" alt="top-domains" class="img-responsive" />
&lt;p>&lt;strong>Try it out&lt;/strong>&lt;/p>
&lt;p>Visit the Chronograph and give it a try &lt;a href="http://chronograph.labs.crossref.org.turing.library.northwestern.edu" target="_blank">chronograph.labs.crossref.org&lt;/a> on your &lt;a href="http://chronograph.labs.crossref.org.turing.library.northwestern.edu/doi.html?doi=10.1657%2F1938-4246-44.4.483" target="_blank">favourite DOI&lt;/a> (&lt;a href="http://chronograph.labs.crossref.org.turing.library.northwestern.edu/doi.html?doi=10.1007%2Fs12110-002-1021-6" target="_blank">everyone&lt;/a> &lt;a href="http://chronograph.labs.crossref.org.turing.library.northwestern.edu/doi.html?doi=10.1136%2Fbmj.327.7429.1459" target="_blank">has&lt;/a> &lt;a href="http://chronograph.labs.crossref.org.turing.library.northwestern.edu/doi.html?doi=10.1016/j.imavis.2011.05.002" target="_blank">one&lt;/a>).&lt;/p>
&lt;p>&lt;strong>More data&lt;/strong>&lt;/p>
&lt;p>Talking to a bibliometrician we also realised we can correlate other data for DOIs. We’re getting the issue date (approximately the publication date) from our own metadata, as well as the date that the Crossref metadata was updated. This gives interesting results, like &lt;a href="http://chronograph.labs.crossref.org.turing.library.northwestern.edu/doi.html?doi=10.1038%2Fncomms2953" target="_blank">the resolutions for 10.1038/ncomms2953&lt;/a>, which peak after publication and then tails off. We are attempting to collect the following information:&lt;/p>
&lt;ul>
&lt;li>daily resolution counts&lt;/li>
&lt;li>day on which resolution was first successful&lt;/li>
&lt;li>day on which it’s possible to resolve the DOI (we’ve got a bot running for new publications)&lt;/li>
&lt;li>day on which the publisher says the article was published&lt;/li>
&lt;li>day on which the metadata was most recently deposited with us&lt;/li>
&lt;li>day on which the metadata was first deposited with us&lt;/li>
&lt;/ul>
&lt;p>We’re not there yet, but we’ve made a start and we’ve already got some pretty interesting data!&lt;/p>
&lt;p>&lt;strong>Weasel words&lt;/strong>&lt;/p>
&lt;p>It’s a labs project so the usual weasel words apply. Specifically, we currently have the logs for 2012 to 2014 (we’re working at digging out the rest), and the referral information for 50 million DOIs (out of 71 million). That number will be higher by the time you read this. If your page is slow to load, be patient, as it’s currently working hard crunching numbers.&lt;/p>
&lt;p>This project is focused on exploring the use of DOIs outside of the formal literature. As such, we are only looking at referrals from domains that do not appear to belong to primary publishers (i.e. our members). If you try a domain and it doesn’t work, it could be that the domain belongs to one of our members. If you’ve notice any mistakes, please email us at &lt;a href="mailto:labs@crossref.org">labs@crossref.org&lt;/a> .&lt;/p>
&lt;p>Finally, these numbers contain all DOI resolutions. That’s human clicks but also content negotiation to retrieve metadata, robots etc. We might try to filter them in future, but for now be aware that not every visitor is a human.&lt;/p>
&lt;p>I’ll detail some of the the technical stuff (it’s very interesting) and what happened next with Wikipedia in a future post. Watch this space.&lt;/p></description></item><item><title>Citation needed</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/citation-needed/</link><pubDate>Thu, 07 Aug 2014 00:00:00 +0000</pubDate><author>Geoffrey Bilder</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/citation-needed/</guid><description>&lt;p>Remember when &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/many-metrics-such-data-wow">I said that the Wikipedia was the 8th largest referrer of DOI links to published research&lt;/a>? This &lt;em>despite&lt;/em> only a fraction of eligible references in the free encyclopaedia using DOIs.&lt;/p>
&lt;p>We aim to fix that. Crossref and Wikimedia are launching a new initiative to better integrate scholarly literature in the world’s largest public knowledge space, Wikipedia.&lt;/p>
&lt;p>This work will help promote standard links to scholarly references within Wikipedia, which persist over time by ensuring consistent use of DOIs and other citation identifiers in Wikipedia references. Crossref will support the development and maintenance of Wikipedia’s citation tools on Wikipedia. This work will include bug fixes and performance improvements for existing tools, extending the tools to enable Wikipedia contributors to more easily look up and insert DOIs, and providing a “linkback” mechanism that alerts relevant parties when a persistent identifier is used in a Wikipedia reference.&lt;/p>
&lt;p>In addition, Crossref is creating the role of Wikimedia Ambassador (modeled after &lt;a href="https://outreach.wikimedia.org/wiki/Wikipedian_in_Residence" target="_blank">Wikimedian-in-Residence&lt;/a>) to act as liaison with the Wikimedia community, promote use of scholarly references on Wikipedia, and educate about DOIs and other scholarly identifiers (ORCIDs, PubMed IDs, DataCite DOIs, etc) across Wikimedia projects.&lt;/p>
&lt;p>Starting today, Crossref will be working with &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/many-metrics-such-data-wow">Daniel Mietchen&lt;/a> to coordinate Crossref’s Wikimedia-related activities. Daniel’s team will be composed of &lt;a href="https://github.com/notconfusing" target="_blank">Max Klein&lt;/a> and &lt;a href="https://github.com/wrought" target="_blank">Matt Senate&lt;/a>, who will work to enhance Wikimedia citation tools, and will share the role of Wikipedia ambassador with &lt;a href="http://www.dorothyhoward.com/" target="_blank">Dorothy Howard&lt;/a>.&lt;/p>
&lt;p>Since the beginnings of Wikipedia, Daniel Mietchen has worked to integrate scholarly content into Wikimedia projects. He is part of an impressive community of active Wikipedians and developers who have worked extensively on linking Wikipedia articles to the formal literature and other scholarly resources. We’ve been talking to him about this project for nearly a year, and are happy to finally get it off the ground.&lt;/p>
&lt;p>-G&lt;figure id="attachment_367" class="wp-caption alignnone">&lt;/p>
&lt;p>&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2014/08/IMG_0602-300x150.jpg" alt="Matt, Max and Daniel at #wikimania2014. Photo by Dorothy." width="300" height="150" class="size-medium wp-image-367" srcset="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2014/08/IMG_0602-300x150.jpg 300w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2014/08/IMG_0602-1024x515.jpg 1024w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2014/08/IMG_0602-624x314.jpg 624w" sizes="(max-width: 300px) 85vw, 300px" />&lt;figcaption class="wp-caption-text">]&lt;a href="https://github.com/wrought" target="_blank">7&lt;/a> Matt, Max and Daniel at #wikimania2014. Photo by Dorothy.&lt;/figcaption>&lt;/figure>&lt;/p>
&lt;h1 id="wikimania2014">wikimania2014&lt;/h1></description></item><item><title>♫ Researchers just wanna have funds ♫</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/researchers-just-wanna-have-funds/</link><pubDate>Thu, 10 Apr 2014 00:00:00 +0000</pubDate><author>Geoffrey Bilder</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/researchers-just-wanna-have-funds/</guid><description>&lt;p>&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2014/04/5788184739_03b5b2a20d_b-150x150.jpg" alt="Cindy Lauper">&lt;/p>
&lt;p>&lt;a href="https://www.flickr.com/photos/59935931@N05/5788184739/" target="_blank">photo credit&lt;/a>&lt;/p>
&lt;h2 id="summary">Summary&lt;/h2>
&lt;p>You can use a new Crossref &lt;a href="http://en.wikipedia.org/wiki/Application_programming_interface" target="_blank">API&lt;/a> to query all sorts of interesting things about who funded the research behind the content Crossref members publish.&lt;/p>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>Back in May 2013 we launched Crossref’s &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/services/funder-registry/" target="_blank">FundRef&lt;/a> service. It can be summarized like this:&lt;/p>
&lt;ul>
&lt;li>Crossref keeps and manages a &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/services/funder-registry/" target="_blank">canonical list&lt;/a> of Funder Names (ephemeral) and associated identifiers (persistent).&lt;/li>
&lt;li>We encourage our members (or anybody, really- the list is available under A &lt;a href="http://creativecommons.org/choose/zero/" target="_blank">CC-Zero&lt;/a> license waiver) to use this list for collecting information on who funded the research behind the content that our members publish.&lt;/li>
&lt;li>We then ask that our members deposit this data in their normal Crossref metadata deposits.&lt;/li>
&lt;/ul>
&lt;p>And that was cool.&lt;/p>
&lt;p>But then people started asking us awkward questions. Questions like “what can I do with the funder data?” and “how do I query it?”.&lt;/p>
&lt;p>Stoopit people.&lt;/p>
&lt;p>Can’t you just let us bask for a few minutes in the sunny glow of actually conceiving of and launching a project within a year?&lt;/p>
&lt;p>But seriously, funders, were interested to see how they could use the funder metadata being collected in Crossref. In particular, some funding agencies were interested in being able to measure Key Performance Indicators (“KPIs” to management wonks) related to recent mandates such as the February 22nd 2013 OSTP memo, &lt;em>&lt;a href="http://www.whitehouse.gov/blog/2013/02/22/expanding-public-access-results-federally-funded-research" target="_blank">Public Access to the Results of Federally Funded Research&lt;/a>.&lt;/em> Two groups also approached us, &lt;a href="http://chorusaccess.org/" target="_blank">CHORUS&lt;/a> and &lt;a href="https://www-arl-org.turing.library.northwestern.edu/resources/shared-access-research-ecosystem-share-proposal/" target="_blank">SHARE&lt;/a>. Both are interested in exploring how to build reporting tools for funders, institutions and researchers and each brought us a gigantic hairball of use-cases they were hoping we would be able to meet.&lt;/p>
&lt;p>Conveniently, we were in the process of creating a revised, modern Crossref API that is entirely &lt;a href="http://en.wikipedia.org/wiki/Buzzword_compliant" target="_blank">buzzword-compliant&lt;/a>, and so we set to work…&lt;/p>
&lt;p>We thought people might be interested in seeing what you can do with the Crossref &lt;a href="http://en.wikipedia.org/wiki/Representational_state_transfer" target="_blank">REST&lt;/a> API in relation to funding information and the expectations that are increasingly being attached to them. CHORUS is already using the Crossref REST API heavily and we expect that SHARE will soon start making use of it as well. The feedback from both groups has been very useful, but we are looking for broader feedback as well. The API is still in development, so now is your chance to help us shape it.&lt;/p>
&lt;h2 id="brief-examples">Brief Examples&lt;/h2>
&lt;p>&lt;em>Please note&lt;/em>, the following are APIs calls, although you can copy and paste the URIs into your browser, the data is returned in a machine readable representation called &lt;a href="http://en.wikipedia.org/wiki/JSON" target="_blank">JSON&lt;/a>. If you want the results to look a little more presentable, we advise you install the JSONView plugin:&lt;/p>
&lt;ul>
&lt;li>Firefox Users: &lt;a href="http://jsonview.com/" target="_blank">JSONView&lt;/a>&lt;/li>
&lt;li>Chrome Users: &lt;a href="https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc" target="_blank">JSONView&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>Also note that publishers have only just started to deposit the metadata needed for these APIs to work, so the data is currently sparse. We know that many of our members are working feverishly to populate more of the needed metadata, but this requires updates to the their manuscript tracking systems, production systems and hosting systems. It takes time.&lt;/p>
&lt;p>But for now you can paste the relevant URIs below into your browser and see the results that we do have. Expect these numbers to increase sharply over the next few months&lt;/p>
&lt;p>To start with, you might want to know how many articles in Crossref have FundRef metadata:&lt;/p>
&lt;pre>&lt;code>https://api-crossref-org.turing.library.northwestern.edu/v1/works?filter=has-funder:true&amp;amp;rows=0
&lt;/code>&lt;/pre>
&lt;p>You could then be interested in knowing how many works in Crossref use FundRef to credit the United States’ National Science Foundation (NSF) for funding their research? First you need to find out what the FundRef identifier is for the NSF:&lt;/p>
&lt;pre>&lt;code>https://api-crossref-org.turing.library.northwestern.edu/v1/funders?query=NSF
&lt;/code>&lt;/pre>
&lt;p>You can see that there are several entries that match “NSF”, and that the one we are looking for has the identifier &lt;code>https://doi-org.turing.library.northwestern.edu/10.13039/100000001&lt;/code>. Remember, funding agency names can change frequently, the ID provides a persistent link to the funder even if their name changes.&lt;/p>
&lt;p>If you are curious, you can see the details for the NSF entry, including its location, parent and child organisations:&lt;/p>
&lt;pre>&lt;code>https://api-crossref-org.turing.library.northwestern.edu/v1/funders/10.13039/100000001
&lt;/code>&lt;/pre>
&lt;p>Notice that the results also lists the &lt;code>work-count&lt;/code>. This is the number of works in the Crossref metadata that list the US NSF as having funded the research.&lt;/p>
&lt;p>So perhaps you would like to see the list of works. The following will list the first twenty:&lt;/p>
&lt;pre>&lt;code>https://api-crossref-org.turing.library.northwestern.edu/v1/funders/10.13039/100000001/works
&lt;/code>&lt;/pre>
&lt;p>You can page through the results with the offset argument:&lt;/p>
&lt;pre>&lt;code>https://api-crossref-org.turing.library.northwestern.edu/v1/funders/10.13039/100000001/works?offset=20
https://api-crossref-org.turing.library.northwestern.edu/v1/funders/10.13039/100000001/works?offset=40
...
&lt;/code>&lt;/pre>
&lt;p>How many works that have listed the NSF as a funder have license information:&lt;/p>
&lt;pre>&lt;code>https://api-crossref-org.turing.library.northwestern.edu/v1/funders/10.13039/100000001/works?filter=has-license:true&amp;amp;rows=0
&lt;/code>&lt;/pre>
&lt;p>Lets see the first batch that have license information:&lt;/p>
&lt;pre>&lt;code>https://api-crossref-org.turing.library.northwestern.edu/v1/funders/10.13039/100000001/works?filter=has-license:true
&lt;/code>&lt;/pre>
&lt;p>Lets look at the metadata for one of the DOIs returned:&lt;/p>
&lt;pre>&lt;code>https://api-crossref-org.turing.library.northwestern.edu/v1/works/10.1063/1.3593378
&lt;/code>&lt;/pre>
&lt;p>Interesting, the metadata shows an article published by &lt;a href="http://www.aip.org.turing.library.northwestern.edu/" target="_blank">AIP&lt;/a>. It includes license information (CC-BY 3.0) as well as a link to the full text. If you follow the link to the full text, you can retrieve it:&lt;/p>
&lt;pre>&lt;code>http://link.aip.org.turing.library.northwestern.edu/link/applab/v98/i21/p216101/pdf/CHORUS
&lt;/code>&lt;/pre>
&lt;p>Wow- A pretty short article. But you can see that it does credit the NSF and that the award number recorded in the text is the same as the award number recorded in the FundRef section of the Crossref metadata. Yay.&lt;/p>
&lt;p>You can see in the brief examples above that there is a lot of other metadata you may want to query on and explore. It can include ORCIDS, information about archiving arrangements- even abstracts. It all depends on what the Crossref member has decided to provide.&lt;/p>
&lt;p>You can get a simple overview of what a Crossref member has provided by looking at a member summary. Here is an example for &lt;a href="http://www.hindawi.com/" target="_blank">Hindawi&lt;/a>:&lt;/p>
&lt;pre>&lt;code>https://api-crossref-org.turing.library.northwestern.edu/v1/members?query=hindawi
&lt;/code>&lt;/pre>
&lt;p>Note again that names are fickle, so the above query can also be accomplished using the member identifier like this:&lt;/p>
&lt;pre>&lt;code>https://api-crossref-org.turing.library.northwestern.edu/v1/members/98
&lt;/code>&lt;/pre>
&lt;p>Groovy init?&lt;/p>
&lt;p>If you want more pointers on where you can learn how to use the API, read on…&lt;/p>
&lt;h2 id="more-examples-and-documentation">More examples and documentation.&lt;/h2>
&lt;p>We have a draft of the &lt;a href="https://api-crossref-org.turing.library.northwestern.edu" target="_blank">full documentation for the Crossref REST API&lt;/a>. Note that this is undergoing active revision and we ask that you look at the updated documentation if things that once work cease to. We would also love your feedback and suggestions. Send them to:&lt;/p>
&lt;p>&lt;img src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/labs_email.png" alt="email address">&lt;/p>
&lt;p>We often get asked “what metadata does a publisher need to provide in order to enable this kind of functionality?” To answer that, we have developed a document titled &lt;a href="https://github.com/CrossRef/rest-api-doc/blob/master/funder_kpi_metadata_best_practice.md" target="_blank">Crossref metadata best practice to support key performance indicators (KPIs) for funding agencies&lt;/a>. Try saying that ten times very fast.&lt;/p>
&lt;h2 id="the-future-of-the-crossref-rest-api">The Future of the Crossref REST API.&lt;/h2>
&lt;p>Our aim is for the Crossref REST API to go into production this Summer (2014). As with most of our newer APIs, there will be a free API for public use and a paid for API for professional use. The only difference between the two will be that the professional version will come with a service level agreement (SLA) covering uptime, response time and support. Naturally, this also means that the professional one will be on dedicated hosting equipment so that we can meet these SLAs, whereas the performance of the free version will be subject to the vicissitudes inherent in using a shared, constrained resource (i.e. the server and network it is running on).&lt;/p>
&lt;p>Again, the basics of the API are in place. It should be fairly stable, but we do reserve the right to make changes to it over the next few months. Please send us feedback.&lt;/p>
&lt;p>— The Weasel&lt;/p></description></item><item><title>Many Metrics. Such Data. Wow.</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/many-metrics-such-data-wow/</link><pubDate>Mon, 24 Feb 2014 00:00:00 +0000</pubDate><author>Geoffrey Bilder</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/many-metrics-such-data-wow/</guid><description>&lt;p>[&lt;img class=" wp-image-302 alignnone" title="many metrics. such data. wow." src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2014/02/many_metrics.jpg" alt="many_metrics" width="288" height="288" srcset="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2014/02/many_metrics.jpg 480w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2014/02/many_metrics-150x150.jpg 150w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2014/02/many_metrics-300x300.jpg 300w" sizes="(max-width: 288px) 85vw, 288px" />&lt;/p>
&lt;blockquote>
&lt;p>Crossref Labs loves to be the last to jump on an internet trend, so what better than than to combine the &lt;a href="http://en.wikipedia.org/wiki/Doge_(meme)" target="_blank">Doge meme&lt;/a> with &lt;a href="http://en.wikipedia.org/wiki/Altmetrics" target="_blank">altmetrics&lt;/a>?&lt;/p>
&lt;/blockquote>
&lt;p>&lt;strong>Note:&lt;/strong> The API calls below have been superceeded with the development of the Event Data project. See &lt;a href="http://eventdata.crossref.org.turing.library.northwestern.edu/" target="_blank">the latest API documentation&lt;/a> for equivalent functionality&lt;/p>
&lt;p>Want to know how many times a Crossref DOI is cited by the Wikipedia?&lt;/p>
&lt;pre tabindex="0">&lt;code>http://det.labs.crossref.org.turing.library.northwestern.edu/works/doi/10.1371/journal.pone.0086859
&lt;/code>&lt;/pre>&lt;p>Or how many times one has been mentioned in Europe PubMed Central?&lt;/p>
&lt;pre tabindex="0">&lt;code>http://det.labs.crossref.org.turing.library.northwestern.edu/works/doi/10.1016/j.neuropsychologia.2013.10.021
&lt;/code>&lt;/pre>&lt;p>Or DataCite?&lt;/p>
&lt;pre tabindex="0">&lt;code>http://det.labs.crossref.org.turing.library.northwestern.edu/works/doi/10.1111/jeb.12289
&lt;/code>&lt;/pre>&lt;h2 id="background">Background&lt;/h2>
&lt;p>Back in 2011 &lt;a href="http://www.plos.org/" target="_blank">PLOS&lt;/a> released its awesome &lt;a href="https://web.archive.org/web/20190118175222if_/https://www.plos.org/article-level-metrics" target="_blank">ALM system&lt;/a> as &lt;a href="http://en.wikipedia.org/wiki/Open-source_software" target="_blank">open source software&lt;/a> (OSS). At &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/labs/" target="_blank">Crossref Labs&lt;/a>, we thought it might be interesting to see what would happen if we ran our own instance of the system and loaded it up with a few Crossref DOIs. So we did. And the code fell over. Oops. Somehow it didn’t like dealing with 10 million DOIs. Funny that.&lt;/p>
&lt;p>But the beauty of OSS is that we were able to work with PLOS to scale the code to handle our volume of data. Crossref contracted with &lt;a href="http://cottagelabs.com/" target="_blank">Cottage Labs&lt;/a>  and we both worked with PLOS to make changes to the system. These eventually got fed back into the main &lt;a href="https://github.com/articlemetrics/alm/" target="_blank">ALM source on Github&lt;/a>. Now everybody benefits from our work. Yay for OSS.&lt;/p>
&lt;p>So if you want to know technical details, skip to &lt;a href="#details">Details for Propellerheads&lt;/a>. But if you want to know why we did this, and what we plan to do with it, read on.&lt;/p>
&lt;h2 id="span-whyspan">&lt;span >Why?&lt;/span>&lt;/h2>
&lt;p dir="ltr">
&lt;span >There are (cough) some problems in our industry that we can best solve with shared infrastructure. When publishers first put scholarly content online, they used to make bilateral reference linking agreements. These agreements allowed them to link citations using each other’s proprietary reference linking APIs. But this system didn’t scale. It was too time-consuming to negotiate all the agreements needed to link to other publishers. And linking through many proprietary citation APIs was too complex and too fragile. So the industry founded Crossref to create a common, cross-publisher citation linking API. Crossref has since obviated the need for bilateral linking arrangements.&lt;/span>
&lt;/p>
&lt;p dir="ltr">
&lt;span >So-called &lt;a href="http://en.wikipedia.org/wiki/Altmetrics" target="_blank">altmetrics&lt;/a> look like they might have similar characteristics. You have ~4000 Crossref member publishers and N sources (e.g. Twitter, Mendeley, Facebook, CiteULike, etc.) where people use (e.g. discuss, bookmark, annotate, etc.) scholarly publications. Publishers could conceivably each choose to run their own system to collect this information. But if they did, they would face the following problems:&lt;/span>
&lt;/p>
&lt;ul>
&lt;li>&lt;span >The N sources will be volatile. New ones will emerge. Old ones will vanish.&lt;/span>&lt;/li>
&lt;li>&lt;span >Each publisher will need to deal with each source’s different APIs, rate limits, T&amp;amp;Cs, data licenses, etc. This is a logistical headache for both the publishers and for the sources.&lt;/span>&lt;/li>
&lt;li>&lt;span >If publishers use different systems which in turn look at different sources, it will be difficult to compare results across publishers.&lt;/span>&lt;/li>
&lt;li>&lt;span >If a journal moves from one publisher to another, then how are the metrics for that journal’s articles going to follow the journal? This isn’t a complete list, but it shows that there might be some virtue in publishers sharing an infrastructure for collecting this data. But what about commercial providers? Couldn’t they provide these ALM services? Of course - and some of them currently do. But normally they look on the actual collection of this data as a means to an end. The real value they provide is in the analysis, reporting and tools that they build on top of the data. Crossref has no interest in building front-ends to this data. If there is a role for us to play here, it is simply in the collection and distribution of the data.&lt;/span>&lt;/li>
&lt;/ul>
&lt;h2 id="span-no-really-whyspan">&lt;span >No, really, WHY?&lt;/span>&lt;/h2>
&lt;p dir="ltr">
&lt;span >Aren’t these altmetrics &lt;a href="https://web.archive.org/web/20170112105521/https://scholarlyoa.com/2013/08/01/article-level-metrics/" target="_blank">an ill-conceived and meretricious idea&lt;/a>? By providing this kind of information, isn’t Crossref just encouraging feckless, &lt;a href="http://blogs.lse.ac.uk/impactofsocialsciences/2014/01/27/its-the-neoliberalism-stupid-kansa/" target="_blank">neoliberal university administrators&lt;/a> to hasten academia’s slide into a &lt;a href="http://en.wikipedia.org/wiki/Stakhanovite_movement" target="_blank">Stakhanovite&lt;/a> dystopia? Can’t these systems be gamed?&lt;/span>
&lt;/p>
&lt;p dir="ltr">
&lt;span >FOR THE LOVE OF &lt;a href="http://en.wikipedia.org/wiki/Flying_Spaghetti_Monster" target="_blank">FSM&lt;/a>, WHY IS CROSSREF DABBLING IN SOMETHING OF SUCH QUESTIONABLE VALUE?&lt;/span>
&lt;/p>
&lt;p dir="ltr">
&lt;span >takes deep breath. wipes spittle from beard&lt;/span>
&lt;/p>
&lt;p dir="ltr">
&lt;span >These are all serious concerns. &lt;a href="http://en.wikipedia.org/wiki/Goodhart's_law" target="_blank">Goodhart’s Law&lt;/a> and all that… If a university’s appointments and promotion committee is largely swayed by &lt;a href="http://en.wikipedia.org/wiki/Impact_factor" target="_blank">Impact Factor&lt;/a>, it won’t improve a thing if they substitute or supplement Impact Factor with altmetrics. &lt;a href="http://www.linkedin.com/profile/view?id=8488638&amp;authType=NAME_SEARCH&amp;authToken=6zaC&amp;locale=en_US&amp;srchid=4700671392208272787&amp;srchindex=1&amp;srchtotal=32&amp;trk=vsrp_people_res_name&amp;trkInfo=VSRPsearchId%3A4700671392208272787%2CVSRPtargetId%3A8488638%2CVSRPcmpt%3Aprimary" target="_blank">Amy Brand&lt;/a> has repeatedly pointed out, &lt;a href="http://article-level-metrics.plos.org/files/2013/10/Brand.pptx" target="_blank">the best institutions simply don’t use metrics this way at all&lt;/a> (PowerPoint presentation). They know better.&lt;/span>
&lt;/p>
&lt;p dir="ltr">
&lt;span >But yes, it is still likely that some powerful people will come to lazy conclusions based on altmetrics. And following that, other lazy, unscrupulous and opportunistic people will attempt to game said metrics. We may even see an industry emerge to exploit this mess and provide the scholarly equivalent of &lt;a href="http://en.wikipedia.org/wiki/Search_engine_optimization" target="_blank">SEO&lt;/a>. Feh. Now I’m depressed and I need a drink.&lt;/span>
&lt;/p>
&lt;p dir="ltr">
&lt;span >So again, why is Crossref doing this? Though we have our doubts about how effective altmetrics will be in evaluating the quality of content, we do believe that they are a useful tool for understanding how scholarly content is used and interpreted. &lt;em>The most eloquent arguments against altmetrics for measuring quality, inadvertently make the case for altmetrics as a tool for monitoring attention.&lt;/em>&lt;/span>
&lt;/p>
&lt;p dir="ltr">
&lt;span >Critics of altmetrics point out that much of the attention that research receives outside of formal scholarly communications channels can be ascribed to:&lt;/span>
&lt;/p>
&lt;ul>
&lt;li>&lt;span >Puffery. Researchers and/or university/publisher “&lt;a href="http://www.dcscience.net/?p=6369" target="_blank">PR wonks&lt;/a>” over-promoting research results.&lt;/span>&lt;/li>
&lt;li>&lt;span >Innocent misinterpretation. A lay audience simply doesn’t understand the research results.&lt;/span>&lt;/li>
&lt;li>&lt;span >Deliberate misinterpretation. Ideologues misrepresent research results to support their agendas.&lt;/span>&lt;/li>
&lt;li>&lt;span >Salaciousness. The research appears to be about sex, drugs, crime, video games or other popular bogeymen.&lt;/span>&lt;/li>
&lt;li>&lt;span >Neurobollocks. &lt;a href="https://web.archive.org/web/20160405135736/http://www.wired.co.uk/news/archive/2012-11/08/neurobollocks" target="_blank">A category unto itself these days&lt;/a>.&lt;/span>&lt;/li>
&lt;/ul>
&lt;p dir="ltr">
&lt;span >In short, scholarly research might be misinterpreted. Shock horror. Ban all metrics. Whew. That won’t happen again.&lt;/span>
&lt;/p>
&lt;p dir="ltr">
&lt;span >Scholarly research has always been discussed outside of formal scholarly venues. Both by scholars themselves and by interested laity. Sometimes these discussions advance the scientific cause. Sometimes they undermine it. The University of Utah didn’t depend on widespread Internet access or social networks to promote &lt;a href="http://en.wikipedia.org/wiki/Cold_fusion" target="_blank">yet-to-be peer-reviewed claims about cold fusion&lt;/a>. That was just old-fashioned analogue puffery. And the Internet played no role in the Laetrile or&lt;a href="http://www.cancer.org/treatment/treatmentsandsideeffects/complementaryandalternativemedicine/pharmacologicalandbiologicaltreatment/dmso" target="_blank"> DMSO crazes of the 1980s&lt;/a>. You see, there were once these things called “&lt;a href="http://en.wikipedia.org/wiki/Newspaper" target="_blank">newspapers.&lt;/a>” And another thing called “&lt;a href="http://en.wikipedia.org/wiki/Television" target="_blank">television.&lt;/a>” And a sophisticated &lt;a href="http://www.urbandictionary.com/define.php?term=meatspace" target="_blank">meatspace&lt;/a>-based social network called a “&lt;a href="http://en.wikipedia.org/wiki/Town_square" target="_blank">town square&lt;/a>.”&lt;/span>
&lt;/p>
&lt;p dir="ltr">
&lt;span >But there are critical differences between then and now. As &lt;a href="https://obamawhitehouse.archives.gov/blog/2013/02/22/expanding-public-access-results-federally-funded-research" target="_blank">citizens get more access to the scholarly literature&lt;/a>, it is far more likely that research is going to be discussed outside of formal scholarly venues. Now we can build tools to help researchers track these discussions. Now researchers can, if they need to, engage in the conversations as well. One would think that conscientious researchers would see it as their responsibility to remain engaged, to know how their research is being used. And especially to know when it is being misused.&lt;/span>
&lt;/p>
&lt;p dir="ltr">
&lt;span >That isn’t to say that we expect researchers will welcome this task. We are no Pollyannas. Researchers are already famously overstretched. They &lt;a href="https://ddoi.org/10.1016/j.lisr.2009.02.002" target="_blank">barely have time to keep up with the formally published literature&lt;/a>. It seems cruel to expect them to keep up with the firehose of the Internet as well.&lt;/span>
&lt;/p>
&lt;p dir="ltr">
&lt;span >Which gets us back to the value of altmetrics tools. Our hope is that, as altmetrics tools evolve, they will provide publishers and researchers with an efficient mechanism for monitoring the use of their content in non-traditional venues. Just in the way that citations were used before they were distorted into proxies for credit and kudos.&lt;/span>
&lt;/p>
&lt;p dir="ltr">
&lt;span >We don’t think altmetrics are there yet. Partly because some parties are still tantalized by the prospect of usurping one metric for another. But mostly because the entire field is still nascent. People don’t yet know how the information can be combined and used effectively. So we still make naive assumptions such as “link=like” and “more=better.” Surely it will eventually occur to somebody that, instead, there may be a connection between &lt;a href="http://www.nytimes.com/2013/04/28/magazine/diederik-stapels-audacious-academic-fraud.html?_r=1&amp;" target="_blank">repeated headline-grabbing research and academic fraud&lt;/a>. A neuroscientist might be interested in a tool that alerts them if the MRI scans in their research paper are being misinterpreted on the web to promote neurobollocks. An immunologist may want to know if their research is being misused by the anti-vaccination movement. Perhaps the real value in gathering this data will be seen when somebody builds tools to help researchers DETECT puffery, social-citation cabals, and misinterpretation of research results?&lt;/span>
&lt;/p>
&lt;p dir="ltr">
&lt;span >But Crossref won’t be building those tools. What we might be able to do is help others overcome another hurdle that blocks the development of more sophisticated tools; getting hold of the needed data in the first place. This is why we are dabbling in altmetrics.&lt;/span>
&lt;/p>
&lt;p dir="ltr">
&lt;span >Wikipedia is already the 8th largest referrer of Crossref DOIs. Note that this doesn’t just mean that the Wikipedia cites lots of Crossref DOIs, it means that people actually click on and follow those DOIs to the scholarly literature. As scholarly communication transcends traditional outlets and as the audience for scholarly research broadens, we think that it will be more important for publishers and researcher to be aware of how their research is being discussed and used. They may even need to engage more with non-scholarly audiences. In order to do this, they need to be aware of the conversations. Crossref is providing this experimental data source in the hope that we can spur the development of more sophisticated tools for detecting and analyzing these conversations. Thankfully, this is an inexpensive experiment to conduct - largely thanks to the decision on the part of PLOS to open source its ALM code.&lt;/span>
&lt;/p>
&lt;h2 id="what-now">What Now?&lt;/h2>
&lt;p dir="ltr">
Crossref’s instance of PLOS’s ALM code is an experiment. We mentioned that we had encountered scalability problems and that we had resolved some of them. But there are still big scalability issues to address. For example, assuming a response time of 1 second, if we wanted to poll the English-language version of the Wikipedia to see what had cited each of the 65 million DOIs held in Crossref, the process would take years to complete. But this is how the system is designed to work at the moment.&lt;span > It polls various source APIs to see if a particular DOI is “mentioned”. Parallelizing the queries might reduce the amount of time it takes to poll the Wikipedia, but it doesn’t reduce the work. Another obvious way in which we could improve the scalability of the system is to add a push mechanism to supplement the pull mechanism. Instead of going out and polling the Wikipedia 65 million times, we could establish a &amp;#8220;scholarly &lt;a href="http://en.wikipedia.org/wiki/Linkback" target="_blank">linkback&lt;/a>” mechanism that would allow third parties to alert us when DOIs and other scholarly identifiers are referenced (e.g. cited, bookmarked, shared). If the Wikipedia used this, then even in an extreme case scenario (i.e. everything in Wikipedia cites at least one Crossref DOI), this would mean that we would only need to process ~ 4 million trackbacks.&lt;/span>
&lt;/p>
&lt;p dir="ltr">
&lt;span >The other significant advantage of adding a push API is that it would take the burden off of Crossref to know what sources we want to poll. At the moment, if a new source comes online, we’d need to know about it and build a custom plugin to poll their data. This needlessly disadvantages new tools and services as it means that their data will not be gathered until they are big enough for us to pay attention to. If the service in question addresses a niche of the scholarly ecosystem, they may never become big enough. But if we allow sources to push data to us using a common infrastructure, then new sources do not need to wait for us to take notice before they can participate in the system.&lt;/span>
&lt;/p>
&lt;p dir="ltr">
&lt;span >Supporting (potentially) many new sources will raise another technical issue- tracking and maintaining the provenance of the data that we gather. The current ALM system does a pretty good job of keeping data, but if we ever want third parties to be able to rely on the system, we probably need to extend the provenance information so that the data is cheaply and easily auditable.&lt;/span>
&lt;/p>
&lt;p dir="ltr">
&lt;span >Perhaps the most important thing we want to learn from running this experimental ALM instance is: what it would take to run the system as a production service? What technical resources would it require? How could they be supported? And from this we hope to gain enough information to decide whether the service is worth running and, if so, by whom. Crossref is just one of several organisations that could run such a service, but it is not clear if it would be the best one. We hope that as we work with PLOS, our members and the rest of the scholarly community, we’ll get a better idea of how such a service should be governed and sustained.&lt;/span>
&lt;/p>
&lt;h2 id="details">&lt;span >Details for Propellerheads&lt;/span>&lt;/h2>
&lt;h3 dir="ltr">
&lt;span >Warning, Caveats and Weasel Words&lt;/span>
&lt;/h3>
&lt;p dir="ltr">
&lt;span >The Crossref ALM instance is a &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/labs/" target="_blank">Crossref Labs&lt;/a> project. It is running on R&amp;D equipment in a non-production environment administered by an orangutang on a diet of Redbulls and vodka.&lt;/span>
&lt;/p>
&lt;h3 dir="ltr">
&lt;span >So what is working?&lt;/span>
&lt;/h3>
&lt;p dir="ltr">
&lt;span >The system has been initially loaded with 317,500+  Crossref DOIs representing publications from 2014. We will load more DOIs in reverse chronological order until we get bored or until the system falls over again.&lt;/span>
&lt;/p>
&lt;p dir="ltr">
&lt;span >We have activated the following sources:&lt;/span>
&lt;/p>
&lt;li dir="ltr">
&lt;span >PubMed&lt;/span>
&lt;/li>
&lt;li dir="ltr">
&lt;span >DataCite&lt;/span>
&lt;/li>
&lt;li dir="ltr">
&lt;span >PubMedCentral Europe Citations and Usage&lt;/span>
&lt;/li>
&lt;p dir="ltr">
&lt;span >We have data from the following sources but will need some work to achieve stability:&lt;/span>
&lt;/p>
&lt;li dir="ltr">
&lt;span >Facebook&lt;/span>
&lt;/li>
&lt;li dir="ltr">
&lt;span >Wikipedia&lt;/span>
&lt;/li>
&lt;li dir="ltr">
&lt;span >CiteULike&lt;/span>
&lt;/li>
&lt;li dir="ltr">
&lt;span >Twitter&lt;/span>
&lt;/li>
&lt;li dir="ltr">
&lt;span >Reddit&lt;/span>
&lt;/li>
&lt;p dir="ltr">
&lt;span >Some of them are faster than others. Some are more temperamental than others. WordPress, for example, seems to go into a sulk and shut itself off  after approximately 1,300 API calls.&lt;/span>
&lt;/p>
&lt;p dir="ltr">
&lt;span >In any case, we will be monitoring and tweaking the sources as we gather data. We will also add new sources as we get requested API keys. We will probably even create one or two new sources ourselves. Watch this blog and we’ll update you as we add/tweak sources.&lt;/span>
&lt;/p>
&lt;h3 dir="ltr">
&lt;span >Dammit, shut up already and tell me how to query stuff.&lt;/span>
&lt;/h3>
&lt;p dir="ltr">
&lt;span >You can &lt;a href="#" target="_blank">login to the Crossref ALM instance&lt;/a> simply using a &lt;a href="" target="_blank">Mozilla Persona&lt;/a> (yes, we’d eventually like to support ORCID too). Once logged-in, &lt;a href="" target="_blank">your account page&lt;/a> will list an API key. Using the API key, you can do things like:&lt;/span>
&lt;/p>
&lt;pre tabindex="0">&lt;code>http://det.labs.crossref.org.turing.library.northwestern.edu/api/v5/articles?ids=10.1038/nature12990
&lt;/code>&lt;/pre>&lt;p>&lt;span >And you will see that (as of this writing), said Nature article has been cited by the Wikipedia article here:&lt;/span>&lt;/p>
&lt;p>&lt;span >&lt;code>&lt;a href="http://en.wikipedia.org/wiki/HE0107-5240">&lt;a href="https://en.wikipedia.org/wiki/HE0107-5240#cite_ref-Keller2014_4-0;" target="_blank">https://en.wikipedia.org/wiki/HE0107-5240#cite_ref-Keller2014_4-0;&lt;/a>&lt;/code>&lt;/span>&lt;/p>
&lt;p dir="ltr">
&lt;span >PLOS has provided &lt;a href="#" target="_blank"> lovely detailed instructions for using the API&lt;/a>- &lt;span >So, please, play with the API and see what you make of it. On our side we will be looking at how we can improve performance and expand coverage. We don’t promise much- the logistics here are formidable. As we said above, once you start working with millions of documents, the polling process starts to hit API walls quickly. But that is all part of the experiment. We appreciate your helping us and would like your feedback. We can be contacted at:&lt;/span>&lt;/span>
&lt;/p>
&lt;p>&lt;a href="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/labs_email.png">&lt;img class="alignnone size-full wp-image-261" src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/labs_email.png" alt="labs_email" width="233" height="42" />&lt;/a>&lt;/p></description></item><item><title>Easily add publications to your ORCID profile</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/easily-add-publications-to-your-orcid-profile/</link><pubDate>Thu, 24 Jan 2013 00:00:00 +0000</pubDate><author>Geoffrey Bilder</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/easily-add-publications-to-your-orcid-profile/</guid><description>&lt;p>&lt;span >You can now easily search for publications and add them to your &lt;a href="http://www.orcid.org" target="_blank">ORCID&lt;/a> profile in the new beta of &lt;a href="https://web.archive.org/web/20131229210637/http://search.crossref.org.turing.library.northwestern.edu/" target="_blank">Crossref Metadata Search&lt;/a> (CRMDS). The user interface is pretty self-explanatory, but if you want to read about it before trying it, here is a summary of how it works.&lt;/span>&lt;/p>
&lt;p>&lt;span >When you go to to CRMDS, you will see that there is now a small ORCID sign-in button on the top right-hand side of the screen.&lt;/span>&lt;figure id="attachment_244" class="wp-caption aligncenter">&lt;/p>
&lt;p>&lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/easily-add-publications-to-your-orcid-profile/" target="_blank" rel="attachment wp-att-244">&lt;img class="size-medium wp-image-244 " src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/crmds_home-300x253.png" alt="crmds_home" width="300" height="253" srcset="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/crmds_home-300x253.png 300w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/crmds_home-624x527.png 624w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/crmds_home.png 859w" sizes="(max-width: 300px) 85vw, 300px" />&lt;/a>&lt;figcaption class="wp-caption-text">click on thumbnail to see larger image&lt;/figcaption>&lt;/figure>&lt;/p>
&lt;p>&lt;span >Clicking on this button allows you to connect CRMDS to your ORCID profile and authorises CRMDS to add publications to your profile. First, if you are not already logged into ORCID, CRMDS will ask ORCID to log you in:&lt;/span>&lt;figure id="attachment_245" class="wp-caption aligncenter">&lt;/p>
&lt;p>&lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/easily-add-publications-to-your-orcid-profile/" rel="attachment wp-att-245">&lt;img class="size-medium wp-image-245 " src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/orcid_login_prompt-300x230.png" alt="orcid_login_prompt" width="300" height="230" srcset="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/orcid_login_prompt-300x230.png 300w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/orcid_login_prompt-624x479.png 624w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/orcid_login_prompt.png 915w" sizes="(max-width: 300px) 85vw, 300px" />&lt;/a>&lt;figcaption class="wp-caption-text">click on thumbnail to see larger image&lt;/figcaption>&lt;/figure>&lt;/p>
&lt;p>&lt;span >Once you have logged in, ORCID will ask you if you want to allow CRMDS to be able to view and update your ORCID profile:&lt;/span>&lt;figure id="attachment_248" class="wp-caption aligncenter">&lt;/p>
&lt;p>&lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/easily-add-publications-to-your-orcid-profile/" target="_blank" rel="attachment wp-att-248">&lt;img class="size-medium wp-image-248 " src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/orcid_authorize-300x230.png" alt="orcid_authorize" width="300" height="230" srcset="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/orcid_authorize-300x230.png 300w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/orcid_authorize-624x480.png 624w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/orcid_authorize.png 925w" sizes="(max-width: 300px) 85vw, 300px" />&lt;/a>&lt;figcaption class="wp-caption-text">click on thumbnail to see larger image&lt;/figcaption>&lt;/figure>&lt;/p>
&lt;p>&lt;span >After you authorise CRMDS to access your profile, you will be returned to the CRMDS screen and the top right corner of the CRMDS page will indicate that you have connected to your ORCID profile (note, you can always de-authorise CRMDS from accessing your ORCID profile in your ORCID settings):&lt;/span>&lt;figure id="attachment_249" class="wp-caption aligncenter">&lt;/p>
&lt;p>&lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/easily-add-publications-to-your-orcid-profile/" target="_blank" rel="attachment wp-att-249">&lt;img class="size-medium wp-image-249 " src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/orcid_logged_in-300x231.png" alt="orcid_logged_in" width="300" height="231" srcset="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/orcid_logged_in-300x231.png 300w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/orcid_logged_in-624x481.png 624w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/orcid_logged_in.png 915w" sizes="(max-width: 300px) 85vw, 300px" />&lt;/a>&lt;figcaption class="wp-caption-text">click on thumbnail to see larger image&lt;/figcaption>&lt;/figure>&lt;/p>
&lt;p>&lt;span >Once you are logged in, you can enter search terms that are likely to return records of your publications:&lt;/span>&lt;figure id="attachment_250" class="wp-caption aligncenter">&lt;/p>
&lt;p>&lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/easily-add-publications-to-your-orcid-profile/" target="_blank" rel="attachment wp-att-250">&lt;img class="size-medium wp-image-250 " src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/crmds_search_terms-300x231.png" alt="crmds_search_terms" width="300" height="231" srcset="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/crmds_search_terms-300x231.png 300w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/crmds_search_terms-624x481.png 624w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/crmds_search_terms.png 915w" sizes="(max-width: 300px) 85vw, 300px" />&lt;/a>&lt;figcaption class="wp-caption-text">click on thumbnail to see larger image&lt;/figcaption>&lt;/figure>&lt;/p>
&lt;p>&lt;span >Each search result will show an icon telling you whether that particular item is visible in your ORCID profile. If the item is not in your ORCID profile, you see an icon like this:&lt;/span>&lt;/p>
&lt;p >
&lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/easily-add-publications-to-your-orcid-profile/" rel="attachment wp-att-251">&lt;img class="size-full wp-image-251 aligncenter" src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/add_to_orcid_button.png" alt="add_to_orcid_button" width="113" height="30" />&lt;/a>
&lt;/p>
&lt;p>&lt;span >And if the item is already in your ORCID profile, you will see an icon like this:&lt;/span>&lt;/p>
&lt;p >
&lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/easily-add-publications-to-your-orcid-profile/" rel="attachment wp-att-252">&lt;img class="size-full wp-image-252 aligncenter" src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/in_your_profile.png" alt="in_your_profile" width="133" height="27" />&lt;/a>&lt;span >In the following search results you can see that 1 item is already in Josiah Carberry’s profile, and 2 items are not:&lt;/span>
&lt;/p>&lt;figure id="attachment_254" class="wp-caption aligncenter">
&lt;p>&lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/easily-add-publications-to-your-orcid-profile/" target="_blank" rel="attachment wp-att-254">&lt;img class=" wp-image-254 " src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/crmds_search_results.png" alt="crmds_search_results" width="329" height="254" srcset="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/crmds_search_results.png 915w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/crmds_search_results-300x231.png 300w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/crmds_search_results-624x481.png 624w" sizes="(max-width: 329px) 85vw, 329px" />&lt;/a>&lt;figcaption class="wp-caption-text">click on thumbnail to see larger image&lt;/figcaption>&lt;/figure>&lt;/p>
&lt;p>&lt;span >Clicking on the “Add to Profile” button will confirm that you want to add the specified publication to your ORCID profile:&lt;/span>&lt;figure id="attachment_255" class="wp-caption aligncenter">&lt;/p>
&lt;p>&lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/easily-add-publications-to-your-orcid-profile/" rel="attachment wp-att-255">&lt;img class=" wp-image-255 " src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/crmds_add_work.png" alt="crmds_add_work" width="329" height="254" srcset="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/crmds_add_work.png 915w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/crmds_add_work-300x231.png 300w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/crmds_add_work-624x481.png 624w" sizes="(max-width: 329px) 85vw, 329px" />&lt;/a>&lt;figcaption class="wp-caption-text">click on thumbnail to see larger image&lt;/figcaption>&lt;/figure>&lt;/p>
&lt;p >
&lt;span >After clicking on &amp;#8220;Yes&amp;#8221; to add the publication to your profile, the search results will refresh to reflect that the item has been added.&lt;/span>
&lt;/p>&lt;figure id="attachment_257" class="wp-caption aligncenter">
&lt;p>&lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/easily-add-publications-to-your-orcid-profile/" target="_blank" rel="attachment wp-att-257">&lt;img class=" wp-image-257 " src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/crmds_work_added.png" alt="crmds_work_added" width="329" height="254" srcset="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/crmds_work_added.png 915w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/crmds_work_added-300x231.png 300w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/crmds_work_added-624x481.png 624w" sizes="(max-width: 329px) 85vw, 329px" />&lt;/a>&lt;figcaption class="wp-caption-text">click on thumbnail to see larger image&lt;/figcaption>&lt;/figure>&lt;/p>
&lt;p >
&lt;span >You can then just continue searching for and adding any publications that are not in your ORCID profile.&lt;/span>
&lt;/p>
&lt;p >
&lt;span >Note that, occasionally, you may see an orange icon that says that an item is &amp;#8220;Not Visible&amp;#8221;&lt;/span>
&lt;/p>&lt;figure id="attachment_258" class="wp-caption aligncenter">
&lt;p>&lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/easily-add-publications-to-your-orcid-profile/" target="_blank" rel="attachment wp-att-258">&lt;img class="wp-image-258 " src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/not_visible.png" alt="not_visible" width="329" height="254" srcset="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/not_visible.png 915w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/not_visible-300x231.png 300w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/not_visible-624x481.png 624w" sizes="(max-width: 329px) 85vw, 329px" />&lt;/a>&lt;figcaption class="wp-caption-text">click on thumbnail to see larger image&lt;/figcaption>&lt;/figure>&lt;/p>
&lt;p >
&lt;span >This only occurs when you have previously added an item to your profile using CRMDS and then either:&lt;/span>
&lt;/p>
&lt;ol>
&lt;li>&lt;span >Set the ORCID privacy for that particular work item to “Private” in your ORCID profile.&lt;/span>&lt;/li>
&lt;li>&lt;span >Deleted the work from your ORCID profile.&lt;/span>&lt;/li>
&lt;/ol>
&lt;p>&lt;span >Unfortunately, CRMDS has no way to determine which of these two events occurred  However, If you click on the “Not Visible” icon, you will be prompted with two ways to resolve this issue. Either you can:&lt;/span>&lt;/p>
&lt;ol>
&lt;li>&lt;span >Reset the privacy settings on the specified work to “Public” or “Limited”&lt;/span>&lt;/li>
&lt;li>&lt;span >Confirm to CRMDS that you have deleted the item from your profile.&lt;/span>&lt;figure id="attachment_259" class="wp-caption aligncenter">&lt;/li>
&lt;/ol>
&lt;p>&lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/easily-add-publications-to-your-orcid-profile/" target="_blank" rel="attachment wp-att-259">&lt;img class=" wp-image-259 " src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/not_visible_prompt.png" alt="not_visible_prompt" width="329" height="254" srcset="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/not_visible_prompt.png 915w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/not_visible_prompt-300x231.png 300w, https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/not_visible_prompt-624x481.png 624w" sizes="(max-width: 329px) 85vw, 329px" />&lt;/a>&lt;figcaption class="wp-caption-text">click on thumbnail to see larger image&lt;/figcaption>&lt;/figure>&lt;/p>
&lt;p >
&lt;span >If the issue was your privacy settings, then once you have changed the privacy settings to public/limited you can simply click on the &amp;#8220;Refresh&amp;#8221; button and CRMDS will reflect the correct status of the work.&lt;/span>
&lt;/p>
&lt;p >
&lt;span >The best way to avoid this kind of confusion is to go to your ORCID settings and set the default privacy level for &amp;#8220;works&amp;#8221; to either &amp;#8220;limited&amp;#8221; or &amp;#8220;public.&amp;#8221;&lt;/span>
&lt;/p>
&lt;p >
&lt;span >Crossref Metadata Search is still a &amp;#8220;&lt;a title="Crossref Labs" href="https://www-crossref-org.turing.library.northwestern.edu/labs/" target="_blank">Crossref Labs&lt;/a>&amp;#8221; project and, as such, we are very interested to hear feedback on this new ORCID functionality for CRMDS. Please send comments, etc. to:&lt;/span>
&lt;/p>
&lt;p >
&lt;span >&lt;a href="https://www-crossref-org.turing.library.northwestern.edu/blog/easily-add-publications-to-your-orcid-profile/" rel="attachment wp-att-261">&lt;img class="alignnone size-full wp-image-261" src="https://www-crossref-org.turing.library.northwestern.edu/wp/blog/uploads/2013/01/labs_email.png" alt="labs_email" width="233" height="42" />&lt;/a>&lt;/span>
&lt;/p></description></item><item><title>Crossref Metadata Search++</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/crossref-metadata-search-plus-plus/</link><pubDate>Thu, 11 Oct 2012 00:00:00 +0000</pubDate><author>Geoffrey Bilder</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/crossref-metadata-search-plus-plus/</guid><description>&lt;p>We have just released a bunch of new functionality for &lt;a href="https://web.archive.org/web/20131229210637/http://search.crossref.org.turing.library.northwestern.edu//" target="_blank">Crossref Metadata Search&lt;/a>. The tool now supports the following features:&lt;/p>
&lt;ul class="disc" >
&lt;li>
A completely new UI
&lt;/li>
&lt;li>
&lt;a href="http://en.wikipedia.org/wiki/Faceted_search" rel="external" target="_blank" >Faceted&lt;/a>&lt;span class="Apple-converted-space">&amp;nbsp;&lt;/span>searches
&lt;/li>
&lt;li>
Copying of search results as formatted citations using&lt;span class="Apple-converted-space">&amp;nbsp;&lt;/span>&lt;a href="http://en.wikipedia.org/wiki/Citation_Style_Language" rel="external" target="_blank" >CSL&lt;/a>
&lt;/li>
&lt;li>
&lt;a href="http://en.wikipedia.org/wiki/COinS" rel="external" target="_blank" >COinS&lt;/a>, so that you can easily import results into Zotero and other document management tools
&lt;/li>
&lt;li>
&lt;a href="http://web.archive.org/web/20121014215757/http://search.labs.crossref.org.turing.library.northwestern.edu/help/api" rel="external" target="_blank" >An API&lt;/a>, so that you can integrate Crossref Metadata Search into your own applications, plugins, etc.
&lt;/li>
&lt;li>
Basic&lt;span class="Apple-converted-space">&amp;nbsp;&lt;/span>&lt;a href="http://en.wikipedia.org/wiki/OpenSearch" rel="external" target="_blank" >OpenSearch&lt;/a>&lt;span class="Apple-converted-space">&amp;nbsp;&lt;/span>support- so that you can integrate Crossref Metadata Search into your browser’s search bar.
&lt;/li>
&lt;li>
Searching for a particular Crossref DOI
&lt;/li>
&lt;li>
Searching for a particular Crossref&lt;span class="Apple-converted-space">&amp;nbsp;&lt;/span>&lt;a href="http://shortdoi.org/" rel="external" target="_blank" >ShortDOI&lt;/a>
&lt;/li>
&lt;li>
Searching for articles in a particular journal via the journal’s ISSN
&lt;/li>
&lt;/ul>
&lt;p>At the moment, Crossref Metadata Search (CRMDS) is a &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/labs/" target="_blank">Crossref Labs project&lt;/a> and, as such, should be used with some trepidation. Our goal is to release CRMS as a production service ASAP, but we wanted to get public feedback on the service before making the move to a production system.&lt;/p></description></item><item><title>PatentCite</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/patentcite/</link><pubDate>Mon, 13 Aug 2012 00:00:00 +0000</pubDate><author>Geoffrey Bilder</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/patentcite/</guid><description>&lt;p>If you’ve ever thought that scholarly citation practice was antediluvian and perverse- you should check-out patents some day.&lt;/p>
&lt;p>Over the past year of so Crossref has been working with &lt;a href="https://web.archive.org/web/20201202050237/http://www.cambia.org/" target="_blank">Cambia&lt;/a> and the &lt;a href="http://beta.lens.org/lens/" target="_blank">The Lens&lt;/a> to explore how we can better link scholarly literature to and from the patent literature. The first object of our collaboration was to attempt to link patents hosted on the new, beta version of The Lens to the Scholarly literature. To do this, Crossref and Cambia been enhancing Crossref’s citation matching mechanisms in order to better resolve the wide variety of eclectic and terse patent citation styles to Crossref DOIs.&lt;/p>
&lt;p>You can see the results of these ongoing attempts on the The Lens beta site where all of The Len’s &lt;strike>8 million+&lt;/strike> 80 million+ patents and applications (obtained through subscriptions with &lt;a href="http://www.wipo.int/" target="_blank">WIPO&lt;/a>, &lt;a href="http://www.uspto.gov/" target="_blank">USPTO&lt;/a>, &lt;a href="http://www.epo.org/" target="_blank">EPO&lt;/a> and &lt;a href="mailto:http://www.ipaustralia.gov.au/">IP Australia&lt;/a>) are starting to be linked directly to the scholarly literature. See, for example:&lt;/p>
&lt;p>&lt;code>http://beta.lens.org/lens/patent/US\_RE42150\_E1/citations&lt;/code>&lt;br>
[&lt;em>Editor&amp;rsquo;s update: Link is broken. Removed January 2021&lt;/em>]&lt;/p>
&lt;p>Crossref has taken this matched data and has now released a &lt;a href="https://web.archive.org/web/20121023015419/http://patents.labs.crossref.org.turing.library.northwestern.edu/" target="_blank">Crossref Labs *experimental* service , called PatentCite&lt;/a>, that allows you to take any Crossref DOI and see what Patents in the The Lens system cite it.&lt;/p>
&lt;p>As with all Crossref Labs services- this one is likely to be:&lt;/p>
&lt;p>a) As stable as the global economy&lt;/p>
&lt;p>c) As reliable as a UK train&lt;/p>
&lt;p>ii) Out-of-date. It is based on a snapshot of Crossref /Lens data.&lt;/p>
&lt;ol>
&lt;li>As accurate as my list ordering&lt;/li>
&lt;/ol>
&lt;p>Howzat for an SLA?&lt;/p>
&lt;p>As we get feedback from Crossref’s membership and as we gain more experience linking Patents to and from the scholarly literature, we will explore including this functionality in our production Cited-by service. But until then- please send us your feedback on this experimental service.&lt;/p></description></item><item><title>PDF-Extract</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/pdf-extract/</link><pubDate>Tue, 17 Apr 2012 00:00:00 +0000</pubDate><author>Geoffrey Bilder</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/pdf-extract/</guid><description>&lt;h1 id="pdf-extract">PDF-EXTRACT&lt;/h1>
&lt;p>&lt;a href="https://www-crossref-org.turing.library.northwestern.edu/labs/" target="_blank">Crossref Labs&lt;/a> is happy to announce the first public release of “&lt;a href="https://www-crossref-org.turing.library.northwestern.edu/labs/pdfextract/" target="_blank">pdf-extract&lt;/a>” an open source set of tools and libraries for extracting citation references (and, eventually, other semantic metadata) from PDFs. We first demonstrated this tool to Crossref members at our annual meeting last year. See the &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/labs/pdfextract/" target="_blank">pdf-extract labs page&lt;/a> for a detailed introduction to this new set of tools.&lt;/p>
&lt;p>If you are unable to download and install the tool, &lt;a href="https://www-crossref-org.turing.library.northwestern.edu/labs/pdfextract/" target="_blank">you can play with a experimental web interface called “Extracto.”&lt;/a> Be warned, &lt;strong>Extracto is running on very feeble server using an erratic and slow internet connection&lt;/strong>. The only guarantee that we can make about using it is that &lt;strong>it will repeatedly fall over and annoy you.&lt;/strong> &lt;em>The weasel has spoken.&lt;/em>&lt;/p></description></item><item><title>Turning DOIs into formatted citations</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/turning-dois-into-formatted-citations/</link><pubDate>Mon, 28 Nov 2011 00:00:00 +0000</pubDate><author>Karl Ward</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/turning-dois-into-formatted-citations/</guid><description>&lt;p>&lt;span >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 &lt;a href="http://citationstyles.org/">citation style language&lt;/a> processor, &lt;a href="https://web.archive.org/web/20120113111420/https://bitbucket.org/fbennett/citeproc-js/wiki/Home">citeproc-js&lt;/a> which supports a shed load of citation styles and locales. &lt;/span>&lt;/p>
&lt;p>&lt;span >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 &lt;a href="https://web.archive.org/web/20120201085933/http://citation.crrd.dyndns.org/">&lt;strong>a simple web UI&lt;/strong>&lt;/a> 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:&lt;/span> &lt;tt>$ curl -LH &amp;ldquo;Accept: text/bibliography; style=bibtex&amp;rdquo; &lt;a href="https://doi-org.turing.library.northwestern.edu/10.1038/nrd842" target="_blank">https://doi-org.turing.library.northwestern.edu/10.1038/nrd842&lt;/a> @article{Atkins_Gershell_2002, title={From the analyst&amp;rsquo;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}}&lt;/tt> A locale can be specified with the “locale” record type parameter, like this: &lt;tt>$ curl -LH &amp;ldquo;Accept: text/bibliography; style=mla; locale=fr-FR&amp;rdquo; &lt;a href="https://doi-org.turing.library.northwestern.edu/10.1038/nrd842" target="_blank">https://doi-org.turing.library.northwestern.edu/10.1038/nrd842&lt;/a> Atkins, Joshua H., et Leland J. Gershell. « From the analyst&amp;rsquo;s couch: Selective anticancer drugs ». Nature Reviews Drug Discovery 1.7 (2002): 491-492.&lt;/tt> &lt;span >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:&lt;/span> &lt;tt>$ curl -LH &amp;ldquo;Accept: application/citeproc+json&amp;rdquo; &lt;a href="https://doi-org.turing.library.northwestern.edu/10.1038/nrd842" target="_blank">https://doi-org.turing.library.northwestern.edu/10.1038/nrd842&lt;/a> {&amp;ldquo;volume&amp;rdquo;:&amp;ldquo;1&amp;rdquo;,&amp;ldquo;issue&amp;rdquo;:&amp;ldquo;7&amp;rdquo;,&amp;ldquo;DOI&amp;rdquo;:&amp;ldquo;10.1038/nrd842&amp;rdquo;,&amp;ldquo;title&amp;rdquo;:&amp;ldquo;From the analyst&amp;rsquo;s couch: Selective anticancer drugs&amp;rdquo;,&amp;ldquo;container-title&amp;rdquo;:&amp;ldquo;Nature Reviews Drug Discovery&amp;rdquo;,&amp;ldquo;issued&amp;rdquo;:{&amp;ldquo;date-parts&amp;rdquo;:[[2002,7]]},&amp;ldquo;author&amp;rdquo;:[{&amp;ldquo;family&amp;rdquo;:&amp;ldquo;Atkins&amp;rdquo;,&amp;ldquo;given&amp;rdquo;:&amp;ldquo;Joshua H.&amp;rdquo;},{&amp;ldquo;family&amp;rdquo;:&amp;ldquo;Gershell&amp;rdquo;,&amp;ldquo;given&amp;rdquo;:&amp;ldquo;Leland J.&amp;rdquo;}],&amp;ldquo;page&amp;rdquo;:&amp;ldquo;491-492&amp;rdquo;,&amp;ldquo;type&amp;rdquo;:&amp;ldquo;article-journal&amp;rdquo;}&lt;/tt> &lt;span >Finally, to retrieve lists of supported styles and locales, see:&lt;/span>&lt;/p>
&lt;p>&lt;span >* &lt;a href="https://crosscite.org">&lt;a href="https://crosscite.org" target="_blank">https://crosscite.org&lt;/a>&lt;/a>&lt;/span>&lt;/p>
&lt;p>&lt;span >&lt;a href="https://github.com/citation-style-language/styles">style&lt;/a> and &lt;a href="https://github.com/citation-style-language/locales">locale&lt;/a> repositories. There’s one big caveat to all this. The CSL processor will do its best with Crossref metadata which can unfortunately be quite patchy at times. There may be pieces of metadata missing, inaccurate metadata or even metadata items stored under the wrong field, all resulting in odd-looking formatted citations. Most of the time, though, it works.&lt;/span>&lt;/p></description></item><item><title>Add linked images to PDFs</title><link>https://www-crossref-org.turing.library.northwestern.edu/blog/add-linked-images-to-pdfs/</link><pubDate>Mon, 16 Aug 2010 00:00:00 +0000</pubDate><author>Geoffrey Bilder</author><guid>https://www-crossref-org.turing.library.northwestern.edu/blog/add-linked-images-to-pdfs/</guid><description>&lt;p>While working on an internal project, we developed “&lt;a href="https://www-crossref-org.turing.library.northwestern.edu/labs/pdfstamp/" target="_blank">pdfstamp&lt;/a>“, a command-line tool that allows one to easily apply linked images to PDFs. We thought some in our community might find it useful and have &lt;a href="http://github.com/Crossref/pdfstamp" target="_blank">released it on github.&lt;/a> Some more PDF-related tools will follow soon.&lt;/p></description></item></channel></rss>