68 lines
2.4 KiB
Bash
Executable File
68 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
|
|
#detailsFile=../../orig/guidelines/guidelines.json
|
|
detailsFile=/tmp/guidelines.json
|
|
|
|
workdir=/tmp/guidelines
|
|
rm -rf "$workdir" && mkdir "$workdir"
|
|
|
|
echo
|
|
echo "Guidelines Import:"
|
|
|
|
#--------------------------------
|
|
echo " - Generating csv files"
|
|
csvGuidelines="$workdir/guidelines.csv"
|
|
csvRels="$workdir/rels.csv"
|
|
csvAllRels="$workdir/allRels.csv"
|
|
|
|
cat $detailsFile | jq 'map([.LocalID, .Type, .Title, .PubYear, .Originator, .ProviderCollection, .Abstract, .PMID, .DOI, .PMCID])' | jq .[] | jq -r @csv > $csvGuidelines
|
|
cat $detailsFile | jq -r '.[] | .LocalID as $id | (.MatchedReferences | map([$id, (.PMID + ""), (.PMCID + ""), (.DOI + "") , ( .Funders | map(.+"#") | add | . + "" ) ]) )[] | @csv' > $csvRels
|
|
cat $detailsFile | jq -r '.[] | .LocalID as $id | (.AllReferences | map([$id, .]) )[] | @csv' > $csvAllRels
|
|
|
|
#--------------------------------
|
|
echo " - Recreating the guidelines database"
|
|
dropdb guidelines --if-exists;
|
|
createdb guidelines;
|
|
psql guidelines -f schema.sql
|
|
|
|
if [[ -f "$csvGuidelines" ]]; then
|
|
echo " - Importing guidelines: $csvGuidelines"
|
|
psql guidelines -c "COPY guidelines(id, gtype, title, year, orig, collection, abstract, pmid, doi, pmcid) FROM '$csvGuidelines' CSV;"
|
|
else
|
|
echo " - Invalid file: $csvGuidelines"
|
|
fi
|
|
|
|
if [[ -f "$csvRels" ]]; then
|
|
echo " - Importing rels: $csvRels"
|
|
psql guidelines -c "COPY relations(gid, pmid, pmcid, doi, funder) FROM '$csvRels' CSV;"
|
|
else
|
|
echo " - Invalid file: $csvRels"
|
|
fi
|
|
|
|
if [[ -f "$csvAllRels" ]]; then
|
|
echo " - Importing all rels: $csvAllRels"
|
|
psql guidelines -c "COPY allrefs(gid, rel) FROM '$csvAllRels' CSV;"
|
|
else
|
|
echo " - Invalid file: $csvAllRels"
|
|
fi
|
|
|
|
|
|
#--------------------------------
|
|
echo " - Generating json files"
|
|
rm -f ../../jsonfiles/guidelines/*.json
|
|
psql guidelines -f document2json.sql | sed 's/\\\\/\\/g' > ../../jsonfiles/guidelines/document.json
|
|
psql guidelines -f docOtherId2json.sql | sed 's/\\\\/\\/g' > ../../jsonfiles/guidelines/docotherid.json
|
|
psql guidelines -f projects2json.sql | sed 's/\\\\/\\/g' > ../../jsonfiles/guidelines/project.json
|
|
psql guidelines -f projDocOtherIds2json.sql | sed 's/\\\\/\\/g' > ../../jsonfiles/guidelines/projectdocotherid.json
|
|
psql guidelines -f docDocumentOtherId2json.sql | sed 's/\\\\/\\/g' > ../../jsonfiles/guidelines/docDocumentOtherId.json
|
|
|
|
#--------------------------------
|
|
echo " - Importing final files"
|
|
cd ../../jsonfiles/guidelines
|
|
|
|
echo "Done."
|
|
echo
|
|
|
|
|