【问题标题】:Getting members of a category from Wikidata从 Wikidata 获取某个类别的成员
【发布时间】:2016-08-24 15:29:23
【问题描述】:

我想从 Wikidata 获取特定类别的所有成员。例如,我想从“类别:在斯德哥尔摩设置的电影”(Q7519614)类别中获取所有电影(电影实例:P31 Q11424)。 但是,我似乎无法找到这种关系。 DBpedia 使用“主题”,但 Wikidata 等效项 (P805) 不返回任何结果。

我还认为我可以通过此查询引导自己找到答案,但无济于事:

SELECT ?s ?p ?pLabel WHERE {
  ?s ?p wd:Q7519614.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}

【问题讨论】:

  • DBpedia 使用“subject of” 请注意,在浏览 DBpedia 数据时,您经常会看到“Foo prop of Bar”,这意味着数据中的三元组是 Bar prop Foo,而不是 Foo prop Bar。您确定三重模式?s ?p wd:Q7519614. 的方向正确吗?
  • 正如@JoshuaTaylor 所说,“属性”是指相反的方向,在你的情况下是?o dcterms:subject <URI> 而不是<URI> dcterms:subject ?o

标签: sparql wikipedia dbpedia wikidata


【解决方案1】:

可能是间接答案,但值得一试

当您查找与 Q7519614 等实体相关的属性时,通常值得一试https://www.wikidata.org/wiki/Special:WhatLinksHere/Q7519614(这里有什么链接?)

在这种情况下,答案是空的,这意味着在 WIKIDATA 中没有为该信息编码的关系。 (这意味着您需要依靠 3rd 方工具来访问 WIKIPEDIA 信息)

看你问题的第二种方式也是用P360编码的(是一个列表)

在这种情况下,它表示它是 (Q11424) 的电影列表,拍摄地点 (P915) 等于斯德哥尔摩 (Q1754)

所以您正在查看的最接近的查询是

SELECT ?film 
WHERE { 
 ?film wdt:P31 wd:Q11424;
       wdt:P915 wd:Q506250.                    
}

【讨论】:

    【解决方案2】:

    API 提供“Categorymembers”来获取属于给定类别的页面列表,按页面排序标题排序。参数记录在here

    【讨论】:

      猜你喜欢
      • 2015-02-11
      • 1970-01-01
      • 1970-01-01
      • 2014-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多