ROR¶
About ROR¶
ROR (Research Organization Registry) is a registry of identifiers for research organizations. ROR identifiers help with matching affiliation data with institutions.
For more informations visit official ROR homepage
ROR in Dataverse¶
Dataverse uses ROR identifiers to enrich DataCite metadata format. In dataset metadata fields configuration there is an option for suggesting ROR identifiers based on organization name (turned on by default).
Uploading ROR data¶
To fully profit from ROR integration in Dataverse you will need to feed your Dataverse installation with ROR data. You can either use full ROR data dump with all available ROR identifiers or a subset of it.
Full dump¶
First you will need to obtain ROR dump by following instructions presented in ROR data dump documentation.
The next step is to upload obtained ROR dump into your Dataverse installation. It can be done using the following REST api endpoint:
curl -H "X-Dataverse-key:$API_TOKEN" -F file=@2021-03-25-ror-data.zip "http://localhost:8080/api/ror/upload"
Note that you will need superuser permissions to upload ROR data.
Partial dump¶
It is possible to use the same REST api enpoint as in full dump case to upload only selected ROR identifiers. In such cases you will need to prepare the dump data yourself. We will show an example how it can be achieved.
Dump can be prepared using ROR api:
#!/bin/sh
ROR_FILTER=country.country_code:GB,types:Education
DUMP_FILE=ror.json
ROR_PER_PAGE=20
RESULTS_COUNT=$(curl "https://api.ror.org/organizations?filter=$ROR_FILTER" | jq .number_of_results)
echo "ROR identifiers matching filter [$ROR_FILTER] count: $RESULTS_COUNT"
total_pages=$(( ($RESULTS_COUNT+$ROR_PER_PAGE-1)/$ROR_PER_PAGE ))
echo "Total pages to download: $total_pages"
page=1
while [ $page -le $total_pages ]
do
echo "Downloading page $page"
curl "https://api.ror.org/organizations?page=$page&filter=$ROR_FILTER" | jq .items >> $DUMP_FILE.$page
echo "Created temporary file $DUMP_FILE.$page with single page content"
page=$(( $page + 1 ))
done
echo "Joining pages into single file"
jq -s 'flatten' $DUMP_FILE.* >> $DUMP_FILE
echo "Removing temporary files"
rm $DUMP_FILE.*
ROR_IN_DUMP=$(jq length $DUMP_FILE)
echo "ROR identifiers count in produced dump: $ROR_IN_DUMP"
In example we include ROR identifiers for institutions from Great Britain with type Education.
You can modify ROR_FILTER
variable in the script to obtain the data you want.
Next you need to execute the same api endpoint as in full dump:
curl -H "X-Dataverse-key:$API_TOKEN" -F file=@ror.json "http://localhost:8080/api/ror/upload"
Note that endpoint can work with zipped dump and single file json. So you don’t need to prepare zip yourself