Awesome-Agent-Skills-for-Empirical-Research orkg-api
Query the Open Research Knowledge Graph for structured research data
install
source · Clone the upstream repo
git clone https://github.com/brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/43-wentorai-research-plugins/skills/literature/metadata/orkg-api" ~/.claude/skills/brycewang-stanford-awesome-agent-skills-for-empirical-research-orkg-api && rm -rf "$T"
manifest:
skills/43-wentorai-research-plugins/skills/literature/metadata/orkg-api/SKILL.mdsource content
Open Research Knowledge Graph (ORKG) API
Overview
The Open Research Knowledge Graph (ORKG) transforms unstructured scholarly articles into structured, machine-readable research contributions. Unlike traditional databases that store metadata (title, authors, DOI), ORKG captures the semantic content — research problems, methods, results, and their relationships. The REST API enables querying, creating, and comparing research contributions programmatically. Free, no authentication required for read operations.
API Endpoints
Base URL
https://orkg.org/api/
Search Papers
# Search papers in ORKG curl "https://orkg.org/api/papers?q=climate+change+adaptation&size=20" # Get paper details by ID curl "https://orkg.org/api/papers/R12345"
Search Resources
# Search any resource (papers, predicates, comparisons) curl "https://orkg.org/api/resources?q=machine+learning&size=20" # Filter by class curl "https://orkg.org/api/resources?q=BERT&exact=false&classes=Paper"
Comparisons
ORKG's unique feature — structured side-by-side comparison of papers:
# List comparisons curl "https://orkg.org/api/comparisons?size=10" # Get a specific comparison curl "https://orkg.org/api/comparisons/R54321" # Search comparisons curl "https://orkg.org/api/comparisons?q=sentiment+analysis"
Research Contributions
# Get contributions of a paper curl "https://orkg.org/api/papers/R12345/contributions" # A contribution describes what a paper contributes: # - Research problem addressed # - Method used # - Results achieved # - Materials/datasets used
Python Usage
import requests BASE_URL = "https://orkg.org/api" def search_orkg_papers(query: str, size: int = 20) -> list: """Search papers in the Open Research Knowledge Graph.""" resp = requests.get(f"{BASE_URL}/papers", params={"q": query, "size": size}) resp.raise_for_status() data = resp.json() papers = [] for item in data.get("content", []): papers.append({ "id": item.get("id"), "title": item.get("title"), "created": item.get("created_at"), "contributions": item.get("contributions", []) }) return papers def get_paper_contributions(paper_id: str) -> dict: """Get structured research contributions for a paper.""" resp = requests.get(f"{BASE_URL}/papers/{paper_id}/contributions") resp.raise_for_status() return resp.json() def search_comparisons(topic: str) -> list: """Find structured paper comparisons on a topic.""" resp = requests.get(f"{BASE_URL}/comparisons", params={"q": topic, "size": 10}) resp.raise_for_status() return resp.json().get("content", []) # Example usage papers = search_orkg_papers("transfer learning NLP") for p in papers: print(f"[{p['id']}] {p['title']}") comparisons = search_comparisons("named entity recognition") for c in comparisons: print(f"Comparison: {c.get('title')} ({len(c.get('contributions', []))} papers)")
Key Concepts
| Concept | Description | Example |
|---|---|---|
| Paper | A scholarly article with metadata | "Attention Is All You Need" |
| Contribution | What a paper contributes to knowledge | "Proposes self-attention mechanism" |
| Research Problem | The problem a contribution addresses | "Machine translation quality" |
| Predicate | A relationship type | "has_method", "has_result", "uses_dataset" |
| Comparison | Side-by-side structured comparison | "Transformer variants comparison" |
| Resource | Any entity in the knowledge graph | A method, dataset, metric, or concept |
ORKG vs Traditional Databases
| Feature | Traditional (S2, Crossref) | ORKG |
|---|---|---|
| Content | Metadata (title, DOI, citations) | Semantic content (methods, results) |
| Structure | Flat records | Knowledge graph with relationships |
| Comparison | Manual (read each paper) | Automated structured comparisons |
| Machine-readable | Bibliographic metadata only | Research contributions structured |
| Coverage | Broad (200M+ papers) | Deep but narrower (~50K papers) |
Use Cases
- Literature surveys: Find existing comparisons to quickly understand a field
- Method selection: Compare methods across papers on structured criteria
- Gap analysis: Identify research problems without solutions
- Reproducibility: Access structured descriptions of experimental setups
References
- ORKG Website
- ORKG API Documentation
- ORKG Help Center
- Jaradeh, M.Y., et al. (2019). "Open Research Knowledge Graph: Next Generation Infrastructure for Semantic Scholarly Knowledge." K-CAP 2019.