-
Notifications
You must be signed in to change notification settings - Fork 0
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
Investigate APIs for various repositories #58
Comments
Mendeley analysis: Mendeley includes ORCIDs and RORs 🎉 The API does not appear to support filtering/searching by ORCID and ROR though, it only allows searching by internal Mendeley ids (institution and profile) The API also only supports discovery of public datasets. How would we discover metadata about private outputs? The API uses OAuth2 (client_credentials here) so you must create an account with Elsevier and then add your application in the dev tools section.
|
OSF is a bit opaque. We need to review the API docs in more detail since it uses a lot of graphDB language like Its possible though to have multiple entry points. For example searching for preprints by title and then walking to the list of contributors OR starting with a search for contributor and then walking their preprints and nodes. Either way it will require multiple API calls and some of our own algorithms to verify matches. Like Mendeley, it would be super useful if you could search by ROR or ORCID although I am not sure if their metadata contains those identifiers. Need to use Postman or something similar since you need to obtain a OAuth2 Code before fetching a token. Didn't see a way to just use client_credentials. Example of result from the preprints API: {
"data": [
{
"id": "12345",
"type": "preprints",
"attributes": {
"date_created": "2023-09-22T15:35:53.459096",
"date_modified": "2023-09-22T15:37:17.496732",
"date_published": "2023-09-22T15:37:16.381453",
"original_publication_date": null,
"doi": null,
"title": "Test edit",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit",
"is_published": true,
"is_preprint_orphan": false,
"license_record": {
"copyright_holders": [
""
],
"year": "2023"
},
"tags": [],
"preprint_doi_created": null,
"date_withdrawn": null,
"current_user_permissions": [],
"public": true,
"reviews_state": "pending",
"date_last_transitioned": "2023-09-22T15:37:16.381453",
"has_coi": false,
"conflict_of_interest_statement": null,
"has_data_links": "no",
"why_no_data": null,
"data_links": [],
"has_prereg_links": "no",
"why_no_prereg": null,
"prereg_links": [],
"prereg_link_info": "",
"subjects": [
[
{
"id": "59552881da3e240081ba3203",
"text": "Arts and Humanities"
}
]
]
},
"relationships": {
"contributors": {
"links": {
"related": {
"href": "https://api.test.osf.io/v2/preprints/12345/contributors/",
"meta": {}
}
}
},
"bibliographic_contributors": {
"links": {
"related": {
"href": "https://api.test.osf.io/v2/preprints/12345/bibliographic_contributors/",
"meta": {}
}
}
},
"citation": {
"links": {
"related": {
"href": "https://api.test.osf.io/v2/preprints/12345/citation/",
"meta": {}
}
},
"data": {
"id": "8n27h",
"type": "preprints"
}
},
"identifiers": {
"links": {
"related": {
"href": "https://api.test.osf.io/v2/preprints/12345/identifiers/",
"meta": {}
}
}
},
"node": {
"links": {
"self": {
"href": "https://api.test.osf.io/v2/preprints/12345/relationships/node/",
"meta": {}
}
}
},
"license": {
"links": {
"related": {
"href": "https://api.test.osf.io/v2/licenses/000000000000000000/",
"meta": {}
}
},
"data": {
"id": "000000000000000000",
"type": "licenses"
}
},
"provider": {
"links": {
"related": {
"href": "https://api.test.osf.io/v2/providers/preprints/osf/",
"meta": {}
}
},
"data": {
"id": "osf",
"type": "preprint-providers"
}
},
"files": {
"links": {
"related": {
"href": "https://api.test.osf.io/v2/preprints/12345/files/",
"meta": {}
}
}
},
"primary_file": {
"links": {
"related": {
"href": "https://api.test.osf.io/v2/files/000000000000000000/",
"meta": {}
}
},
"data": {
"id": "650db45d3cbde5000ad3eca2",
"type": "files"
}
},
"review_actions": {
"links": {
"related": {
"href": "https://api.test.osf.io/v2/preprints/12345/review_actions/",
"meta": {}
}
}
},
"requests": {
"links": {
"related": {
"href": "https://api.test.osf.io/v2/preprints/12345/requests/",
"meta": {}
}
}
}
},
"links": {
"self": "https://api.test.osf.io/v2/preprints/12345/",
"html": "https://test.osf.io/12345/",
"preprint_doi": "https://doi.org/10.12345/ABC123.io/12345"
}
}
]
} |
The Dataverse Search API allows access to published datasets. Dataverse is an open source codebase and there are many installations out in the wild (e.g. Harvard), so we will likely need to have a table to store the target URLs and the searchable fields see this issue discussing that. I am not seeing ORCID or ROR identifiers in the output, so we would need to do some messy text matching on names.
|
Zenodo allows searching for 'published' records. They have some others in beta currently that allow searching for funders, grants, communities (e.g 'dryad') and licenses. Their funder list uses Crossref funder DOIs currently. The grants API returns info about a grant, but I'm not seeing any connection to the awardee
The records (aka datasets) are pretty good (at least the ones provided by Dryad for NIH). The grant/award id is buried in the 'notes' field, but may be searchable/filterable. Records allow for ORCID 🎉 but I am not seeing RORs. Here is an example:
|
Dryad allows searching for 'published' datasets and allows you to filter the results by author affiliation. Dryad of course contains RORs and ORCIDs 🎉 There does not seem to be a way to search by ORCID. For example:
|
Review complete. Leaving this one open though so we can reference when we decide to implement integrations for these APIs |
@briri hi, thanks for kicking the tires on the Dataverse Search API! 🎉 It's not very intuitive but you can get ORCIDs out of the Search API. If you pass We have ROR support for our author affiliation field but haven't rolled it out to our demo server yet. You can track this here: For a list of searchable fields, this might help: https://demo.dataverse.org/api/metadatablocks/citation Please feel free to ask questions at https://chat.dataverse.org or https://groups.google.com/g/dataverse-community
|
thanks @pdurbin this is very helpful! |
somewhat related to #77 |
closing as our investigation is done. will create new tickets if we decide to build integrations/harvesters |
Here’s the list. We don’t need it to be exhaustive; just some examples would be helpful.
Particularly thinking about:
APIs:
The text was updated successfully, but these errors were encountered: