我正在尝试编写一个查询来检索维基数据中的所有花种。
据我了解,鲜花由 Q506 类表示:https://www.wikidata.org/wiki/Q506。因此,我试图检索此类的所有实例。我使用了这个查询:
SELECT DISTINCT ?flower ?flowerLabel
WHERE
{
?flower wdt:P31 wd:Q506 .
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
}
但是这个查询只返回 19 个对象。这个数字与我预期的花数相去甚远
然后我尝试搜索类Q506的子类。我使用了这个查询:
SELECT DISTINCT ?flower ?flowerLabel
WHERE {
?flower wdt:P279 wd:Q506.
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
我只有26个结果。这又不是我所期望的。
我也尝试了一些其他的方法。例如,我尝试从被子植物类 (Q25314) 开始,然后使用一系列亲本分类单元属性 (P171) 返回到花卉种类。但是我没有得到我需要的所有结果,因为仍然缺少一些受欢迎的花。
我确信有一种方法可以获得我需要的信息,因为维基媒体页面完全包含我想要的信息。例如,有这个鲜花类别页面:https://commons.wikimedia.org/wiki/Category:Flowers。还有一个带有 Commons 媒体的页面,这是我最终想要复制的:https://commons.wikimedia.org/wiki/Flowers.
我正在尝试为 Wikidata 编写查询,但对我来说,使用其他数据库会很好,例如 DBpedia。