knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
library(dataset)
bibrecord
The base R function utils::bibentry()
provides a way to structure citation metadata. While effective for simple references, it falls short for modern metadata standards like:
Dublin Core Terms (DCTERMS)
DataCite
Both require clear distinction between creators, contributors, and richly typed relationships — things bibentry()
doesn't natively support.
To bridge this gap while preserving compatibility with base R, the bibrecord
class builds on top of bibentry
, adding support for:
Multiple person()
entries for contributors
Metadata fields aligned with DCTERMS and DataCite
Safe serialization and printing
bibrecord
A bibrecord
is a standard bibentry
object with additional fields stored in attributes. This means:
You can use it with any code expecting a bibentry
You gain structured metadata fields like contributor
, subject
, identifier
Methods like print()
are extended to reflect these enrichments
bibrecord
person_jane <- person("Jane", "Doe", role = "cre") person_alice <- person("Alice", "Smith", role = "dtm") rec <- bibrecord( title = "GDP of Small States", author = list(person_jane), contributor = list(person_alice), publisher = "Tinystat", identifier = "doi:10.1234/example", date = "2023-05-01", subject = "Economic indicators" )
bibrecord
print(rec)
This prints both the base citation and the contributors, clearly labelled.
Because bibrecord
inherits from bibentry
:
It works with citation()
and other base R citation tools
It integrates with existing bibliographic pipelines
You can convert it to as_dublincore()
or as_datacite()
without loss of structure
The bibrecord
class can be further enriched by:
Adding support for funder
, geolocation
, relatedIdentifier
, etc.
Exporting to JSON-LD or RDF formats
Integrating with Zenodo, Crossref, or Wikidata APIs
| Feature | bibentry
| bibrecord
|
|----------------|------------|-------------|
| Base R support | ✅ | ✅ |
| Contributors | ❌ | ✅ |
| Semantic roles | ❌ | ✅ |
| DCTERMS export | ❌ | ✅ |
| DataCite-ready | ❌ | ✅ |
bibrecord
is your drop-in upgrade for structured metadata in R.
Start simple. Stay compatible. Go semantic.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.