11#! /bin/bash
22
3- PAPER_ID= " PMID:32165850 "
4- CATEGORY_ID= " alzheimers-therapeutics "
3+ PAPER_IDS=( " PMID:33933186 " " PMID:33318676 " )
4+ CATEGORY_IDS=( " alzheimers-diagnosis " " alzheimers-neuroinflammation " )
55
66DATA_DIRECTORY=" ../example-data"
77MAX_PAPERS=50
@@ -17,63 +17,70 @@ PAPER_RECOMMENDATIONS_API_PATH=recommendations/
1717PAPER_RECOMMENDATIONS_PATH=papers/forpaper/
1818PAPER_RECOMMENDATIONS_LIMIT=500
1919PAPER_RECOMMENDATIONS_FIELDS=title,year,externalIds,venue,authors,abstract
20- RECOMMENDATION_URL=" ${API_BASE_URL}${PAPER_RECOMMENDATIONS_API_PATH}${API_VERSION_PATH}${PAPER_RECOMMENDATIONS_PATH}${PAPER_ID} ?limit=${PAPER_RECOMMENDATIONS_LIMIT} &fields=${PAPER_RECOMMENDATIONS_FIELDS} "
2120
22- echo " Fetching from Semantic Scholar ${RECOMMENDATIONS_API_PATH} "
23- echo " Paper: ${PAPER_ID} "
21+ for i in ${! CATEGORY_IDS[@]} ; do
22+ CATEGORY_ID=${CATEGORY_IDS[$i]}
23+ PAPER_ID=${PAPER_IDS[$i]}
24+ RECOMMENDATION_URL=" ${API_BASE_URL}${PAPER_RECOMMENDATIONS_API_PATH}${API_VERSION_PATH}${PAPER_RECOMMENDATIONS_PATH}${PAPER_ID} ?limit=${PAPER_RECOMMENDATIONS_LIMIT} &fields=${PAPER_RECOMMENDATIONS_FIELDS} "
2425
25- json=$( curl -s -X GET ${RECOMMENDATION_URL} )
26- recommendedPapers=$( echo ${json} | jq ' .recommendedPapers' )
26+ echo " Fetching from Semantic Scholar ${RECOMMENDATIONS_API_PATH} "
27+ echo " Paper: ${PAPER_ID} "
28+ echo " CATEGORY_ID: ${CATEGORY_ID} "
2729
28- numPapersRaw =$( echo ${recommendedPapers} | jq ' length ' )
29- echo " numPapers: ${numPapersRaw} "
30+ json =$( curl -s -X GET ${RECOMMENDATION_URL} )
31+ recommendedPapers= $( echo ${json} | jq ' .recommendedPapers ' )
3032
31- selectedPapers=$(
32- echo ${recommendedPapers} | jq ' [ .[] |
33- select((.venue == "bioRxiv" or (.venue == "medRxiv")) and (.year == 2022)) |
34- .paperId
35- ] |
36- .[0:' ${MAX_PAPERS} ' ]'
37- )
33+ numPapersRaw=$( echo ${recommendedPapers} | jq ' length' )
34+ echo " numPapers (Total): ${numPapersRaw} "
3835
39- numPapers=$( echo ${selectedPapers} | jq ' length' )
40- echo " numPapers: ${numPapers} "
36+ selectedPapers=$(
37+ echo ${recommendedPapers} | jq ' [ .[] |
38+ select((.venue == "bioRxiv" or (.venue == "medRxiv")) and (.year == 2022)) |
39+ .paperId
40+ ] |
41+ .[0:' ${MAX_PAPERS} ' ]'
42+ )
4143
42- # echo ${selectedPapers} | jq > ${DATA_DIRECTORY}/${CATEGORY_ID}.json
44+ numPapers=$( echo ${selectedPapers} | jq ' length' )
45+ echo " numPapers (Filtered): ${numPapers} "
4346
44- # ## Get the paper details
45- # RECOMMENDATION_URL="${API_BASE_URL}${ACADEMIC_GRAPH_API_PATH}${API_VERSION_PATH}${ACADEMIC_GRAPH_PAPER_PATH}.?fields=${ACADEMIC_GRAPH_PAPER_FIELDS}"
46- DELAY=1
47- selectedPapersArr=( $( echo ${selectedPapers} | jq ' .[]' ) )
48- COUNTER=0
49- NUM_ITEMS=${# selectedPapersArr[@]}
50- echo " numitems ${NUM_ITEMS} "
51- echo ' [' > ${DATA_DIRECTORY} /${CATEGORY_ID} .json
52- for i in " ${selectedPapersArr[@]} "
53- do
54- let COUNTER++
55- id=$( echo ${i} | tr -d ' "' )
56- ACADEMIC_GRAPH_PAPER_URL=" ${API_BASE_URL}${ACADEMIC_GRAPH_API_PATH}${API_VERSION_PATH}${ACADEMIC_GRAPH_PAPER_PATH}${id} ?fields=${ACADEMIC_GRAPH_PAPER_FIELDS} "
57- json=$( curl -s -X GET ${ACADEMIC_GRAPH_PAPER_URL} )
58- record=$(
59- echo ${json} | jq ' . |
60- {
61- paperId: .paperId,
62- title: .title,
63- journal: .venue,
64- date: .publicationDate,
65- doi: .externalIds.DOI,
66- brief: .tldr.text,
67- authors: .authors | [.[] | .name] | join("; ")
68- }'
69- )
70- printf " %s" " ${record} " >> ${DATA_DIRECTORY} /${CATEGORY_ID} .json
71- if [ " ${COUNTER} " == " ${NUM_ITEMS} " ]; then
72- printf " %s\n" " " >> ${DATA_DIRECTORY} /${CATEGORY_ID} .json
73- else
74- printf " %s\n" " ," >> ${DATA_DIRECTORY} /${CATEGORY_ID} .json
75- fi
47+ # echo ${selectedPapers} | jq > ${DATA_DIRECTORY}/${CATEGORY_ID}.json
7648
77- sleep ${DELAY}
49+ # ## Get the paper details
50+ # RECOMMENDATION_URL="${API_BASE_URL}${ACADEMIC_GRAPH_API_PATH}${API_VERSION_PATH}${ACADEMIC_GRAPH_PAPER_PATH}.?fields=${ACADEMIC_GRAPH_PAPER_FIELDS}"
51+ DELAY=1
52+ selectedPapersArr=( $( echo ${selectedPapers} | jq ' .[]' ) )
53+ COUNTER=0
54+ NUM_ITEMS=${# selectedPapersArr[@]}
55+ echo " numitems ${NUM_ITEMS} "
56+ echo ' [' > ${DATA_DIRECTORY} /${CATEGORY_ID} .json
57+ for i in " ${selectedPapersArr[@]} "
58+ do
59+ let COUNTER++
60+ id=$( echo ${i} | tr -d ' "' )
61+ ACADEMIC_GRAPH_PAPER_URL=" ${API_BASE_URL}${ACADEMIC_GRAPH_API_PATH}${API_VERSION_PATH}${ACADEMIC_GRAPH_PAPER_PATH}${id} ?fields=${ACADEMIC_GRAPH_PAPER_FIELDS} "
62+ json=$( curl -s -X GET ${ACADEMIC_GRAPH_PAPER_URL} )
63+ record=$(
64+ echo ${json} | jq ' . |
65+ {
66+ paperId: .paperId,
67+ title: .title,
68+ journal: .venue,
69+ date: .publicationDate,
70+ doi: .externalIds.DOI,
71+ brief: .tldr.text,
72+ authors: .authors | [.[] | .name] | join("; ")
73+ }'
74+ )
75+ printf " %s" " ${record} " >> ${DATA_DIRECTORY} /${CATEGORY_ID} .json
76+ if [ " ${COUNTER} " == " ${NUM_ITEMS} " ]; then
77+ printf " %s\n" " " >> ${DATA_DIRECTORY} /${CATEGORY_ID} .json
78+ else
79+ printf " %s\n" " ," >> ${DATA_DIRECTORY} /${CATEGORY_ID} .json
80+ fi
81+
82+ sleep ${DELAY}
83+ done
84+ echo ' ]' >> ${DATA_DIRECTORY} /${CATEGORY_ID} .json
7885done
79- echo ' ] ' >> ${DATA_DIRECTORY} / ${CATEGORY_ID} .json
86+
0 commit comments