【问题标题】:How to get a Wikipedia entry's template type如何获取维基百科条目的模板类型
【发布时间】:2012-07-09 23:52:35
【问题描述】:

我需要找出维基百科页面条目的模板类型。到目前为止,我一直依赖于将查询结果解析到维基百科,这在一定程度上是有效的。

例如,如果我搜索 Joel Spolsky,我可以通过正则表达式匹配'infobox',发现这个页面是指Infobox Person

但问题是,维基百科模板类型没有一致的命名方案,模板名称中通常不使用“信息框”。

例如,如果我搜索 Pittsburgh Steelers,我无法可靠地找到从结果中提取 NFL team 模板的方法。

有人知道查询维基百科页面模板类型的方法吗?谢谢:)

【问题讨论】:

  • AFAIK,没有“维基百科页面的模板类型”之类的东西。一个页面可以包含许多独立的、不相关的模板。

标签: wikipedia wikipedia-api


【解决方案1】:

最简单的方法是查看页面的类别而不是模板。例如,Joel Spolsky 的类别为“活着的人”,Pittsburgh Steelers 的类别为“国家橄榄球联盟球队”。

【讨论】:

  • 我曾希望尽可能避免使用该解决方案,原因很简单,维基百科类别通常维护得很差。例如,考虑像 N.J. Devils 这样的 NHL 球队页面 - 此页面具有“大西洋赛区 (NHL)”类别,但没有“国家冰球联盟球队”类型类别。我的逻辑是所有 NHL 球队的模板至少是一致的。我会解决它。感谢您的建议。
  • 实际上,假设模板是一致的并不是一个好主意。例如,如果您查看政治信息框,会有很多不同的信息框,即使它们都应该使用 Infobox Officeholder。事实上,Infobox Officeholder 是许多其他做同样事情的模板的占位符模板。
【解决方案2】:

也许DBpedia 可以提供帮助。 DBpedia 提取来自 Wikipedia 的结构化数据,提供下载并将其存储在可公开访问的数据库中。例如,在http://dbpedia.org/sparql 尝试以下查询:

select distinct ?t where {
  ?t a <http://dbpedia.org/ontology/AmericanFootballTeam> .
}

它以 RDF 格式返回 DBpedia 已知的所有美式橄榄球队。现在几乎所有的语言都有 RDF API,所以应该比较容易得到你需要的数据。

【讨论】:

    猜你喜欢
    • 2019-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多