首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wikidata查询服务遍历属性

Wikidata查询服务遍历属性
EN

Stack Overflow用户
提问于 2016-07-28 18:43:58
回答 3查看 304关注 0票数 0

我正在尝试获取给定Wikidata项的所有上义词的列表。例如,我想要遍历https://www.wikidata.org/wiki/Q4421的"subclass of“元素

https://query.wikidata.org的SPARQL命令是什么样子的?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-07-30 13:06:32

可以使用属性路径(*)语法。

在这种情况下,wdt:P279*提到0或更多时间wdt:P279,它是Wikidata模型中equivalent的子类。

我在这里添加了一些变体,以包括深度,以便您可以对它们进行排序

代码语言:javascript
复制
SELECT ?entity ?entityLabel (count(?mid) as ?depth) WHERE {
  wd:Q4421 wdt:P279* ?mid.
  ?mid wdt:P279* ?entity
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
} group by ?entity ?entityLabel
order by ?depth

https://query.wikidata.org/#SELECT%20%3Fentity%20%3FentityLabel%20%28count%28%3Fmid%29%20as%20%3Fdepth%29%20WHERE%20%7B%0A%20%20wd%3AQ4421%20wdt%3AP279%2a%20%3Fmid.%0A%20%20%3Fmid%20wdt%3AP279%2a%20%3Fentity%0A%20%20SERVICE%20wikibase%3Alabel%20%7B%0A%20%20%20%20bd%3AserviceParam%20wikibase%3Alanguage%20%22en%22%20.%0A%20%20%20%7D%0A%7D%20group%20by%20%3Fentity%20%3FentityLabel%0Aorder%20by%20%3Fdepth

票数 3
EN

Stack Overflow用户

发布于 2016-07-28 18:49:35

刚刚找到了一个工具,可以解决我的问题。https://angryloki.github.io/wikidata-graph-builder/?property=P279&item=Q4421

票数 0
EN

Stack Overflow用户

发布于 2016-07-29 07:25:04

您可以使用SPARQL递归语法*

代码语言:javascript
复制
SELECT ?entity WHERE {
  wd:Q4421 wdt:P279* ?entity.
}

see on query.wikidata.org

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

https://stackoverflow.com/questions/38634068

复制
相关文章

相似问题

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