sparql - 如何为 Wikidata Sparql 查询找到正确的属性?
问题描述
我应该如何找到查询的正确属性?
假设我想在 wikidata 中找到所有国王。
我的第一次尝试是这样的:
SELECT ?king ?kingLabel
WHERE
{
#all result where occupation is king
?king wdt:P106 wd:Q12097.
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
它返回总共 515 次命中。我认为这对所有国王来说都是非常小的数字。
第二次尝试:
SELECT ?king ?kingLabel
WHERE
{
# all result where position held is king
?king wdt:P39 wd:Q12097.
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
其中返回 817 次点击。
所以你可以看到我使用了不同的属性:P106
vs P39
。他们返回了不同的结果集。这些只是两个属性,也许它还存在另外 10-12 个我尚未发现的属性,并且对我的查询会更好。
编辑:最重要的是,给定属性的使用似乎并没有随之而来。对于P39
(担任的职位)的财产,一些维基页面具有Q12097
(国王)其他人Q6412254
(匈牙利国王)的价值。因此,正如您所见,不可能通过一次查询来获取 wikidata 中的所有国王。或者我应该获取一堆属性并解析它们的值以获取单词 king?这将是一场噩梦,但现在找不到更好的方法。
不幸的是,现在属性的使用对我来说似乎是临时的,因此我正在使用试错法来发现属性。
所以我的问题是(它与“国王”问题无关):
如果我想制定一个查询,我该如何决定哪个是最好的属性?
解决方案
推荐阅读
- python - 通过python(pymongo)向mongodb中的用户添加角色
- scala - 设置 Sonarqube 以正确使用 Scala+Akka
- reactjs - 从 redux 存储获取数据时使用带有数组的 usestate 钩子
- java - 处理中的 RGB 渐变
- java - 同步、连接和线程安全
- django - 如何通过docker添加crontab
- python - 访问 Pandas 系列
- asp.net - html下拉事件在亚马逊移动应用程序页面中不起作用
- r - 为什么我会遇到 ar 模型的奇异矩阵问题?
- reactjs - 在 jboss eap 7.3 上部署反应包?