-
Notifications
You must be signed in to change notification settings - Fork 494
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
Cannot publish dataset with existing DOI imported into Dataverse as DDI #3632
Comments
@didaRo hi! This sounds highly related to #3083. In the end, we decided not to merge #3377 but it's good to know that there's more demand out there than just the use case from @pameyer @didaRo are you trying to migrate your data from some other solution? Would you like to share any more details about your scenario? |
Hi @pdurbin |
@didaRo the way to import datasets that already have DOIs into Dataverse is to use XML rather than JSON. Specifically, the datasets need to be in DDI format. Recently I was looking at #3583 and playing around with some code at pdurbin@ca6ecb4 where you can see an example DDI file called "version1.xml" that I'm using in an integration test in BatchImportIT.java where I call "migrate". I can explain more if you'd like to go down the route of putting your datasets in DDI format. It should work. You can also read more about importing DDI files at https://github.com/IQSS/dataverse/blob/develop/scripts/migration/migration_instructions.txt#L31 |
@pdurbin Hi, But I have another problem, when I try to publish dataset : Case two: Thanks |
@didaRo when you added your dataset with an existing identifier was the dataset in DDI format? If so, we can change the issue title to be about documenting how to accomplish what you're trying to do. |
@pdurbin yes DDI format file. |
@didaRo ok, I changed the title to "Cannot publish dataset with existing DOI imported into Dataverse as DDI". Thanks. I'm actually not sure if this is currently supported or not. You might need to import the dataset as published or something. Can you please provide the curl command you used to import the dataset as DDI? |
@pdurbin |
@didaRo thanks! Can you please email support@dataverse.org and mention this issue? I'll get you in touch with people who will know more about if this is already supported or not. I'm hoping it only needs to be documented (no code change) but I don't really know. Thanks! |
OK |
@didaRo thanks for creating https://help.hmdc.harvard.edu/Ticket/Display.html?id=246794 . I assigned it to someone who can help. One thing is bothering me... You said the error is "Latest version of dataset T1J10121 is already released." In this context, "released" means "published". So it sounds like perhaps the dataset is already published? I'm confused about what state the dataset is in. (Doing a GET of the dataset to get a dump of it as JSON may help. This is documented at http://guides.dataverse.org/en/4.6/api/native-api.html#datasets .) Also, given how the DOI looks (doi:10.5072/T1J10121) it reminds me even more of #3583. |
@pdurbin. |
Ok, again, it might be interesting to see the JSON output of a GET of the dataset like this:
|
@pdurbin Hi, Error in constraint unique « unq_datasetversion_0 » Thanks |
Hello @pdurbin Finally I just specify DRAFT version in the DDI file :) It's work 👍 |
@didaRo good job figuring it out! I guess we'll leave this issue open until we document the solution. Maybe it could go somewhere under http://guides.dataverse.org/en/latest/admin |
Hii @pdurbin, Thanks a lot |
@didaRo hi, I see you posted about this at https://groups.google.com/d/msg/dataverse-migration-wg/I82Cpqf0rN0/ui_MFGvaAAAJ as well. We do not have a converter from DataCite to DDI. There is some unmerged code to export from DataCite but I'm not sure that will help you. That code is at https://github.com/sbgrid/sbgrid-dataverse/blob/098b56b531f0c3e5cad689ef39eb54d321071587/mod-sbgrid/src/main/java/edu/harvard/iq/dataverse/export/DataciteExporter.java and was mentioned at #2917 (comment) A tool to convert from DataCite XML to DDI XML could probably be written as a standalone tool outside of Dataverse. For all I know such a tool already exists. You might want to ask on the DDI mailing list: http://lists.icpsr.umich.edu/mailman/listinfo/ddi-users . If you find one there or elsewhere, please let us know! |
In a thread at https://groups.google.com/d/msg/dataverse-community/0WF2IA-43XI/gw8syLZZAwAJ Michel Bamouni just wrote, "To import an existing doi into my dataverse, I use sql queries. So I need to publish dataset using an sql command." At https://groups.google.com/d/msg/dataverse-community/0WF2IA-43XI/JJNhz8P0AAAJ I replied explaining that you can't publish just by switching one field in the database. The root problem, however, seems similar to this issue... a desire to import an existing DOI into Dataverse. @didaRo what is your latest thinking on this issue, please? |
Also: "We need this to import existing datasets with DOIs into Dataverse. For that, the two options are to either import via OAI-PMH or to create the dataset with a "test" DOI and then change it to the "real" one via SQL." -- @adam3smith at https://groups.google.com/d/msg/dataverse-community/qmFQK5_sZoA/dNotwpkQAgAJ |
Also: "One of the SBGrid migration requirements is to move the existing datasets, along with their DOIs, into Dataverse. Currently, it appears that this can only be done using the DDI XML import." -- issue #3083 . @pameyer what do you think of these comments I'm making today? Similar requirements, right? |
Related: #5104 |
@didaRo hi! These days there's a data migration API: https://guides.dataverse.org/en/5.12/developers/dataset-migration-api.html Want to give it a try? Thanks. |
Hello,
I am using Native API Dataverse (version 4.5.1) to add a new Dataset with json file
curl -X POST -H "Content-type:application/json" -d @data/dataset-create-new.json 'http://$SERVER/api/dataverses/$id/datasets/?key=$apiKey'
In the dataset-create-new.json file, i have the following informations for my identifier
"authority": "10.5075",
"identifier": "PP2RMH",
"protocol": "doi",
the API create a new identifier and ignore the sent identifier in json file. How can I use Native API to create a new dataset with an existing identifier?
Thanks !!!!
The text was updated successfully, but these errors were encountered: