AGENT SKILL

research-knowledge-graph

Turn a bibliography or literature corpus into a knowledge graph of papers, authors, venues, topics and citation links, then analyze it (citation clusters, key papers, bridging work, research gaps) or export it to Neo4j, Gephi, NetworkX, Obsidian or Markdown-graph tools such as graphify. Use when mapping a research field, building a citation network, finding influential or bridging papers, or visualizing how a literature connects. Zero-dependency builder with optional OpenAlex enrichment.

License 许可
MIT
最近更新
2026-11-11
Stars
★ 1.6k
Forks
468

01 前言 Front Matter

name
research-knowledge-graph
license
MIT
metadata
{ "tags": "knowledge graph, citation network, bibliometrics, OpenAlex, Neo4j, Gephi, NetworkX, Obsidian, graphify, science mapping", "author": "Kalaris Labs (Sayan Chowdhury)", "version": "1.0", "category": "knowledge-and-rag", "maintainer": "Kalaris Labs" }
description
Turn a bibliography or literature corpus into a knowledge graph of papers, authors, venues, topics and citation links, then analyze it (citation clusters, key papers, bridging work, research gaps) or export it to Neo4j, Gephi, NetworkX, Obsidian or Markdown-graph tools such as graphify. Use when mapping a research field, building a citation network, finding influential or bridging papers, or visualizing how a literature connects. Zero-dependency builder with optional OpenAlex enrichment.
compatibility
Python 3.9+ standard library; network access to api.openalex.org for --openalex. networkx optional for analysis.

02 资源文件 1

03 SKILL.md 正文

Research Knowledge Graphs

A literature review is a graph problem in disguise: which papers everyone builds on, which clusters talk past each other, which work bridges them, and where the gaps are. This skill builds that graph from a reference library and hands it to whichever graph tool the user prefers.

Build

# Offline: authors, venues and keywords from the .bib itself
python scripts/build_graph.py references.bib --out kg/

# Enriched: disambiguated authors (OpenAlex IDs, ORCID), venues, topics, and
# citation edges between papers in the library
python scripts/build_graph.py references.bib --out kg/ --openalex --mailto you@university.edu

CSL-JSON (.json, exported by Zotero or reference-manager-interop) also works as input.

Output Use it with
graph.json NetworkX: nx.node_link_graph(json.load(f), edges="links"), or any JS graph lib
graph.graphml Gephi, yEd, Cytoscape, igraph, nx.read_graphml
nodes.csv, edges.csv Neo4j (neo4j-admin database import full --nodes=nodes.csv --relationships=edges.csv) or Gephi spreadsheet import
vault/ Obsidian (graph view), and Markdown-graph tools such as graphify, which read [[wikilinks]] as edges

Schema. Node type ∈ {paper, author, venue, topic}. Edge type ∈ {authored_by, published_in, about, cites}. Paper nodes carry doi, year, openalex, cited_by_count when known.

Expand beyond the library (snowballing)

Citation edges only connect papers you already have. To map a field:

  1. Seed with 5-20 core papers.
  2. Backward: collect each seed's referenced_works from OpenAlex. Forward: query https://api.openalex.org/works?filter=cites:W123... for citing works.
  3. Keep candidates cited by ≥2 seeds (co-citation), export them to .bib, rebuild.
  4. Stop when a round adds few new highly connected papers. Report the rounds and thresholds (reproducibility).

Analyze (NetworkX)

import json, networkx as nx
g = nx.node_link_graph(json.load(open("kg/graph.json")), edges="links")
papers = [n for n, d in g.nodes(data=True) if d["type"] == "paper"]
cit = g.edge_subgraph([(u, v) for u, v, d in g.edges(data=True) if d["type"] == "cites"]).copy()

influential = sorted(cit.in_degree(), key=lambda x: -x[1])[:10]            # most cited within corpus
bridges = sorted(nx.betweenness_centrality(cit.to_undirected()).items(), key=lambda x: -x[1])[:10]
communities = nx.community.louvain_communities(cit.to_undirected(), seed=0)  # research clusters

Interpretation guidelines:

  • High in-degree within the corpus = foundational for this literature (not globally important).
  • High betweenness = bridges clusters, often the best papers to read for synthesis sections.
  • Communities = candidate subsections of a review. Name each by its top topics and most cited paper.
  • Sparse links between clusters that share topics = a potential research gap worth stating (and verifying).
  • Co-authorship components show research groups. Beware name-based author merging without --openalex.

Visualize

  • Gephi: open graph.graphml → ForceAtlas2 → size by in-degree → color by modularity class.
  • Obsidian: open kg/vault as a vault and use Graph view, filtering by folder (papers/authors/topics).
  • Small graphs in documents: convert the citation subgraph to Mermaid (flowchart LR, one edge per cites).

Integrity rules

  • Never invent edges or papers. Every node and edge must come from the library or the OpenAlex record.
  • Verify surprising structure, such as an apparent gap, by reading the papers before claiming it.

Caveats to state in any write-up

Coverage depends on OpenAlex/Crossref metadata; citation edges are only as complete as referenced_works. Keyword/topic nodes are coarse. Always report the data source, retrieval date and filtering thresholds.

Related skills

paper-corpus-rag (full-text QA over the same papers), literature-review, systematic-review-prisma, networkx, reference-manager-interop, citation-verification.

04 同仓库更多 Skills

hashgraph-online
hashgraph-online/awesome-codex-plugins

deja-search

deja-vu memory — search the user's past AI coding sessions with the deja CLI. Holds what they already settled and never wrote into the repo (naming rules, banned or already-tried tools, required checks before merge, preferred values, who owns what). Use before your first edit in a task, before you call a change done or ready to merge, before you recommend a tool, library, design or reviewer, before re-debugging an error that may already be solved, when they say 'didn't we fix this before', 'what did we decide about X' or 'I already have that', and before telling them something on this machine does not exist.

★ 1.6k
hashgraph-online
hashgraph-online/awesome-codex-plugins

deja-reflect

End-of-session reflection and memory curation with deja-vu. Review what was decided, what commands broke and what repaired them, and record durable project rules or decisions with deja remember so the next session starts with them.

★ 1.6k
hashgraph-online
hashgraph-online/awesome-codex-plugins

revid

Make, edit, export and post AI videos with Revid (revid.ai) through the Revid MCP server. Use whenever the user wants a short-form or long-form video made (from an idea, a script, a URL, an article, a PDF, a tweet, a product page, their own clips, or a song), wants to find what is going viral on TikTok, YouTube, Instagram or X before making something, wants to edit or re-export an existing Revid project, generate a standalone AI image or clip, make a series episode, or publish and schedule a finished video to connected social accounts. Covers setup (hosted MCP with OAuth, or an API key), the 36 tools, credits, polling and the rules for publishing. Routes to the more specific revid-* skills when one fits.

后端与接口图像与多媒体
★ 1.6k
hashgraph-online
hashgraph-online/awesome-codex-plugins

review-study

Review a QuestionPunk survey before launch for wording, answer choices, branching, and missing settings. Use for check my survey or review this draft before publishing.

★ 1.6k
hashgraph-online
hashgraph-online/awesome-codex-plugins

manage-study

Find QuestionPunk studies, check status, publish an explicitly requested draft, or retrieve its participant link. Use for find my survey, publish this study, or how many people responded.

★ 1.6k
hashgraph-online
hashgraph-online/awesome-codex-plugins

create-study

Create a saved QuestionPunk survey draft from a research brief or edit specified questions. Use for requests such as make a customer feedback survey or shorten my onboarding study.

★ 1.6k