首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wikidata:列出每个物理对象

Wikidata:列出每个物理对象
EN

Stack Overflow用户
提问于 2016-09-26 22:29:41
回答 1查看 310关注 0票数 0

我试图获取所有物理事物(有形概念)的名称,维基数据所知道的(物体、地点、国家等),或者换句话说,所有非抽象的事物。

有接近我需要的例子,但只有一个深度:所有电话的实例

我找到了搜索深度更深的这个例子,并将起始点修改为实体

代码语言:javascript
复制
#Children of Genghis Khan

#added before 2016-10
 #defaultView:Graph
PREFIX gas: <http://www.bigdata.com/rdf/gas#>

SELECT ?item ?itemLabel ?pic ?linkTo
WHERE
{
  SERVICE gas:service {
    gas:program gas:gasClass "com.bigdata.rdf.graph.analytics.SSSP" ;
                gas:in wd:Q35120 ;
                gas:traversalDirection "Forward" ;
                gas:out ?item ;
                gas:out1 ?depth ;
                gas:maxIterations 4 ;
                gas:linkType wdt:279 .
  }
  OPTIONAL { ?item wdt:P40 ?linkTo }
  OPTIONAL { ?item wdt:P18 ?pic }
  SERVICE wikibase:label {bd:serviceParam wikibase:language "en" }
}

我还是没有得到任何结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-12 09:21:14

正如在一篇评论中提到的,你的问题太宽泛了,最终你会得到太多的答案

查找作为B子类的实例的A

所以您所指向的查询是正确的。

代码语言:javascript
复制
SELECT DISTINCT ?item
WHERE {
   ?item wdt:P31/wdt:P279* wd:Q35120
}

问题是wd的大小:q 35120有很多子类,您可以这样检查。

代码语言:javascript
复制
SELECT ?a ?aLabel WHERE { ?a wdt:P279 wd:Q35120.
             SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}

SELECT ?a ?aLabel WHERE { ?a wdt:P279/wdt:P279? wd:Q35120.
             SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}

SELECT ?a ?aLabel WHERE { ?a wdt:P279/wdt:P279?/wdt:P279? wd:Q35120.
             SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}

以此类推:你会看到在第四层已经有40,000多个,这是巨大的

你也可以用这个不错的工具来获得更精确的视图。

https://tools.wmflabs.org/bambots/WikidataClasses.php?id=Q35120&lang=en

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39713386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档