skills/43-wentorai-research-plugins/skills/literature/metadata/wikidata-api-guide/SKILL.md
Query Wikidata SPARQL for scholarly metadata, authors, and entities
npx skillsauth add brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research wikidata-api-guideInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Wikidata is a free, collaborative, multilingual knowledge base maintained by the Wikimedia Foundation. It contains structured data about millions of entities including scholarly articles, academic journals, researchers, universities, and scientific concepts. Each entity has a unique QID and properties linking it to other entities, forming a rich knowledge graph.
For academic researchers, Wikidata serves as a powerful tool for bibliometric analysis, disambiguation of author names, mapping institutional relationships, and linking scholarly outputs across different identifier systems (DOI, ORCID, PubMed ID, arXiv ID, etc.). The SPARQL query service provides a flexible, standards-based interface for complex graph queries.
The Wikidata Query Service is entirely free, requires no authentication, and supports the full SPARQL 1.1 query language. It is especially powerful for cross-referencing scholarly metadata that spans multiple databases and identifier systems.
No authentication is required. The Wikidata SPARQL endpoint is free and open.
# No API key needed -- set a descriptive User-Agent header as courtesy
curl -G "https://query.wikidata.org/sparql" \
--data-urlencode "query=SELECT ?item WHERE { ?item wdt:P31 wd:Q5 } LIMIT 5" \
-H "Accept: application/json" \
-H "User-Agent: ResearchClaw/1.0 (academic research tool)"
GET https://query.wikidata.org/sparql?query={SPARQL}&format=json
Parameters:
query (required): URL-encoded SPARQL queryformat: Response format (json, xml, csv, tsv)curl -G "https://query.wikidata.org/sparql" \
--data-urlencode 'query=
SELECT ?paper ?paperLabel ?doi WHERE {
?author wdt:P496 "0000-0002-1825-0097" .
?paper wdt:P50 ?author ;
wdt:P356 ?doi .
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" . }
} LIMIT 20' \
-H "Accept: application/json" \
-H "User-Agent: ResearchClaw/1.0"
SELECT ?journal ?journalLabel ?issn (COUNT(?article) AS ?articleCount) WHERE {
?journal wdt:P31 wd:Q5633421 ;
wdt:P236 ?issn .
?article wdt:P1433 ?journal .
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" . }
}
GROUP BY ?journal ?journalLabel ?issn
ORDER BY DESC(?articleCount)
LIMIT 20
import requests
SPARQL_URL = "https://query.wikidata.org/sparql"
HEADERS = {
"Accept": "application/json",
"User-Agent": "ResearchClaw/1.0 (academic research tool)"
}
def query_wikidata(sparql_query):
"""Execute a SPARQL query against Wikidata."""
resp = requests.get(
SPARQL_URL,
params={"query": sparql_query},
headers=HEADERS
)
resp.raise_for_status()
data = resp.json()
return data["results"]["bindings"]
# Find all identifier mappings for a researcher
sparql = """
SELECT ?person ?personLabel ?orcid ?scopus ?dblp ?gscholar WHERE {
?person wdt:P496 "0000-0002-1825-0097" .
OPTIONAL { ?person wdt:P496 ?orcid . }
OPTIONAL { ?person wdt:P1153 ?scopus . }
OPTIONAL { ?person wdt:P2456 ?dblp . }
OPTIONAL { ?person wdt:P1960 ?gscholar . }
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" . }
}
"""
results = query_wikidata(sparql)
for r in results:
print(f"Name: {r.get('personLabel', {}).get('value', 'N/A')}")
print(f" ORCID: {r.get('orcid', {}).get('value', 'N/A')}")
print(f" Scopus: {r.get('scopus', {}).get('value', 'N/A')}")
print(f" DBLP: {r.get('dblp', {}).get('value', 'N/A')}")
print(f" Google Scholar: {r.get('gscholar', {}).get('value', 'N/A')}")
SELECT ?uni ?uniLabel ?country ?countryLabel ?coord WHERE {
?uni wdt:P31 wd:Q3918 ;
wdt:P17 ?country ;
wdt:P625 ?coord .
FILTER(?country = wd:Q30)
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" . }
}
LIMIT 50
Author Disambiguation: Use Wikidata to resolve author names by cross-referencing ORCID, Scopus ID, DBLP, and Google Scholar identifiers. This is particularly useful when a common name maps to multiple researchers.
Bibliometric Graph Construction: Build citation and co-authorship networks by querying the relationships between authors, papers, journals, and institutions in the Wikidata graph.
Identifier Translation: Convert between DOI, PubMed ID, arXiv ID, and other identifiers using Wikidata's comprehensive property mappings. This enables linking records across heterogeneous databases.
Institutional Analysis: Map university affiliations, geographic distributions, and organizational hierarchies for researchers in a specific field.
SERVICE wikibase:label for human-readable labels instead of QIDsdevelopment
Conduct rigorous thematic analysis (TA) of qualitative data following Braun and Clarke's (2006) six-phase framework. Use whenever the user mentions 'thematic analysis', 'TA', 'Braun and Clarke', 'qualitative coding', 'identifying themes', or asks for help analysing interviews, focus groups, open-ended survey responses, or transcripts to identify patterns. Also trigger for questions about inductive vs theoretical coding, semantic vs latent themes, essentialist vs constructionist epistemology, building a thematic map, or writing up a qualitative findings section. Covers all six phases, the four upfront analytic decisions, the 15-point quality checklist, and the five common pitfalls. Produces a Word document write-up and an annotated thematic map. Does NOT cover IPA, grounded theory, discourse analysis, conversation analysis, or narrative analysis — use a different method for those.
development
Guide users through writing a systematic literature review (SLR) following the PRISMA 2020 framework. Use this skill whenever the user mentions 'systematic review', 'systematic literature review', 'SLR', 'PRISMA', 'PRISMA 2020', 'PRISMA flow diagram', 'PRISMA checklist', or asks for help writing, structuring, or auditing a literature review that follows reporting guidelines. Also trigger when the user asks about inclusion/exclusion criteria for a review, search strategies for databases like Scopus/WoS/PubMed, study selection processes, risk of bias assessment, or narrative synthesis for a review paper. This skill covers the full PRISMA 2020 checklist (27 items), produces a Word document manuscript in strict journal article format, generates an annotated PRISMA flow diagram, and enforces APA 7th Edition referencing throughout. It does NOT cover meta-analysis or statistical pooling. By Chuah Kee Man.
testing
Performs placebo-in-time sensitivity analysis with hierarchical null model and optional Bayesian assurance. Use when checking model robustness, verifying lack of pre-intervention effects, or estimating study power.
data-ai
Fit, summarize, plot, and interpret a chosen CausalPy experiment. Use after the causal method has been selected, including when configuring PyMC/sklearn models and scale-aware custom priors.