Schema 4.5 Publisher Changes
Schema 4.5 added three new sub-properties to the Publisher property:
- publisherIdentifier
- publisherIdentifierScheme
- schemeUri
Adding publisher identifiers necessitated some changes to our APIs and services which accept and return JSON.
DataCite REST API
Creating and updating DOIs
The REST API has been modified to accept an object with these attributes when creating or updating a DOI:
"publisher":
{
"name": "DataCite",
"schemeUri": "https://ror.org",
"publisherIdentifier": "https://ror.org/04wxnsj81",
"publisherIdentifierScheme": "ROR",
"lang": "en"
}
To ensure this change is backward-compatible, the REST API continues to accept a single string value for publisher:
"publisher": "DataCite"
Repositories submitting JSON metadata via the REST API may use either the new structure or a string value—the REST API will accept either.
The XML structure is shown in the DataCite Metadata Schema documentation for the Publisher property.
Retrieving a single DOI or a list of DOIs
For metadata retrieval via the DataCite REST API /dois
endpoint, a URL parameter publisher
is required to include publisher identifiers in the response. For example:
https://api.datacite.org/dois/10.14454/g8e5-6293?publisher=true
https://api.datacite.org/dois?publisher=true
REST API responses without the publisher=true
parameter do not include publisher identifiers. For more information, see Can I see more detailed affiliation and publisher information in the REST API?
DataCite Content Negotiation and GraphQL API
The changes to DataCite Content Negotiation and the DataCite GraphQL API to support the new publisher attributes are not backward-compatible. Updates may be required to existing integrations. For assistance, please contact us at [email protected].
DataCite Content Negotiation
All DataCite Content Negotiation requests for the content types application/vnd.datacite.datacite+json
and application/vnd.datacite.datacite+xml
include publisher identifiers as of February 27, 2024. This includes:
- Content negotiation requests to
https://doi.org
- Link-based content-type requests to
https://data.crosscite.org
- Link-based content-type requests to the DataCite REST API using the syntax
https://api.datacite.org/application/vnd.datacite.datacite+json/{doi}
Consequently, content negotiation requests with content type application/vnd.datacite.datacite+json
return the publisher value as an object (see above) rather than a string as of February 27, 2024.
DataCite GraphQL API
The GraphQL type Work and its derivatives support publisher identifiers as of February 27, 2024. This includes:
- Audiovisual
- Book
- BookChapter
- Collection
- ConferencePaper
- DataManagementPlan
- DataPaper
- Dataset
- Dissertation
- Event
- Image
- Instrument
- InteractiveResource
- JournalArticle
- Model
- Other
- PeerReview
- PhysicalObject
- Preprint
- Publication
- Service
- Software
- Sound
- Workflow
Consequently, GraphQL queries containing publisher types will need to be modified to support the publisher object structure. For example, a query currently structured like this:
{
works(query: "climate change") {
nodes {
doi
publisher
}
}
}
Need to be changed to the following to query the same publisher metadata as of February 27, 2024:
{
works(query: "climate change") {
nodes {
doi
publisher {
name
}
}
}
}
Additionally, the JSON returned will reflect the queried publisher object structure.
Updated 9 months ago