finds.dev← search

// the find

liuhuanyong/ChainKnowledgeGraph

★ 779 · Python · updated Dec 2025

ChainKnowledgeGraph, 产业链知识图谱包括A股上市公司、行业和产品共3类实体,包括上市公司所属行业关系、行业上级关系、产品上游原材料关系、产品下游产品关系、公司主营产品、产品小类共6大类。 上市公司4,654家,行业511个,产品95,559条、上游材料56,824条,上级行业480条,下游产品390条,产品小类52,937条,所属行业3,946条。

A static dataset (JSON files) mapping A-share listed companies, industries, and products into a graph: 4,654 companies, 511 industries, and roughly 150k relationship edges covering supply chains, industry hierarchy, and main-product lines, plus a single script to load it into a graph DB. Useful for Chinese FinTech/NLP researchers who want a ready-made industry-chain graph rather than scraping and extracting one themselves.

The scale is real and specific, not inflated — 100,718 nodes and 169,153 edges, with clear per-relation counts, and it's built on the actual 2021 Shenwan (申万) three-tier industry taxonomy rather than an ad-hoc classification. The README is unusually honest about the dataset's limits: it explicitly calls out the subjectivity of industry-chain modeling and the lack of quantitative weights for reasoning, rather than overselling it as a finished knowledge base. It's the third release in a consistent series from the same author (military, medical, now industry-chain KGs), so the data format and conventions are predictable if you've used the others.

There's no extraction pipeline in the repo — the README describes the pattern-matching and sequence-labeling methods used to build the relations, but none of that code ships, only the resulting JSON and one build_graph.py, so you can't reproduce or update the graph yourself. The data is frozen to 2021-era classifications and whatever company snapshot was pulled at the time, with no versioning or refresh mechanism, which matters a lot for financial data that goes stale fast. There's no license file in the tree, which is a real problem if you want to use Chinese A-share company/product data commercially. No tests, no requirements.txt, and build_graph.py's actual behavior (presumably loading into Neo4j) isn't documented, so you're reverse-engineering the single script to know what it needs.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →