Starting this week the Rogue Scholar science blog archive collects citations of its blog posts using invenio-pidbox, the Python module for the InvenioRDM repository platform that I launched earlier this month, and replacing the integration that used the Crossref cited-by service launched in August 2025.

The reasons for this change are threefold:

  • a simplified architecture that no longer needs a dedicated citations database table and service external to the InvenioRDM repository platform,
  • being able to track citations of blog posts registered with DataCite, and citations by DataCite DOIs,
  • by not using an external servive there are no API rate-limits to observe.

invenio-pidbox uses a sqlite database to store scholarly metadata and uses the commonmeta-py Python library and its Rust bindings to query sqlite and integrate with the InvenioRDM repository platform that Rogue Scholar uses. The initial invenio-pidbox versions used the ROR and ORCID regular data dumps (135,710 organizations and 25,048,058 people, respectively) to generate author and organization profiles. With this release I started to also store Crossref and DataCite metadata in sqlite. Initially only the metadata for the blog posts in Rogue Scholar, so only tracking citations by other blog posts archived in Rogue Scholar, but the architecture allows me to scale to all 180 million Crossref DOIs and 120 million DataCite DOIs in their annual data dumps, and the about 2.4 billion references they contain, all in all about 2 TB of data. This sounds like a lot of data, but sqlite can easily handle this, and this is much easier and cheaper than importing all the metadata into Postgres and Opensearch, the database and search index used by InvenioRDM.

invenio-pidbox comes with a celery background worker task to extracts all Rogue Scholar citations out of sqlite and stores them as InvenioRDM metadata so that they can be shown and queried in Rogue Scholar. Blog post citations can be much faster than citations by journal articles, e.g. five days after the publication of the InvenioRDM v14 announcement:

Citations counts in Rogue Scholar are displayed for blogs, other communities, authors and institutions:

Clicking on the citation count (here 58) opens a query for all cited blog posts. The DataCite blog is also an example for tracking citations of blog posts with DataCite DOIs, something that Rogue Scholar couldn't do until this week.

invenio-pidbox is an invenio module that should work with all InvenioRDM v14 instances, and besides Rogue Scholar they currently all use DataCite DOIs for their content, making this an attractive option for other InvenioRDM instances that have 2 TB disk space to spare – not S3 object storage as sqlite needs fast disk access.

Institution profiles are an interesting use case. Their main challenge is incomplete metadata, e.g only 137 of currently 683 posts in the Crossref blog have affiliation metadata. Affiliation metadata (using ROR) are more difficult than author metadata (using ORCID), as affiliations have a start and end date, and authors can have multiple affiliations in parallel.

But with 300 million DOIs for works from Crossref and DataCite stored in sqlite in commonmeta format it becomes much easier to extract that information at scale, not limited by API rate-limits or differences between Crossref and DataCite metadata.

Please reach out via SlackemailMastodon, or Bluesky if you have any questions or comments.

Rogue Scholar is a scholarly infrastructure that is free for all authors and readers. You can support Rogue Scholar with a one-time or recurring donation or by becoming a sponsor.

References

  1. Fenner, M. (2026, August 12). InvenioRDM v14.0 and invenio-pidbox module released. Front Matter. https://doi.org/10.53731/fqvcp-0bw56
  2. Fenner, M. (2025, August 4). Rogue Scholar citation tracking launches to production. Front Matter. https://doi.org/10.53731/zyg15-qv911
  3. Viger, G. (2026, August 7). InvenioRDM v14.0 released. Invenio. https://doi.org/10.63517/kshzw-ay335