我试图找出""参与者的正确用法。 (P1344)和参加者(P710)。
作为样本,我想要美国内战的参与者。 第一个声明:
SELECT ?label WHERE {
wd:Q8676 wdt:P710 ?subj.
?subj rdfs:label ?label.
FILTER((LANG(?label)) = "en")
}
返回联盟& CSA。
所以我尝试了#34;反向"与会者的声明:
SELECT ?label WHERE {
?subj wdt:P1344 wd:Q8676.
?subj rdfs:label ?label.
FILTER((LANG(?label)) = "en")
}
这给了我一个包含9个名字和CSA的列表,但不是联盟。
因此,我有点困惑,为什么1)列出了几个人,特别是因为我不知道他们中的任何一个。 (我猜这些是非附属的),2)联盟缺失,3)参与者的正确陈述如何。
答案 0 :(得分:1)
反向属性不会保持同步,因此您可以在没有反向语句的情况下在一个方向上找到大量语句。保持反向语句保持同步已在here进行了讨论,但是从未进行过,也许是为了更好,因为这将是一个大混乱:在你的例子中,如果American Civil War或{{{{}}的每个参与者3}}被添加到这些页面,我们可能会得到非常非常重载的页面:使用属性WWII,我找到了
(顺便说一句,了解如何使用SERVICE wikibase:label
查找标签而不是使用过滤器)
因此,似乎有一个约定从“小实体”链接到“大实体”,并保持31698 known participants to WWII等属性相对于主题特别值得注意的实体。所以联盟& CSA,而不是每一位已知的将军和士兵。