sneakers-the-rat / paper-feeds

A FastAPI web server for creating RSS feeds for scholarly journals with the magic of adversarial interoperability
GNU General Public License v3.0
60 stars 4 forks source link

Keyword Feeds #4

Open sneakers-the-rat opened 6 months ago

sneakers-the-rat commented 6 months ago

Re:

Initial request is for being able to filter keywords from a feed, which will be in a separate issue, but the idea of making specific feeds for keywords is also a great idea.

Feature Description: have feeds at tags/{tag}/rss that carry feeds for all papers matching that tag.

Details: Individual papers from crossref have keywords! Currently these are just stored as a concatenated string, but if we split them off into their own table then we could do cross-journal indexing by topic, which makes way more sense than journal indexing anyway.

To do this we would make a many-to-many relationship between a paper and its keywords: https://sqlmodel.tiangolo.com/tutorial/many-to-many/create-models-with-link/

So we would have a simple two-column id, tag table with a uniqueness constraint on tag and a linking table with paper_id and tag_id. Then the feed generation logic would be the same as for journal RSS feeds - instead of finding all papers whose journal matches a given ISSN, find all papers who have a given tag.

The work of combining keyword feeds should be left to the reader imo, but we could revisit that if need be.