PID Graph GraphQL Example Researcher Profile

User story

As a researcher, I want to get a list of all my research outputs (publications, datasets, software, etc.) supported by grant funding, and how often they are cited, to demonstrate the impact of my work.

Query strategy

We start with the ORCID ID of the researcher, and then find all DOIs from Crossref or DataCite that include this ORCID ID in the metadata. We filter the results to only include research outputs that include funding information. For the results we show the number of citations we found in Crossref or DataCite.

The results show only a small subset, as adoption of ORCID and Crossref Funder ID is still not comprehensive, and tracking of citations for research outputs that are not journal articles is still hard.

Why GraphQL

The query combines information about research outputs from two DOI registration agencies (Crossref and DataCite), and uses information from two more services (ORCID and Crossref Funder Registry), all in a single API call. Collecting the same information would be much more complicated using the REST APIs of these various services.

The query can be easily modified, e.g. showing all research outputs (not just those with funding), also showing views and downloads, showing the citing publications, or showing co-authors.
DataCite has built a Researcher Profile dashboard showing essentially the information from this example, go to https://doi.datacite.org/users/0000-0001-5934-7525/info.

Use the following query in the GraphQL client at https://api.datacite.org/graphql

{
  person(id: "https://orcid.org/0000-0001-5934-7525") {
    id
    name
    givenName
    familyName
    citationCount
    works(hasFunder: true) {
      totalCount
      years {
        title
        count
      }
      resourceTypes {
        title
        count
      }
      nodes {
        id
        type
        titles {
          title
        }
        rights {
          rights
        }
        citationCount
      }
    }
  }
}

Related GitHub issues from 2018 FREYA workshop:

This query gives you all the data needed to address the user story. I have tried other APIs, and I couldn’t find a way to reproduce a similar request. I think this query shows the potential of mixing three different services.

Thanks for this user story, Martin. I had a look at my own Researcher Profile dashboard.

The automated connection of my works via my ORCID is great. However, if a researcher sees a wrong publication in his Researcher Profile, how does he go about to let it be corrected?

The background of my question is that from pre-ORCID times, there is a DOI-ed conference paper abusing my name as co-author. ORCID recommends that ORCIDs for co-authors are verified by the researcher itself, which prevents such an abuse. However, it is still possible to provide my name with ORCID without asking me.

For my pre-ORCID case, I just don’t claim it from crossref for my record. With automated search+link of DOIs, I could set such a wrong publication invisible (private) in my ORCID profile (and notify the publisher).

I suggest to respect the privacy flag for works in ORCID profiles in the public Researcher Profile that DataCite provides, which is currently not the case.

1 Like

Martina,

you raise a very good point. Unfortunately there is a bit more complexity:

  • the researcher profile doesn’t yet support Search & Link, only Auto-Update with DataCite
  • Less than 50% of ORCID IDs in auto-update (from Crossref or DataCite DOI metadata) are claimed to ORCID records. While in rare cases there might be reasons similar to what you describe, my guess is that in the majority researchers are not willing to spend the extra effort giving Crossref or DataCite permissions.

Let’s think about a practical solution to properly support what you said here without overly burdening the researcher.