Adding the right publishers @id and name to JSON-LD output
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 1.1k
- Forks
- 564
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 29
Description
Datasetdescriptions, which are outputted as JSON-LD according to schema:Dataset currently have a publisher property of type schema:Organization and a schema:name. This can be traced back to the following code:
https://github.com/IQSS/dataverse/blob/bef00db2fdf34c5460286cd22e7ac82a43f228fa/src/main/java/edu/harvard/iq/dataverse/DatasetVersion.java#L2021-L2024
As an example from datasets on https://datasets.iisg.amsterdam/ you'd see
"publisher":{"@type":"Organization","name":"IISH Data Collection"}
In Linked Data, we like URI's, blank nodes are disliked.
The absence of an @id in the schema:publisher is strange, because schema:creator does have @id's in the GUI we see an identifier:
As the identifier (URI) is already available as data element within Dataverse, can this could be added to the publisher JSON-LD to become:
"publisher":{"@type":"Organization","@id": "https://datasets.iisg.amsterdam/dataverse/IISH","name":"IISH Data Collection"}
Although, are these Dataverse values really an schema:Organization? In this example the organization publishing the data via https://datasets.iisg.amsterdam/dataverse/IISH is the International Institute of Social History with URI http://www.iisg.amsterdam/.
I do see, this name and URI on https://datasets.iisg.amsterdam/dataverse/IISH so I'd imagine these values can be used in the publisher property to become:
"publisher":{"@type":"Organization","@id":"http://www.iisg.amsterdam/","name":"International Institute of Social History"}
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in src/main/java/edu/harvard/iq/dataverse/DatasetVersion.java around lines 2021-2024, then compare how schema:creator identifiers are produced. Clarify whether publisher should use the Dataverse URI or the organization URI and matching name; done means the JSON-LD publisher includes the agreed @id, @type, and name.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100