위키 레이싱 그래프 데이터
한국어 위키백과 2026년 11월 1일 덤프로 만들었다.
일반 문서 770,114개, 링크 54,085,452개 (방향 있음).
넘겨주기는 실제 문서로 합쳤고, 없는 문서로 가는 링크와 자기 자신 링크는 뺐다.
틀(내비게이션 박스)에서 온 링크도 포함되어 있다. 제목의 띄어쓰기는 밑줄이다.

[이 파일은 샘플이다]
들어오는 링크가 많은 문서 10,000개와 그 문서들 사이의 링크 5,673,671개만 남겼다. 번호는 0부터 다시 매겼고, titles.tsv의 두 번째 칸은 전체 그래프에서의 번호다.
샘플에서의 최단 경로는 전체 그래프의 최단 경로와 다를 수 있다. 구현 테스트용으로 쓴다.

[파일]
titles.tsv : 번호<TAB>전체 번호<TAB>제목
             번호<TAB>전체 번호<TAB>제목
links.txt  : 출발번호 대상번호 대상번호 ...
             출발번호 대상번호 ...

- 번호는 0부터 빈틈없이 매겼고, n번째 줄(0부터)이 n번 문서다.
- 대상 번호는 오름차순이고 겹치지 않는다.
- 나가는 링크가 없는 문서는 번호만 있는 줄이다.

[Python으로 읽기]
titles = [line.rstrip("\n").split("\t")[2] for line in open("titles.tsv", encoding="utf-8")]
graph = [list(map(int, line.split()[1:])) for line in open("links.txt")]
print(titles[0], len(graph[0]))

[C++로 읽기]
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
std::vector<std::vector<int>> graph;
std::ifstream in("links.txt");
std::string line;
while (std::getline(in, line)) {
    std::istringstream ss(line);
    int src, dst;
    ss >> src;
    graph.emplace_back();
    while (ss >> dst) graph.back().push_back(dst);
}

[파일]
graph.json : 키는 문서 제목, 값은 그 문서에서 갈 수 있는 문서 제목 목록이다.
{
"리그_오브_레전드":["대한민국","비디오_게임", ...],
...
}

- 문서 하나가 한 줄이라, 전체 JSON으로 읽어도 되고 한 줄씩 읽어도 된다.
- 나가는 링크가 없는 문서는 값이 빈 목록이다.
- 제목은 UTF-8이다.

[Python으로 읽기]
import json
graph = json.load(open("graph.json", encoding="utf-8"))
print(graph["대한민국"][:5])
