Overview
Extend the existing Cytoscape.js graph with directed citation edges sourced from the Semantic Scholar API (or other sources or our own method). The API accepts arXiv IDs directly (/graph/v1/paper/ARXIV:{id}), so no DOI resolution is needed. Fetched data is stored in SQLite and cached to avoid repeated API calls. Citation edges are visually distinct from co-authorship edges (dashed orange lines with arrowheads).
Implementation Notes
New citations table (db/citations.py):
Semantic Scholar fetch helper:
Rate limit note: the Semantic Scholar unauthenticated tier allows ~1 req/s; the batch-fetch path must respect this.
Overview
Extend the existing Cytoscape.js graph with directed citation edges sourced from the Semantic Scholar API (or other sources or our own method). The API accepts arXiv IDs directly (
/graph/v1/paper/ARXIV:{id}), so no DOI resolution is needed. Fetched data is stored in SQLite and cached to avoid repeated API calls. Citation edges are visually distinct from co-authorship edges (dashed orange lines with arrowheads).Implementation Notes
New
citationstable (db/citations.py):Semantic Scholar fetch helper:
Rate limit note: the Semantic Scholar unauthenticated tier allows ~1 req/s; the batch-fetch path must respect this.