gpt4 book ai didi

sql - 按 pageid 的维基百科页面到页面链接

转载 作者:行者123 更新时间:2023-12-04 21:47:10 24 4
gpt4 key购买 nike

什么?:
我正在尝试通过 page_id 获取维基百科页面的页面到页面链接映射(矩阵)以下格式:

from1 to1 to2 to3 ...
from2 to1 to2 to3 ...
...

为什么?:
我正在寻找数据集(来自维基百科的页面)来试用 PageRank。

问题:
dumps.wikimedia.org可以下载 pages-articles.xml 这是具有这种格式的 XML:
<page>
<title>...</title>
<id>...</id> // pageid
<text>...</text>
</page>

我将用于检索文章( text ),然后还基于每页数据( page.sql ),其中包含有关页面的一些详细信息 page_id最后一个似乎与我相关的是 pagelinks.sql 包含页到页链接记录。问题是 pagelinks表有以下字段: pl_from , pl_namespacepl_title .

思路:创建临时数据库,导入 pagepagelinks表并使用 pagelinks 创建此矩阵表和检索 page_id s 根据 pl_title s。可能的解决方案:
SELECT pl_from, GROUP_CONCAT(page_id SEPARATOR ' ') FROM pagelinks
JOIN page ON
pl_title = page_title AND pl_namespace = page_namespace
GROUP BY pl_from

或获取“反向链接”的 map ( to1 from1 from2 from3 ... ,而不是 from1 to1 to2 to3 ... ):
SELECT page_id, GROUP_CONCAT(pl_from SEPARATOR ' ') FROM pagelinks
JOIN page ON
pl_title = page_title AND pl_namespace = page_namespace
GROUP BY page_id

题:
有没有地方可以通过 page_id 获得这种页面到页面链接的矩阵?这样我就不需要自己创建它了?
或者,如果没有,有没有比我指出的解决方案更快的方法来获得这种矩阵?

最佳答案

我认为将两个表导入数据库并使用它可能是最简单的方法(并且您不需要 pages-articles.xml)。

另一种选择是手动解析这两个 sql 文件而不将它们导入数据库。我实际上创建了 a library to do exactly that in .Net .

关于sql - 按 pageid 的维基百科页面到页面链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12672008/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com