Description
🔍 Motivation
Citation count provides a useful indicator of the academic impact of a publication. Automating the population of this field from Semantic Scholar saves manual effort and enhances bibliographic data quality in JabRef.
📌 Goal
Extend the existing SemanticScholarCitationFetcher
to retrieve the citation count for a given paper using the Semantic Scholar API and store it in a new BibTeX field citationcount
.
🛠️ Tasks
-
Integrate citation count fetching
- Implement logic in
org.jabref.logic.importer.fetcher.citation.semanticscholar.SemanticScholarCitationFetcher
using
PaperDetails#getCitationCount()
from
org.jabref.logic.importer.fetcher.citation.semanticscholar.PaperDetails
.
- Implement logic in
-
Add a new field
- Define a new field
citationcount
inorg.jabref.model.entry.field.StandardField
(under JabRef-specific fields). - Ensure that the field is recognized and included in citation fetcher updates.
- Define a new field
-
Write tests
- Add unit tests in
org.jabref.logic.importer.fetcher.citation.semanticscholar.SemanticScholarCitationFetcherTest
to verify that citation count is fetched and set correctly. - Additonally, Mock or simulate Semantic Scholar API responses with citation counts.
- Add unit tests in
-
UI integration
- Add a new FieldEditor
CitationCount
(inspired by IdentifierEditor) and integrate it into the UI by modifying FieldEditors#getForField(...). - Add an update button, which uses the SemanticScholarFEtcher to update the citation cound.
- Add a new FieldEditor
✅ Acceptance Criteria
- When the fetcher is run on an entry with a DOI or title, and Semantic Scholar returns a citation count, the value is written to the
citationcount
field. - The value is stored as an integer.
- Field appears in the entry editor in tab "General"
📚 Helpful resources
- [Semantic Scholar API](https://api.semanticscholar.org/)
[PaperDetails](https://github.com/JabRef/jabref/blob/main/src/main/java/org/jabref/logic/importer/fetcher/citation/semanticscholar/PaperDetails.java)
[SemanticScholarCitationFetcher](https://github.com/JabRef/jabref/blob/main/src/main/java/org/jabref/logic/importer/fetcher/citation/semanticscholar/SemanticScholarCitationFetcher.java)
- [How to contribute to JabRef](https://github.com/JabRef/jabref/blob/main/CONTRIBUTING.md)
- [Developer Docs](https://devdocs.jabref.org/)
Metadata
Metadata
Assignees
Labels
Type
Projects
Status