Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add RelatedIdentifier of Dataset to File Metadata sent to DataCite #4782

Closed
sekmiller opened this issue Jun 25, 2018 · 8 comments
Closed

Add RelatedIdentifier of Dataset to File Metadata sent to DataCite #4782

sekmiller opened this issue Jun 25, 2018 · 8 comments
Assignees

Comments

@sekmiller
Copy link
Contributor

The metadata sent to DataCite for files should include the Dataset identifier with a relationType of IsPartOf

<relatedIdentifiers> <relatedIdentifier relationType="IsPartOf" relatedIdentifierType="DOI">${datasetIdentifier}</relatedIdentifier> </relatedIdentifiers>

see file workingDataCiteMetadataTemplate.xml
It should be referenced in DOIDataCiteRegisterService.java

Also, should there be references to the file DOIs in the Dataset metadata passed?

@pdurbin
Copy link
Member

pdurbin commented Jun 28, 2018

I just made pull request #4795. Moving to code review at https://waffle.io/IQSS/dataverse

@sekmiller
Copy link
Contributor Author

sekmiller commented Jun 29, 2018

We shouldn't add an empty relatedIdentifier to Datasets:

Either we should:

  1. Blank it out

-or-
2) add file DOIs with a tag of something other than "isPartOf" (we'll have to research the DataCite metadata documentation for a proper tag.

screen shot 2018-06-29 at 4 23 58 pm

@pdurbin
Copy link
Member

pdurbin commented Jul 2, 2018

add file DOIs with a tag of something other than "isPartOf"

@sekmiller indicated that this is a suggestion from @scolapasta so I'm assigning this issue to him to make a decision or provide further guidance on the definition of done for this issue.

https://github.com/IQSS/dataverse/pull/4795/files#r199499888

We shouldn't add an empty relatedIdentifier to Datasets:

@sekmiller and I discussed this issue this morning and I voice general grumpiness with the brittleness of the code, how it does a "find and replace" of and how the template has been dumped into the main "dataverse" package rather than being placed in a subpackage ( https://github.com/IQSS/dataverse/pull/4795/files#r199499888 ). The quick fix would be to make a second version of the XML file we do the "find and replace" on and only have that file include the new IsPartOf concept. Unless, of course, the definition of done turns out to be that IsPartOf is sent for both datasets and files.

@jggautier
Copy link
Contributor

jggautier commented Jul 3, 2018

Also, should there be references to the file DOIs in the Dataset metadata passed?

When we add file PIDs to the dataset metadata we're sending to DataCite, the relationship type we should use is HasPart. (This is what Dryad uses and the DataCite Search portal interprets it correctly (see example). See more here: https://docs.google.com/document/d/1tevjRIX96EFCYzAgw7KU-bmKT_kabyZb-ilMHxyb5dc/edit?usp=drivesdk

@landreev
Copy link
Contributor

landreev commented Jul 23, 2018

To summarize, from the debugging we did last Fri.:

When testing, it is the correct behavior, that no file-level identifiers are added to the metadata when the new dataset is created. This is because we only assign the global ids to files ON PUBLISH (unlike the dataset global id; that's registered when the dataset is created).

When going through the files, do checks for NULLs on everything. Do not assume that a DataFile will have the global id - it may be NULL (if this DOI is being registered or updated while the Dataset is still in DRAFT).

What happens when we publish a dataset:
Once again, we only assign global ids to files when the author publishes the dataset. It's done inside the same FinalizeDatasetPublicationCommand that updates the global id for the dataset itself. So please check the order in which it happens inside the command; we can only add these file-level global ids to the dataset DOI metadata if we register the file-level DOIs before we update the DOI for the dataset.

benjamin-martinez added a commit that referenced this issue Jul 23, 2018
benjamin-martinez added a commit that referenced this issue Jul 23, 2018
This a topic branch and should be merged to 4782-DataCite
@sekmiller sekmiller self-assigned this Jul 23, 2018
sekmiller added a commit that referenced this issue Jul 24, 2018
@sekmiller sekmiller removed their assignment Jul 24, 2018
@pdurbin
Copy link
Member

pdurbin commented Jul 26, 2018

@benjamin-martinez the pull request has merge conflicts again. Can you please resolve them? Thanks! Here's that page we were looking at yesterday if it helps: http://guides.dataverse.org/en/4.9.1/developers/version-control.html#how-to-resolve-conflicts-in-your-pull-request

@kcondon
Copy link
Contributor

kcondon commented Jul 27, 2018

OK, in addition to Leonid's comments on how it works, the scope is DataCite but not EZID nor Handles.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants