dpriskorn / dpriskorn/WikidataOrcidScraper
On the landing page, provide a list of suggestions to work on
- 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:

There are three main cases to be avoided. The first is when the ORCID profile is empty:

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

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