Sparql 如何使用;“参与者”;vs.“;参与「;正确地

Sparql 如何使用;“参与者”;vs.“;参与「;正确地,sparql,wikidata,Sparql,Wikidata,我试图找出“的参与者”(P1344)和“参与者”(P710)的正确用法 作为样本,我想要美国内战的参与者。 第一项声明: SELECT ?label WHERE { wd:Q8676 wdt:P710 ?subj. ?subj rdfs:label ?label. FILTER((LANG(?label)) = "en") } 返回Union&CSA 因此,我尝试了以下参与者的“反向”陈述: SELECT ?label WHERE { ?subj wdt:P1344 wd:Q8

我试图找出“的参与者”(P1344)和“参与者”(P710)的正确用法

作为样本,我想要美国内战的参与者。 第一项声明:

SELECT ?label WHERE {
  wd:Q8676 wdt:P710 ?subj.
  ?subj rdfs:label ?label.
  FILTER((LANG(?label)) = "en")
}
返回Union&CSA

因此,我尝试了以下参与者的“反向”陈述:

SELECT ?label WHERE {
  ?subj wdt:P1344 wd:Q8676.
  ?subj rdfs:label ?label.
  FILTER((LANG(?label)) = "en")
}
这给了我9个名字和CSA的列表,但不是工会


因此,我有点困惑,为什么1)列出了几个人,特别是因为我一个都不认识。(我猜这些是非关联的),2)缺少联合,3)的参与者的正确语句是什么样子的。

反向属性没有保持同步,因此您可以发现许多语句在没有反向语句的情况下朝一个方向运行。保持反向语句同步曾在那里讨论过,但从未做过,而且可能会更好,因为这将是一个大混乱:在您的示例中,如果将的或的每个参与者都添加到这些页面中,我们可能会得到非常超负荷的页面:使用属性,我发现

(顺便说一句,请参阅如何使用
服务wikibase:label
查找标签,而不是使用过滤器)


因此,似乎有一种惯例,将“小实体”与“大实体”联系起来,并将特别值得注意的实体的属性与主体保持相对。因此,联盟和CSA,而不是每一个已知的将军和士兵。

我认为,一旦这两个属性,
p
p\u inv
的逆属性都存在,一些人会使用其中一个和另一个。没有推理,你只能得到断言的事实。关于数据本身,我不能说什么。我不是领域专家。如果要同时获取这两个断言信息,可以使用SPARQL UNION或使用属性路径,如
p | ^p\u inv
。在您的情况下,
?主题wdt:P1344 |^wdt:P710 wd:Q8676。