@wentorai/research-plugins 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +204 -0
- package/curated/analysis/README.md +64 -0
- package/curated/domains/README.md +104 -0
- package/curated/literature/README.md +53 -0
- package/curated/research/README.md +62 -0
- package/curated/tools/README.md +87 -0
- package/curated/writing/README.md +61 -0
- package/index.ts +39 -0
- package/mcp-configs/academic-db/ChatSpatial.json +17 -0
- package/mcp-configs/academic-db/academia-mcp.json +17 -0
- package/mcp-configs/academic-db/academic-paper-explorer.json +17 -0
- package/mcp-configs/academic-db/academic-search-mcp-server.json +17 -0
- package/mcp-configs/academic-db/agentinterviews-mcp.json +17 -0
- package/mcp-configs/academic-db/all-in-mcp.json +17 -0
- package/mcp-configs/academic-db/apple-health-mcp.json +17 -0
- package/mcp-configs/academic-db/arxiv-latex-mcp.json +17 -0
- package/mcp-configs/academic-db/arxiv-mcp-server.json +17 -0
- package/mcp-configs/academic-db/bgpt-mcp.json +17 -0
- package/mcp-configs/academic-db/biomcp.json +17 -0
- package/mcp-configs/academic-db/biothings-mcp.json +17 -0
- package/mcp-configs/academic-db/catalysishub-mcp-server.json +17 -0
- package/mcp-configs/academic-db/clinicaltrialsgov-mcp-server.json +17 -0
- package/mcp-configs/academic-db/deep-research-mcp.json +17 -0
- package/mcp-configs/academic-db/dicom-mcp.json +17 -0
- package/mcp-configs/academic-db/enrichr-mcp-server.json +17 -0
- package/mcp-configs/academic-db/fec-mcp-server.json +17 -0
- package/mcp-configs/academic-db/fhir-mcp-server-themomentum.json +17 -0
- package/mcp-configs/academic-db/fhir-mcp.json +19 -0
- package/mcp-configs/academic-db/gget-mcp.json +17 -0
- package/mcp-configs/academic-db/google-researcher-mcp.json +17 -0
- package/mcp-configs/academic-db/idea-reality-mcp.json +17 -0
- package/mcp-configs/academic-db/legiscan-mcp.json +19 -0
- package/mcp-configs/academic-db/lex.json +17 -0
- package/mcp-configs/ai-platform/Adaptive-Graph-of-Thoughts-MCP-server.json +17 -0
- package/mcp-configs/ai-platform/ai-counsel.json +17 -0
- package/mcp-configs/ai-platform/atlas-mcp-server.json +17 -0
- package/mcp-configs/ai-platform/counsel-mcp.json +17 -0
- package/mcp-configs/ai-platform/cross-llm-mcp.json +17 -0
- package/mcp-configs/ai-platform/gptr-mcp.json +17 -0
- package/mcp-configs/browser/decipher-research-agent.json +17 -0
- package/mcp-configs/browser/deep-research.json +17 -0
- package/mcp-configs/browser/everything-claude-code.json +17 -0
- package/mcp-configs/browser/gpt-researcher.json +17 -0
- package/mcp-configs/browser/heurist-agent-framework.json +17 -0
- package/mcp-configs/data-platform/4everland-hosting-mcp.json +17 -0
- package/mcp-configs/data-platform/context-keeper.json +17 -0
- package/mcp-configs/data-platform/context7.json +19 -0
- package/mcp-configs/data-platform/contextstream-mcp.json +17 -0
- package/mcp-configs/data-platform/email-mcp.json +17 -0
- package/mcp-configs/note-knowledge/ApeRAG.json +17 -0
- package/mcp-configs/note-knowledge/In-Memoria.json +17 -0
- package/mcp-configs/note-knowledge/agent-memory.json +17 -0
- package/mcp-configs/note-knowledge/aimemo.json +17 -0
- package/mcp-configs/note-knowledge/biel-mcp.json +19 -0
- package/mcp-configs/note-knowledge/cognee.json +17 -0
- package/mcp-configs/note-knowledge/context-awesome.json +17 -0
- package/mcp-configs/note-knowledge/context-mcp.json +17 -0
- package/mcp-configs/note-knowledge/conversation-handoff-mcp.json +17 -0
- package/mcp-configs/note-knowledge/cortex.json +17 -0
- package/mcp-configs/note-knowledge/devrag.json +17 -0
- package/mcp-configs/note-knowledge/easy-obsidian-mcp.json +17 -0
- package/mcp-configs/note-knowledge/engram.json +17 -0
- package/mcp-configs/note-knowledge/gnosis-mcp.json +17 -0
- package/mcp-configs/note-knowledge/graphlit-mcp-server.json +19 -0
- package/mcp-configs/reference-mgr/arxiv-cli.json +17 -0
- package/mcp-configs/reference-mgr/arxiv-search-mcp.json +17 -0
- package/mcp-configs/reference-mgr/chiken.json +17 -0
- package/mcp-configs/reference-mgr/claude-scholar.json +17 -0
- package/mcp-configs/reference-mgr/devonthink-mcp.json +17 -0
- package/mcp-configs/registry.json +447 -0
- package/openclaw.plugin.json +21 -0
- package/package.json +61 -0
- package/skills/analysis/dataviz/color-accessibility-guide/SKILL.md +230 -0
- package/skills/analysis/dataviz/geospatial-viz-guide/SKILL.md +218 -0
- package/skills/analysis/dataviz/interactive-viz-guide/SKILL.md +287 -0
- package/skills/analysis/dataviz/network-visualization-guide/SKILL.md +195 -0
- package/skills/analysis/dataviz/publication-figures-guide/SKILL.md +238 -0
- package/skills/analysis/dataviz/python-dataviz-guide/SKILL.md +195 -0
- package/skills/analysis/econometrics/causal-inference-guide/SKILL.md +197 -0
- package/skills/analysis/econometrics/iv-regression-guide/SKILL.md +198 -0
- package/skills/analysis/econometrics/panel-data-guide/SKILL.md +274 -0
- package/skills/analysis/econometrics/robustness-checks/SKILL.md +250 -0
- package/skills/analysis/econometrics/stata-regression/SKILL.md +117 -0
- package/skills/analysis/econometrics/time-series-guide/SKILL.md +235 -0
- package/skills/analysis/statistics/bayesian-statistics-guide/SKILL.md +221 -0
- package/skills/analysis/statistics/hypothesis-testing-guide/SKILL.md +210 -0
- package/skills/analysis/statistics/meta-analysis-guide/SKILL.md +206 -0
- package/skills/analysis/statistics/nonparametric-tests-guide/SKILL.md +221 -0
- package/skills/analysis/statistics/power-analysis-guide/SKILL.md +240 -0
- package/skills/analysis/statistics/sem-guide/SKILL.md +231 -0
- package/skills/analysis/statistics/survival-analysis-guide/SKILL.md +195 -0
- package/skills/analysis/wrangling/missing-data-handling/SKILL.md +224 -0
- package/skills/analysis/wrangling/pandas-data-wrangling/SKILL.md +242 -0
- package/skills/analysis/wrangling/questionnaire-design-guide/SKILL.md +234 -0
- package/skills/analysis/wrangling/text-mining-guide/SKILL.md +225 -0
- package/skills/domains/ai-ml/computer-vision-guide/SKILL.md +213 -0
- package/skills/domains/ai-ml/deep-learning-papers-guide/SKILL.md +200 -0
- package/skills/domains/ai-ml/llm-evaluation-guide/SKILL.md +194 -0
- package/skills/domains/ai-ml/prompt-engineering-research/SKILL.md +233 -0
- package/skills/domains/ai-ml/reinforcement-learning-guide/SKILL.md +254 -0
- package/skills/domains/ai-ml/transformer-architecture-guide/SKILL.md +233 -0
- package/skills/domains/biomedical/clinical-research-guide/SKILL.md +232 -0
- package/skills/domains/biomedical/clinicaltrials-api/SKILL.md +177 -0
- package/skills/domains/biomedical/epidemiology-guide/SKILL.md +200 -0
- package/skills/domains/biomedical/genomics-analysis-guide/SKILL.md +270 -0
- package/skills/domains/business/market-analysis-guide/SKILL.md +112 -0
- package/skills/domains/business/strategic-management-guide/SKILL.md +154 -0
- package/skills/domains/chemistry/computational-chemistry-guide/SKILL.md +266 -0
- package/skills/domains/chemistry/retrosynthesis-guide/SKILL.md +215 -0
- package/skills/domains/cs/algorithms-complexity-guide/SKILL.md +194 -0
- package/skills/domains/cs/dblp-api/SKILL.md +129 -0
- package/skills/domains/cs/software-engineering-research/SKILL.md +218 -0
- package/skills/domains/ecology/biodiversity-data-guide/SKILL.md +296 -0
- package/skills/domains/ecology/conservation-biology-guide/SKILL.md +198 -0
- package/skills/domains/ecology/gbif-api/SKILL.md +158 -0
- package/skills/domains/ecology/inaturalist-api/SKILL.md +173 -0
- package/skills/domains/economics/behavioral-economics-guide/SKILL.md +239 -0
- package/skills/domains/economics/development-economics-guide/SKILL.md +181 -0
- package/skills/domains/economics/fred-api/SKILL.md +189 -0
- package/skills/domains/education/curriculum-design-guide/SKILL.md +144 -0
- package/skills/domains/education/learning-science-guide/SKILL.md +150 -0
- package/skills/domains/finance/financial-data-analysis/SKILL.md +152 -0
- package/skills/domains/finance/quantitative-finance-guide/SKILL.md +151 -0
- package/skills/domains/geoscience/climate-science-guide/SKILL.md +158 -0
- package/skills/domains/geoscience/gis-remote-sensing-guide/SKILL.md +129 -0
- package/skills/domains/humanities/digital-humanities-guide/SKILL.md +181 -0
- package/skills/domains/humanities/philosophy-research-guide/SKILL.md +148 -0
- package/skills/domains/law/courtlistener-api/SKILL.md +213 -0
- package/skills/domains/law/legal-research-guide/SKILL.md +250 -0
- package/skills/domains/math/linear-algebra-applications/SKILL.md +227 -0
- package/skills/domains/math/numerical-methods-guide/SKILL.md +236 -0
- package/skills/domains/math/oeis-api/SKILL.md +158 -0
- package/skills/domains/pharma/clinical-pharmacology-guide/SKILL.md +165 -0
- package/skills/domains/pharma/drug-development-guide/SKILL.md +177 -0
- package/skills/domains/physics/computational-physics-guide/SKILL.md +300 -0
- package/skills/domains/physics/nasa-ads-api/SKILL.md +150 -0
- package/skills/domains/physics/quantum-computing-guide/SKILL.md +234 -0
- package/skills/domains/social-science/social-research-methods/SKILL.md +194 -0
- package/skills/domains/social-science/survey-research-guide/SKILL.md +182 -0
- package/skills/literature/discovery/citation-alert-guide/SKILL.md +154 -0
- package/skills/literature/discovery/conference-proceedings-guide/SKILL.md +142 -0
- package/skills/literature/discovery/literature-mapping-guide/SKILL.md +175 -0
- package/skills/literature/discovery/paper-tracking-guide/SKILL.md +211 -0
- package/skills/literature/discovery/rss-paper-feeds/SKILL.md +214 -0
- package/skills/literature/discovery/semantic-scholar-recs-guide/SKILL.md +164 -0
- package/skills/literature/fulltext/doaj-api/SKILL.md +120 -0
- package/skills/literature/fulltext/interlibrary-loan-guide/SKILL.md +163 -0
- package/skills/literature/fulltext/open-access-guide/SKILL.md +183 -0
- package/skills/literature/fulltext/pmc-oai-api/SKILL.md +184 -0
- package/skills/literature/fulltext/preprint-servers-guide/SKILL.md +128 -0
- package/skills/literature/fulltext/repository-harvesting-guide/SKILL.md +207 -0
- package/skills/literature/fulltext/unpaywall-api/SKILL.md +113 -0
- package/skills/literature/metadata/altmetrics-guide/SKILL.md +132 -0
- package/skills/literature/metadata/citation-network-guide/SKILL.md +236 -0
- package/skills/literature/metadata/crossref-api/SKILL.md +133 -0
- package/skills/literature/metadata/datacite-api/SKILL.md +126 -0
- package/skills/literature/metadata/doi-resolution-guide/SKILL.md +168 -0
- package/skills/literature/metadata/h-index-guide/SKILL.md +183 -0
- package/skills/literature/metadata/journal-metrics-guide/SKILL.md +188 -0
- package/skills/literature/metadata/opencitations-api/SKILL.md +128 -0
- package/skills/literature/metadata/orcid-api/SKILL.md +136 -0
- package/skills/literature/metadata/orcid-integration-guide/SKILL.md +178 -0
- package/skills/literature/search/arxiv-api/SKILL.md +95 -0
- package/skills/literature/search/biorxiv-api/SKILL.md +123 -0
- package/skills/literature/search/boolean-search-guide/SKILL.md +199 -0
- package/skills/literature/search/citation-chaining-guide/SKILL.md +148 -0
- package/skills/literature/search/database-comparison-guide/SKILL.md +100 -0
- package/skills/literature/search/europe-pmc-api/SKILL.md +120 -0
- package/skills/literature/search/google-scholar-guide/SKILL.md +182 -0
- package/skills/literature/search/mesh-terms-guide/SKILL.md +164 -0
- package/skills/literature/search/openalex-api/SKILL.md +134 -0
- package/skills/literature/search/pubmed-api/SKILL.md +130 -0
- package/skills/literature/search/scientify-literature-survey/SKILL.md +203 -0
- package/skills/literature/search/semantic-scholar-api/SKILL.md +134 -0
- package/skills/literature/search/systematic-search-strategy/SKILL.md +214 -0
- package/skills/research/automation/ai-scientist-guide/SKILL.md +228 -0
- package/skills/research/automation/data-collection-automation/SKILL.md +248 -0
- package/skills/research/automation/research-workflow-automation/SKILL.md +266 -0
- package/skills/research/deep-research/meta-synthesis-guide/SKILL.md +174 -0
- package/skills/research/deep-research/research-cog/SKILL.md +153 -0
- package/skills/research/deep-research/scoping-review-guide/SKILL.md +217 -0
- package/skills/research/deep-research/systematic-review-guide/SKILL.md +250 -0
- package/skills/research/funding/figshare-api/SKILL.md +163 -0
- package/skills/research/funding/grant-writing-guide/SKILL.md +233 -0
- package/skills/research/funding/nsf-grant-guide/SKILL.md +206 -0
- package/skills/research/funding/open-science-guide/SKILL.md +255 -0
- package/skills/research/funding/zenodo-api/SKILL.md +174 -0
- package/skills/research/methodology/action-research-guide/SKILL.md +201 -0
- package/skills/research/methodology/experimental-design-guide/SKILL.md +236 -0
- package/skills/research/methodology/grad-school-guide/SKILL.md +182 -0
- package/skills/research/methodology/grounded-theory-guide/SKILL.md +171 -0
- package/skills/research/methodology/mixed-methods-guide/SKILL.md +208 -0
- package/skills/research/methodology/qualitative-research-guide/SKILL.md +234 -0
- package/skills/research/methodology/scientify-idea-generation/SKILL.md +222 -0
- package/skills/research/paper-review/paper-reading-assistant/SKILL.md +266 -0
- package/skills/research/paper-review/peer-review-guide/SKILL.md +227 -0
- package/skills/research/paper-review/rebuttal-writing-guide/SKILL.md +185 -0
- package/skills/research/paper-review/scientify-write-review-paper/SKILL.md +209 -0
- package/skills/tools/code-exec/jupyter-notebook-guide/SKILL.md +178 -0
- package/skills/tools/code-exec/python-reproducibility-guide/SKILL.md +341 -0
- package/skills/tools/code-exec/r-reproducibility-guide/SKILL.md +236 -0
- package/skills/tools/code-exec/sandbox-execution-guide/SKILL.md +221 -0
- package/skills/tools/diagram/mermaid-diagram-guide/SKILL.md +269 -0
- package/skills/tools/diagram/plantuml-guide/SKILL.md +397 -0
- package/skills/tools/diagram/scientific-illustration-guide/SKILL.md +225 -0
- package/skills/tools/document/anystyle-api/SKILL.md +199 -0
- package/skills/tools/document/grobid-pdf-parsing/SKILL.md +294 -0
- package/skills/tools/document/markdown-academic-guide/SKILL.md +217 -0
- package/skills/tools/document/pdf-extraction-guide/SKILL.md +321 -0
- package/skills/tools/knowledge-graph/knowledge-graph-construction/SKILL.md +306 -0
- package/skills/tools/knowledge-graph/ontology-design-guide/SKILL.md +214 -0
- package/skills/tools/knowledge-graph/rag-methodology-guide/SKILL.md +325 -0
- package/skills/tools/ocr-translate/formula-recognition-guide/SKILL.md +367 -0
- package/skills/tools/ocr-translate/handwriting-recognition-guide/SKILL.md +211 -0
- package/skills/tools/ocr-translate/latex-ocr-guide/SKILL.md +204 -0
- package/skills/tools/ocr-translate/multilingual-research-guide/SKILL.md +234 -0
- package/skills/tools/scraping/academic-web-scraping/SKILL.md +326 -0
- package/skills/tools/scraping/api-data-collection-guide/SKILL.md +301 -0
- package/skills/tools/scraping/web-scraping-ethics-guide/SKILL.md +250 -0
- package/skills/writing/citation/bibtex-management-guide/SKILL.md +246 -0
- package/skills/writing/citation/citation-style-guide/SKILL.md +248 -0
- package/skills/writing/citation/reference-manager-comparison/SKILL.md +208 -0
- package/skills/writing/citation/zotero-api/SKILL.md +188 -0
- package/skills/writing/composition/abstract-writing-guide/SKILL.md +188 -0
- package/skills/writing/composition/discussion-writing-guide/SKILL.md +194 -0
- package/skills/writing/composition/introduction-writing-guide/SKILL.md +194 -0
- package/skills/writing/composition/literature-review-writing/SKILL.md +196 -0
- package/skills/writing/composition/methods-section-guide/SKILL.md +185 -0
- package/skills/writing/composition/response-to-reviewers/SKILL.md +215 -0
- package/skills/writing/composition/scientific-writing-guide/SKILL.md +152 -0
- package/skills/writing/latex/bibliography-management-guide/SKILL.md +206 -0
- package/skills/writing/latex/latex-drawing-guide/SKILL.md +234 -0
- package/skills/writing/latex/latex-ecosystem-guide/SKILL.md +240 -0
- package/skills/writing/latex/math-typesetting-guide/SKILL.md +231 -0
- package/skills/writing/latex/overleaf-collaboration-guide/SKILL.md +211 -0
- package/skills/writing/latex/tikz-diagrams-guide/SKILL.md +211 -0
- package/skills/writing/polish/academic-translation-guide/SKILL.md +175 -0
- package/skills/writing/polish/academic-writing-refiner/SKILL.md +143 -0
- package/skills/writing/polish/ai-writing-humanizer/SKILL.md +178 -0
- package/skills/writing/polish/grammar-checker-guide/SKILL.md +184 -0
- package/skills/writing/polish/plagiarism-detection-guide/SKILL.md +167 -0
- package/skills/writing/templates/beamer-presentation-guide/SKILL.md +263 -0
- package/skills/writing/templates/conference-paper-template/SKILL.md +219 -0
- package/skills/writing/templates/thesis-template-guide/SKILL.md +200 -0
- package/skills/writing/templates/thesis-writing-guide/SKILL.md +220 -0
- package/src/tools/arxiv.ts +131 -0
- package/src/tools/crossref.ts +112 -0
- package/src/tools/openalex.ts +174 -0
- package/src/tools/pubmed.ts +166 -0
- package/src/tools/semantic-scholar.ts +108 -0
- package/src/tools/unpaywall.ts +58 -0
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: orcid-integration-guide
|
|
3
|
+
description: "Set up and leverage ORCID for researcher identification and profiles"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "id"
|
|
7
|
+
category: "literature"
|
|
8
|
+
subcategory: "metadata"
|
|
9
|
+
keywords: ["ORCID", "researcher ID", "author disambiguation", "scholarly identity", "publication profile"]
|
|
10
|
+
source: "wentor-research-plugins"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# ORCID Integration Guide
|
|
14
|
+
|
|
15
|
+
A skill for creating, maintaining, and leveraging ORCID (Open Researcher and Contributor ID) to establish a persistent digital identity, automate publication tracking, and integrate with journals, funders, and institutional systems.
|
|
16
|
+
|
|
17
|
+
## What Is ORCID?
|
|
18
|
+
|
|
19
|
+
### Overview
|
|
20
|
+
|
|
21
|
+
ORCID provides a unique 16-digit identifier (e.g., 0000-0002-1825-0097) that distinguishes you from every other researcher, regardless of name similarity, institutional changes, or transliteration variations. Over 19 million researchers have ORCID iDs, and thousands of publishers and funders now require or support ORCID integration.
|
|
22
|
+
|
|
23
|
+
### Why ORCID Matters
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
Problem: Name ambiguity in scholarly publishing
|
|
27
|
+
- "J. Wang" could be thousands of researchers
|
|
28
|
+
- Name changes (marriage, legal reasons)
|
|
29
|
+
- Transliteration differences (Chinese, Korean, Arabic names)
|
|
30
|
+
- Multiple institutional affiliations over a career
|
|
31
|
+
|
|
32
|
+
Solution: ORCID provides a persistent, unique identifier
|
|
33
|
+
- Follows you across institutions and career stages
|
|
34
|
+
- Links to your publications, grants, affiliations
|
|
35
|
+
- Accepted by 1,500+ publishers and funders
|
|
36
|
+
- Free and researcher-controlled
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Setting Up Your ORCID Profile
|
|
40
|
+
|
|
41
|
+
### Registration and Configuration
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
Step 1: Register at orcid.org
|
|
45
|
+
- Use your institutional email (can add personal email too)
|
|
46
|
+
- Choose a password
|
|
47
|
+
- Set visibility defaults (public recommended for researchers)
|
|
48
|
+
|
|
49
|
+
Step 2: Complete your profile
|
|
50
|
+
- Name and alternate names (include transliterations)
|
|
51
|
+
- Biography (2-3 sentences about your research)
|
|
52
|
+
- Education history (degrees, institutions, years)
|
|
53
|
+
- Employment history (positions, institutions, years)
|
|
54
|
+
- Keywords (5-10 terms describing your research areas)
|
|
55
|
+
|
|
56
|
+
Step 3: Link your works
|
|
57
|
+
- Use "Search & Link" to pull in publications automatically
|
|
58
|
+
- Supported sources: Crossref, Scopus, Web of Science, Europe PMC
|
|
59
|
+
- Review each imported work before adding
|
|
60
|
+
|
|
61
|
+
Step 4: Connect to other systems
|
|
62
|
+
- Link Scopus Author ID
|
|
63
|
+
- Link ResearcherID / Web of Science
|
|
64
|
+
- Connect institutional repository
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Privacy Settings
|
|
68
|
+
|
|
69
|
+
```python
|
|
70
|
+
def configure_orcid_visibility(profile_sections: dict) -> dict:
|
|
71
|
+
"""
|
|
72
|
+
Recommended ORCID visibility settings for academic researchers.
|
|
73
|
+
|
|
74
|
+
Args:
|
|
75
|
+
profile_sections: Dict of section names and current visibility
|
|
76
|
+
"""
|
|
77
|
+
recommendations = {
|
|
78
|
+
"name": "public",
|
|
79
|
+
"biography": "public",
|
|
80
|
+
"education": "public",
|
|
81
|
+
"employment": "public",
|
|
82
|
+
"works": "public",
|
|
83
|
+
"email": "trusted_parties",
|
|
84
|
+
"funding": "public",
|
|
85
|
+
"peer_reviews": "trusted_parties",
|
|
86
|
+
"keywords": "public"
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
settings = {}
|
|
90
|
+
for section, current in profile_sections.items():
|
|
91
|
+
recommended = recommendations.get(section, "public")
|
|
92
|
+
settings[section] = {
|
|
93
|
+
"current": current,
|
|
94
|
+
"recommended": recommended,
|
|
95
|
+
"reason": (
|
|
96
|
+
"Public visibility maximizes discoverability"
|
|
97
|
+
if recommended == "public"
|
|
98
|
+
else "Shared only with authorized organizations"
|
|
99
|
+
)
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
return settings
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Integrating ORCID with Publishing Workflows
|
|
106
|
+
|
|
107
|
+
### Journal Submission
|
|
108
|
+
|
|
109
|
+
Most major publishers now request your ORCID during manuscript submission:
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
Elsevier: Required for corresponding author
|
|
113
|
+
Springer Nature: Required for corresponding author
|
|
114
|
+
Wiley: Requested for all authors
|
|
115
|
+
PLOS: Required for corresponding author
|
|
116
|
+
IEEE: Requested for all authors
|
|
117
|
+
Taylor & Francis: Requested for all authors
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
When you provide your ORCID during submission, the publication is automatically added to your ORCID record upon acceptance (via Crossref auto-update).
|
|
121
|
+
|
|
122
|
+
### Funder Integration
|
|
123
|
+
|
|
124
|
+
```
|
|
125
|
+
NIH: ORCID linked via eRA Commons / SciENcv
|
|
126
|
+
NSF: ORCID accepted in proposal submissions
|
|
127
|
+
ERC: ORCID required for applicants
|
|
128
|
+
UKRI: ORCID required for grant holders
|
|
129
|
+
ARC (Australia): ORCID required for applicants
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Using the ORCID API
|
|
133
|
+
|
|
134
|
+
### Retrieving Public Records
|
|
135
|
+
|
|
136
|
+
```python
|
|
137
|
+
import urllib.request
|
|
138
|
+
import json
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
def get_orcid_works(orcid_id: str) -> list:
|
|
142
|
+
"""
|
|
143
|
+
Retrieve the public works list from an ORCID profile.
|
|
144
|
+
|
|
145
|
+
Args:
|
|
146
|
+
orcid_id: The ORCID iD (e.g., '0000-0002-1825-0097')
|
|
147
|
+
"""
|
|
148
|
+
url = f"https://pub.orcid.org/v3.0/{orcid_id}/works"
|
|
149
|
+
req = urllib.request.Request(url, headers={
|
|
150
|
+
"Accept": "application/json"
|
|
151
|
+
})
|
|
152
|
+
response = urllib.request.urlopen(req)
|
|
153
|
+
data = json.loads(response.read())
|
|
154
|
+
|
|
155
|
+
works = []
|
|
156
|
+
for group in data.get("group", []):
|
|
157
|
+
summary = group["work-summary"][0]
|
|
158
|
+
works.append({
|
|
159
|
+
"title": summary["title"]["title"]["value"],
|
|
160
|
+
"type": summary.get("type"),
|
|
161
|
+
"year": summary.get("publication-date", {}).get("year", {}).get("value"),
|
|
162
|
+
"journal": summary.get("journal-title", {}).get("value") if summary.get("journal-title") else None,
|
|
163
|
+
"put_code": summary.get("put-code")
|
|
164
|
+
})
|
|
165
|
+
|
|
166
|
+
return works
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## Maintaining Your ORCID Record
|
|
170
|
+
|
|
171
|
+
### Best Practices
|
|
172
|
+
|
|
173
|
+
- Review your record quarterly for completeness
|
|
174
|
+
- Enable auto-updates from Crossref (Settings > Account Settings > Crossref)
|
|
175
|
+
- Add preprints and datasets, not just journal articles
|
|
176
|
+
- Include peer review activity (via Publons/Web of Science integration)
|
|
177
|
+
- Use your ORCID iD in email signatures, CVs, and personal websites
|
|
178
|
+
- Format as a full URL: https://orcid.org/0000-0002-1825-0097
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: arxiv-api
|
|
3
|
+
description: "Search and retrieve preprints from the arXiv open-access repository"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "🔍"
|
|
7
|
+
category: "literature"
|
|
8
|
+
subcategory: "search"
|
|
9
|
+
keywords: ["academic database search", "literature search", "scholarly database", "semantic search", "preprint server"]
|
|
10
|
+
source: "https://info.arxiv.org/help/api/"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# arXiv API Guide
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
The arXiv API provides programmatic access to the arXiv preprint repository, one of the most important open-access archives in the sciences. Founded in 1991, arXiv hosts over 2.4 million scholarly articles across physics, mathematics, computer science, quantitative biology, quantitative finance, statistics, electrical engineering and systems science, and economics.
|
|
18
|
+
|
|
19
|
+
Researchers use the arXiv API to build literature review tools, monitor new submissions in their fields, and integrate preprint search into automated research workflows. The API returns results in Atom XML format with rich metadata including titles, authors, abstracts, categories, DOIs, and journal references.
|
|
20
|
+
|
|
21
|
+
The API is free to use with no authentication required. It supports complex boolean queries across multiple fields and allows sorting by relevance, submission date, or last-updated date.
|
|
22
|
+
|
|
23
|
+
## Authentication
|
|
24
|
+
|
|
25
|
+
No authentication required. The arXiv API is fully open. However, users must respect the rate limit of 3 requests per second. Excessive usage may result in temporary IP-based blocking. Including a descriptive User-Agent header is considered good practice.
|
|
26
|
+
|
|
27
|
+
## Core Endpoints
|
|
28
|
+
|
|
29
|
+
### Query: Search for Articles
|
|
30
|
+
|
|
31
|
+
- **URL**: `GET http://export.arxiv.org/api/query`
|
|
32
|
+
- **Parameters**:
|
|
33
|
+
| Param | Type | Required | Description |
|
|
34
|
+
|-------|------|----------|-------------|
|
|
35
|
+
| search_query | string | Yes | Query string using arXiv field prefixes (ti, au, abs, cat, id) |
|
|
36
|
+
| id_list | string | No | Comma-separated arXiv IDs for direct lookup |
|
|
37
|
+
| start | integer | No | Starting index for pagination (default: 0) |
|
|
38
|
+
| max_results | integer | No | Number of results to return (default: 10, max: 30000) |
|
|
39
|
+
| sortBy | string | No | Sort field: relevance, lastUpdatedDate, submittedDate |
|
|
40
|
+
| sortOrder | string | No | ascending or descending |
|
|
41
|
+
- **Example**:
|
|
42
|
+
```bash
|
|
43
|
+
curl "http://export.arxiv.org/api/query?search_query=au:hinton+AND+ti:deep+learning&start=0&max_results=5&sortBy=submittedDate&sortOrder=descending"
|
|
44
|
+
```
|
|
45
|
+
- **Response**: Atom XML feed with `<entry>` elements containing `<title>`, `<summary>`, `<author>`, `<arxiv:primary_category>`, `<published>`, `<updated>`, and `<link>` fields.
|
|
46
|
+
|
|
47
|
+
### ID Lookup: Retrieve Specific Papers
|
|
48
|
+
|
|
49
|
+
- **URL**: `GET http://export.arxiv.org/api/query`
|
|
50
|
+
- **Parameters**:
|
|
51
|
+
| Param | Type | Required | Description |
|
|
52
|
+
|-------|------|----------|-------------|
|
|
53
|
+
| id_list | string | Yes | Comma-separated arXiv IDs (e.g., 2301.00001,2301.00002) |
|
|
54
|
+
| max_results | integer | No | Number of results to return |
|
|
55
|
+
- **Example**:
|
|
56
|
+
```bash
|
|
57
|
+
curl "http://export.arxiv.org/api/query?id_list=2301.07041&max_results=1"
|
|
58
|
+
```
|
|
59
|
+
- **Response**: Atom XML feed with full metadata for the requested paper(s).
|
|
60
|
+
|
|
61
|
+
## Rate Limits
|
|
62
|
+
|
|
63
|
+
The arXiv API enforces a rate limit of 3 requests per second. There is no daily request cap, but automated bulk downloading should be done using the arXiv bulk data access options instead of the API. If you exceed the rate limit, you will receive HTTP 503 responses. Implement exponential backoff and a minimum 3-second delay between requests to avoid being temporarily blocked.
|
|
64
|
+
|
|
65
|
+
## Common Patterns
|
|
66
|
+
|
|
67
|
+
### Monitor New Submissions in a Category
|
|
68
|
+
|
|
69
|
+
Track daily submissions in a specific arXiv category by querying with a date range and category filter:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
curl "http://export.arxiv.org/api/query?search_query=cat:cs.AI+AND+submittedDate:[202603010000+TO+202603092359]&sortBy=submittedDate&sortOrder=descending&max_results=50"
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Build a Reading List from Keywords
|
|
76
|
+
|
|
77
|
+
Search across titles and abstracts for specific research topics:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
curl "http://export.arxiv.org/api/query?search_query=(ti:transformer+OR+abs:transformer)+AND+cat:cs.CL&max_results=20&sortBy=relevance"
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Batch Metadata Retrieval
|
|
84
|
+
|
|
85
|
+
Retrieve metadata for multiple known papers in a single request:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
curl "http://export.arxiv.org/api/query?id_list=2301.07041,2302.13971,2303.08774&max_results=3"
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## References
|
|
92
|
+
|
|
93
|
+
- Official documentation: https://info.arxiv.org/help/api/
|
|
94
|
+
- arXiv API user manual: https://info.arxiv.org/help/api/user-manual.html
|
|
95
|
+
- arXiv bulk data access: https://info.arxiv.org/help/bulk_data.html
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: biorxiv-api
|
|
3
|
+
description: "Preprint server API for biology and medicine papers"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "🔍"
|
|
7
|
+
category: "literature"
|
|
8
|
+
subcategory: "search"
|
|
9
|
+
keywords: ["preprint server", "literature search", "academic database search", "full-text retrieval"]
|
|
10
|
+
source: "https://api.biorxiv.org/"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# bioRxiv API Guide
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
bioRxiv (pronounced "bio-archive") is a free online archive and distribution service for unpublished preprints in the life sciences. Operated by Cold Spring Harbor Laboratory, it provides researchers with immediate access to the latest findings before formal peer review. The bioRxiv API enables programmatic access to preprint metadata, content details, and publication linkage data across biology and medical sciences.
|
|
18
|
+
|
|
19
|
+
The API serves researchers who need to track emerging research trends, monitor preprint activity in specific subfields, or build automated literature surveillance pipelines. It is particularly valuable for systematic reviewers who want to capture the latest evidence before journal publication, and for bibliometric analysts studying the preprint-to-publication pipeline.
|
|
20
|
+
|
|
21
|
+
bioRxiv hosts preprints across more than 25 subject areas including neuroscience, genomics, bioinformatics, cell biology, and many more. The API returns structured metadata including titles, authors, abstracts, DOIs, publication dates, and links to corresponding published journal articles when available.
|
|
22
|
+
|
|
23
|
+
## Authentication
|
|
24
|
+
|
|
25
|
+
No authentication required. The bioRxiv API is fully open and does not require any API key, token, or registration. All endpoints are publicly accessible without rate limiting restrictions.
|
|
26
|
+
|
|
27
|
+
## Core Endpoints
|
|
28
|
+
|
|
29
|
+
### details: Retrieve Preprint Metadata
|
|
30
|
+
|
|
31
|
+
Fetch detailed metadata for preprints posted within a specified date range or for a specific server (bioRxiv or medRxiv).
|
|
32
|
+
|
|
33
|
+
- **URL**: `GET https://api.biorxiv.org/details/{server}/{interval}/{cursor}`
|
|
34
|
+
- **Parameters**:
|
|
35
|
+
|
|
36
|
+
| Parameter | Type | Required | Description |
|
|
37
|
+
|------------|--------|----------|--------------------------------------------------|
|
|
38
|
+
| server | string | Yes | Server name: `biorxiv` or `medrxiv` |
|
|
39
|
+
| interval | string | Yes | Date range in `YYYY-MM-DD/YYYY-MM-DD` format |
|
|
40
|
+
| cursor | int | No | Pagination cursor (default 0, increments of 100) |
|
|
41
|
+
|
|
42
|
+
- **Example**:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
curl "https://api.biorxiv.org/details/biorxiv/2024-01-01/2024-01-31/0"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
- **Response**: Returns a collection object containing `doi`, `title`, `authors`, `author_corresponding`, `date`, `category`, `abstract`, `published` (journal DOI if available), and `jatsxml` link.
|
|
49
|
+
|
|
50
|
+
### pubs: Published Article Linkage
|
|
51
|
+
|
|
52
|
+
Look up which preprints have been published in peer-reviewed journals, providing the mapping between preprint DOIs and journal article DOIs.
|
|
53
|
+
|
|
54
|
+
- **URL**: `GET https://api.biorxiv.org/pubs/{server}/{interval}/{cursor}`
|
|
55
|
+
- **Parameters**:
|
|
56
|
+
|
|
57
|
+
| Parameter | Type | Required | Description |
|
|
58
|
+
|------------|--------|----------|--------------------------------------------------|
|
|
59
|
+
| server | string | Yes | Server name: `biorxiv` or `medrxiv` |
|
|
60
|
+
| interval | string | Yes | Date range in `YYYY-MM-DD/YYYY-MM-DD` format |
|
|
61
|
+
| cursor | int | No | Pagination cursor (default 0, increments of 100) |
|
|
62
|
+
|
|
63
|
+
- **Example**:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
curl "https://api.biorxiv.org/pubs/biorxiv/2024-01-01/2024-06-30/0"
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
- **Response**: Returns `preprint_doi`, `published_doi`, `preprint_title`, `published_journal`, `published_date`, and `preprint_date`.
|
|
70
|
+
|
|
71
|
+
## Rate Limits
|
|
72
|
+
|
|
73
|
+
No formal rate limits are documented for the bioRxiv API. However, responsible use is expected. Results are paginated at 100 records per request, and the cursor parameter should be incremented to retrieve additional pages. Avoid excessive concurrent requests to ensure availability for all users.
|
|
74
|
+
|
|
75
|
+
## Common Patterns
|
|
76
|
+
|
|
77
|
+
### Monitor New Preprints in a Subject Area
|
|
78
|
+
|
|
79
|
+
Retrieve the latest preprints and filter by category to track new submissions in your field:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
# Fetch recent neuroscience preprints
|
|
83
|
+
curl "https://api.biorxiv.org/details/biorxiv/2024-06-01/2024-06-07/0" \
|
|
84
|
+
| jq '.collection[] | select(.category == "neuroscience")'
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Track Preprint-to-Publication Conversion
|
|
88
|
+
|
|
89
|
+
Monitor which preprints in your area have been formally published:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
# Check publication status for recent preprints
|
|
93
|
+
curl "https://api.biorxiv.org/pubs/biorxiv/2024-01-01/2024-06-30/0" \
|
|
94
|
+
| jq '.collection[] | select(.published_doi != "")'
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Build a Preprint Alert System
|
|
98
|
+
|
|
99
|
+
Paginate through all results for a given date range to build a comprehensive alert feed:
|
|
100
|
+
|
|
101
|
+
```python
|
|
102
|
+
import requests
|
|
103
|
+
|
|
104
|
+
base = "https://api.biorxiv.org/details/biorxiv/2024-06-01/2024-06-07"
|
|
105
|
+
cursor = 0
|
|
106
|
+
all_preprints = []
|
|
107
|
+
|
|
108
|
+
while True:
|
|
109
|
+
resp = requests.get(f"{base}/{cursor}").json()
|
|
110
|
+
records = resp.get("collection", [])
|
|
111
|
+
if not records:
|
|
112
|
+
break
|
|
113
|
+
all_preprints.extend(records)
|
|
114
|
+
cursor += 100
|
|
115
|
+
|
|
116
|
+
print(f"Total preprints retrieved: {len(all_preprints)}")
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## References
|
|
120
|
+
|
|
121
|
+
- Official documentation: https://api.biorxiv.org/
|
|
122
|
+
- bioRxiv homepage: https://www.biorxiv.org/
|
|
123
|
+
- medRxiv API (same structure): https://api.biorxiv.org/ (use `medrxiv` as server parameter)
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: boolean-search-guide
|
|
3
|
+
description: "Master Boolean operators and advanced search syntax for academic databases"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "mag_right"
|
|
7
|
+
category: "literature"
|
|
8
|
+
subcategory: "search"
|
|
9
|
+
keywords: ["boolean search", "search operators", "database search", "PubMed", "Web of Science", "search strategy"]
|
|
10
|
+
source: "wentor-research-plugins"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Boolean Search Guide
|
|
14
|
+
|
|
15
|
+
A skill for constructing precise, reproducible search queries using Boolean operators across major academic databases. Covers AND, OR, NOT logic, proximity operators, truncation, field codes, and strategies for building systematic search strings.
|
|
16
|
+
|
|
17
|
+
## Boolean Operator Fundamentals
|
|
18
|
+
|
|
19
|
+
### Core Operators
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
AND — Narrows results. Both terms must appear.
|
|
23
|
+
"machine learning" AND "drug discovery"
|
|
24
|
+
|
|
25
|
+
OR — Broadens results. Either term may appear.
|
|
26
|
+
"deep learning" OR "neural network"
|
|
27
|
+
|
|
28
|
+
NOT — Excludes results. Removes records containing the term.
|
|
29
|
+
cancer NOT "lung cancer"
|
|
30
|
+
|
|
31
|
+
() — Groups terms to control evaluation order.
|
|
32
|
+
(COVID-19 OR SARS-CoV-2) AND (vaccine OR vaccination)
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Operator Precedence
|
|
36
|
+
|
|
37
|
+
Databases evaluate Boolean expressions in this order unless parentheses override:
|
|
38
|
+
|
|
39
|
+
1. Proximity operators (NEAR, ADJ, W/n)
|
|
40
|
+
2. NOT
|
|
41
|
+
3. AND
|
|
42
|
+
4. OR
|
|
43
|
+
|
|
44
|
+
Always use parentheses to make your intent explicit:
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
# Ambiguous (results depend on database precedence):
|
|
48
|
+
sleep disorders OR insomnia AND cognitive performance
|
|
49
|
+
|
|
50
|
+
# Clear (intended meaning explicit):
|
|
51
|
+
(sleep disorders OR insomnia) AND cognitive performance
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Advanced Search Syntax
|
|
55
|
+
|
|
56
|
+
### Truncation and Wildcards
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
* — Truncation (unlimited characters)
|
|
60
|
+
therap* matches therapy, therapies, therapeutic, therapeutics
|
|
61
|
+
|
|
62
|
+
? — Single-character wildcard
|
|
63
|
+
wom?n matches woman, women
|
|
64
|
+
|
|
65
|
+
$ — Optional character (some databases)
|
|
66
|
+
behavio$r matches behavior, behaviour
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Proximity Operators by Database
|
|
70
|
+
|
|
71
|
+
| Database | Operator | Example | Meaning |
|
|
72
|
+
|----------|----------|---------|---------|
|
|
73
|
+
| PubMed | Not supported | -- | Use phrase search instead |
|
|
74
|
+
| Web of Science | NEAR/n | climate NEAR/3 adaptation | Within 3 words |
|
|
75
|
+
| Scopus | W/n | gene W/5 therapy | Within 5 words, ordered |
|
|
76
|
+
| Scopus | PRE/n | drug PRE/3 resistance | First term precedes second |
|
|
77
|
+
| ProQuest | N/n, P/n | poverty N/5 education | Within 5 words |
|
|
78
|
+
| EBSCO | Nn | mental N3 health | Within 3 words |
|
|
79
|
+
|
|
80
|
+
### Field-Specific Searching
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
PubMed:
|
|
84
|
+
"machine learning"[Title]
|
|
85
|
+
"Smith J"[Author]
|
|
86
|
+
"Nature"[Journal]
|
|
87
|
+
"2020/01/01"[Date - Publication] : "2024/12/31"[Date - Publication]
|
|
88
|
+
|
|
89
|
+
Web of Science:
|
|
90
|
+
TI=("deep learning")
|
|
91
|
+
AU=(Smith, John)
|
|
92
|
+
SO=(Nature)
|
|
93
|
+
PY=(2020-2024)
|
|
94
|
+
|
|
95
|
+
Scopus:
|
|
96
|
+
TITLE("deep learning")
|
|
97
|
+
AUTH(Smith)
|
|
98
|
+
SRCTITLE(Nature)
|
|
99
|
+
PUBYEAR > 2019
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Building a Systematic Search Strategy
|
|
103
|
+
|
|
104
|
+
### PICO Framework for Query Construction
|
|
105
|
+
|
|
106
|
+
```python
|
|
107
|
+
def build_pico_search(population: str, intervention: str,
|
|
108
|
+
comparison: str, outcome: str) -> str:
|
|
109
|
+
"""
|
|
110
|
+
Construct a Boolean search string from PICO components.
|
|
111
|
+
|
|
112
|
+
Args:
|
|
113
|
+
population: Target population terms (OR-separated)
|
|
114
|
+
intervention: Intervention terms (OR-separated)
|
|
115
|
+
comparison: Comparator terms (OR-separated, may be empty)
|
|
116
|
+
outcome: Outcome terms (OR-separated)
|
|
117
|
+
|
|
118
|
+
Returns:
|
|
119
|
+
Complete Boolean search string
|
|
120
|
+
"""
|
|
121
|
+
blocks = []
|
|
122
|
+
|
|
123
|
+
blocks.append(f"({population})")
|
|
124
|
+
blocks.append(f"({intervention})")
|
|
125
|
+
|
|
126
|
+
if comparison:
|
|
127
|
+
blocks.append(f"({comparison})")
|
|
128
|
+
|
|
129
|
+
blocks.append(f"({outcome})")
|
|
130
|
+
|
|
131
|
+
return " AND ".join(blocks)
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
# Example: Effect of mindfulness on anxiety in college students
|
|
135
|
+
query = build_pico_search(
|
|
136
|
+
population='"college students" OR "university students" OR undergraduates',
|
|
137
|
+
intervention='mindfulness OR "mindfulness-based stress reduction" OR MBSR',
|
|
138
|
+
comparison='"wait list" OR "waitlist" OR "usual care" OR "control group"',
|
|
139
|
+
outcome='anxiety OR "generalized anxiety" OR GAD OR "anxiety symptoms"'
|
|
140
|
+
)
|
|
141
|
+
print(query)
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Iterative Refinement Workflow
|
|
145
|
+
|
|
146
|
+
```
|
|
147
|
+
1. Identify key concepts from your research question
|
|
148
|
+
2. List synonyms, related terms, and variant spellings for each concept
|
|
149
|
+
3. Combine synonyms within each concept using OR
|
|
150
|
+
4. Connect concept blocks using AND
|
|
151
|
+
5. Test the search in your target database
|
|
152
|
+
6. Review the first 50 results for relevance
|
|
153
|
+
7. If recall is too low: add more synonyms, use truncation
|
|
154
|
+
8. If precision is too low: add more AND blocks, use field limits
|
|
155
|
+
9. Document the final search string with date and result count
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Search Filters and Limits
|
|
159
|
+
|
|
160
|
+
### Common Filters Across Databases
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
Language: English, Chinese, Spanish, etc.
|
|
164
|
+
Date range: Publication year or date added
|
|
165
|
+
Document type: Journal article, review, conference paper
|
|
166
|
+
Study design: RCT, cohort, case-control (PubMed clinical queries)
|
|
167
|
+
Species: Human, animal (PubMed)
|
|
168
|
+
Open access: Free full text available
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### PubMed Clinical Query Filters
|
|
172
|
+
|
|
173
|
+
PubMed provides validated search filters (hedges) for specific study types. Append these to your search:
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
# Therapy/Intervention (sensitive):
|
|
177
|
+
AND (randomized controlled trial[pt] OR controlled clinical trial[pt]
|
|
178
|
+
OR randomized[tiab] OR randomly[tiab] OR trial[tiab])
|
|
179
|
+
|
|
180
|
+
# Diagnosis (specific):
|
|
181
|
+
AND (sensitivity and specificity[MeSH] OR predictive value of tests[MeSH]
|
|
182
|
+
OR accuracy[tiab])
|
|
183
|
+
|
|
184
|
+
# Systematic Reviews:
|
|
185
|
+
AND (systematic review[pt] OR meta-analysis[pt] OR systematic[sb])
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
## Documenting and Reproducing Searches
|
|
189
|
+
|
|
190
|
+
For systematic reviews and reproducible research, always record:
|
|
191
|
+
|
|
192
|
+
- Database name and interface version
|
|
193
|
+
- Date the search was executed
|
|
194
|
+
- Complete search string with line numbers
|
|
195
|
+
- Number of results retrieved
|
|
196
|
+
- Any filters or limits applied
|
|
197
|
+
- Name of the person who ran the search
|
|
198
|
+
|
|
199
|
+
Store search strategies in a version-controlled file alongside your project so they can be independently verified and updated.
|