如何使用"参与者"与"参与者"正确?

时间:2017-01-24 06:13:17

标签: sparql wikidata

我试图找出""参与者的正确用法。 (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)参与者的正确陈述如何。

1 个答案:

答案 0 :(得分:1)

反向属性不会保持同步,因此您可以在没有反向语句的情况下在一个方向上找到大量语句。保持反向语句保持同步已在here进行了讨论,但是从未进行过,也许是为了更好,因为这将是一个大混乱:在你的例子中,如果American Civil War或{{{{}}的每个参与者3}}被添加到这些页面,我们可能会得到非常非常重载的页面:使用属性WWII,我找到了

(顺便说一句,了解如何使用SERVICE wikibase:label查找标签而不是使用过滤器)

因此,似乎有一个约定从“小实体”链接到“大实体”,并保持31698 known participants to WWII等属性相对于主题特别值得注意的实体。所以联盟& CSA,而不是每一位已知的将军和士兵。