dpriskorn / dpriskorn/WikidataOrcidScraper

On the landing page, provide a list of suggestions to work on

Open
#10 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
4
Forks
0
PR merge metrics
No merged PRs in 30d

Description

This could be achieved, for instance, via WDQS queries like [ORCID Scraper pages for random Wikidata items with ORCID statement](https://query.wikidata.org/#%23%20ORCID%20Scraper%20pages%20for%20random%20Wikidata%20items%20with%20ORCID%20statement%0A%0ASELECT%20%0A%28URI%28CONCAT%28%22https%3A%2F%2Forcid-scraper.toolforge.org%2Fresults%3Fqid%3D%22%2C%20ENCODE_FOR_URI%28REPLACE%28STR%28%3Fperson%29%2C%20%22.%2aQ%22%2C%20%22Q%22%29%29%2C%20%22%26orcid%3D%22%2C%20ENCODE_FOR_URI%28%3Forcid%29%29%29%20AS%20%3FqidorcidURI%29%0AWHERE%20%7B%0A%20%20SERVICE%20bd%3Asample%20%7B%0A%20%20%20%20%3Fperson%20wdt%3AP496%20%3Forcid.%0A%20%20%20%20bd%3AserviceParam%20bd%3Asample.limit%2010%20.%0A%20%20%7D%0A%7D)

Ideally, the query results would be filtered such that they actually give the users something to do. A minimal example would be with one "Missing" paper:
![image](https://github.com/dpriskorn/WikidataOrcidScraper/assets/465923/becaebd6-9e45-4cde-ad7c-0ccde97273ed)

There are three main cases to be avoided. The first is when the ORCID profile is empty:
![image](https://github.com/dpriskorn/WikidataOrcidScraper/assets/465923/0d69bd96-b89c-4c89-a36f-9a4a3b731c5e)

The second case is when all papers known to ORCID are also known to Wikidata — here is a minimal example:

![image](https://github.com/dpriskorn/WikidataOrcidScraper/assets/465923/afa4125f-3ec2-4cda-bf84-7953605dafd1)

The third case is when there are things to do, but they are one or more pages beyond the current offset.

Apart from ORCID Scraper pages, other things to do could, for instance, involve curation to establish links between ORCID and Wikidata, as per the following queries:
- Authors of Wikidata-indexed papers who have no ORCID statement in Wikidata
- [quick and simple](https://query.wikidata.org/#%23%20Authors%20of%20Wikidata-indexed%20papers%20who%20have%20no%20ORCID%20statement%20in%20Wikidata%20%0A%0ASELECT%20DISTINCT%20%3Fauthor%20%3FauthorLabel%20%3FauthorDescription%20%0A%20%20%20%20%20%20%20%28URI%28CONCAT%28%22https%3A%2F%2Fscholia.toolforge.org%2Fauthor%2F%22%2C%20ENCODE_FOR_URI%28REPLACE%28STR%28%3Fauthor%29%2C%20%22.%2aQ%22%2C%20%22Q%22%29%29%29%29%20AS%20%3FscholiaURI%29%20%0A%20%20%20%20%20%20%20%28URI%28CONCAT%28%22https%3A%2F%2Forcid.org%2Forcid-search%2Fsearch%2F%3FsearchQuery%3D%22%2C%20ENCODE_FOR_URI%28%3FauthorLabel%29%29%29%20AS%20%3Forcid_searchUrl%29%20%0AWHERE%20%7B%0A%20%20SERVICE%20bd%3Asample%20%7B%0A%20%20%20%20%3Fitem%20wdt%3AP50%20%3Fauthor.%0A%20%20%20%20bd%3AserviceParam%20bd%3Asample.limit%202000%20.%0A%20%20%7D%0A%20%20%3Fauthor%20wdt%3AP31%20wd%3AQ5%20.%0A%20%20%3Fitem%20wdt%3AP356%20%3Fdoi.%0A%20%20FILTER%28NOT%20EXISTS%20%7B%20%3Fauthor%20wdt%3AP496%20%3Forcid.%20%7D%29%0A%20%20SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22%5BAUTO_LANGUAGE%5D%2Cen%22.%20%7D%0A%7D%0AGROUP%20BY%20%3Fauthor%20%3FauthorLabel%20%3FauthorDescription%20%3FscholiaURI%20%3Forcid_searchUrl%0ALIMIT%2050)
- [a bit more elaborate: Authors of post-2019 papers who have no ORCID in Wikidata](https://query.wikidata.org/#%23title%3A%20Authors%20of%20post-2019%20papers%20who%20have%20no%20ORCID%20in%20Wikidata%0A%0ASELECT%0ADISTINCT%20%0A%20%20%3Fauthor%0A%20%20%3FauthorLabel%0A%20%20%3FauthorDescription%20%0A%20%20(URI(CONCAT(%22https%3A%2F%2Fscholia.toolforge.org%2Fauthor%2F%22%2C%20ENCODE_FOR_URI(REPLACE(STR(%3Fauthor)%2C%20%22.*Q%22%2C%20%22Q%22))))%20AS%20%3FscholiaURI)%20%0A%20%20(URI(CONCAT(%22https%3A%2F%2Forcid.org%2Forcid-search%2Fsearch%2F%3FsearchQuery%3D%22%2C%20ENCODE_FOR_URI(%3FauthorLabel)))%20AS%20%3Forcid_searchUrl)%20%0A%20%20%3Fpapersinpost2019sample%0A%20%20%3Ftotalpapers%0AWITH%20{%0A%20%20SELECT%20DISTINCT%20%3Fwork%20%3Fauthor%20WHERE%20{%0A%20%20SERVICE%20bd%3Asample%20{%0A%20%20%20%20%3Fwork%20wdt%3AP50%20%3Fauthor.%0A%20%20%20%20bd%3AserviceParam%20bd%3Asample.limit%20100000%20.%0A%20%20}%0A%20%20%3Fauthor%20wdt%3AP31%20wd%3AQ5%20.%0A%20%20%3Fwork%20wdt%3AP356%20%3Fdoi.%0A%20%20%3Fwork%20wdt%3AP577%20%3Fpublication_date%20.%20%0A%20%20bind(year(%3Fpublication_date)%20as%20%3Fyear)%0A%20%20FILTER%20(%3Fyear%20%3E%202019)%0A%20%20}%0A%20%20LIMIT%205000%0A}%20AS%20%25works%0AWITH%20{%0A%20%20SELECT%0A%20%20%20%20(COUNT(DISTINCT%20%3Fwork)%20AS%20%3Fpapersinpost2019sample)%0A%20%20%20%20(COUNT(DISTINCT%20%3Fwork1)%20AS%20%3Ftotalpapers)%0A%20%20%20%20%3Fauthor%0A%20%20WHERE%20{%0A%20%20%20%20INCLUDE%20%25works%0A%20%20%20%20%3Fwork1%20wdt%3AP50%20%3Fauthor%20.%0A%20%20}%0A%20%20GROUP%20BY%20%3Fauthor%0A}%20AS%20%25result%0AWHERE%20{%0A%20%20INCLUDE%20%25result%0A%20%20FILTER(NOT%20EXISTS%20{%20%3Fauthor%20wdt%3AP496%20%3Forcid.%20})%0A%20%20SERVICE%20wikibase%3Alabel%20{%20bd%3AserviceParam%20wikibase%3Alanguage%20%22[AUTO_LANGUAGE]%2Cen%22.%20}%0A}%0AORDER%20BY%20DESC(%3Fpapersinpost2019sample)%20DESC(%3Ftotalpapers)%0A%0A%20%20%0A)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the landing page entry point and review the linked WDQS examples, including the ORCID Scraper and author-curation queries. Define how suggestions should exclude empty profiles, fully matched profiles, and results beyond the current offset; done means the landing page presents actionable suggestions rather than unusable results.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.