如何解决SPARQL 从列表中获取数据
我想列出口袋妖怪。我可以从维基数据上的 Pokemon 实体 (Q864) 访问列表 (wd:Q106036966)。
但我找不到检索该列表中数据的方法。
一开始我以为可能没有添加数据,但是如果我搜索 Charmander(Q3178753),我可以到达层次结构中向上的列表。
有人知道我错过了什么吗?
解决方法
如果从Q3178753(Charmander)开始,可以看到它是Q25930490(火系神奇宝贝)的一个实例,它是Q3966183(神奇宝贝物种)的子类.
要列出所有神奇宝贝物种,您需要倒退:获取神奇宝贝物种的所有子类,然后获取这些子类的所有实例。 翻译成 SPARQL,这会像
SELECT ?item ?itemLabel {
?item wdt:P31/wdt:P279* wd:Q3966183
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
如果你想要的不仅仅是 Pokémons 的名字,你可以扩展这个查询以获得例如身高、体重、图鉴等
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。