为什么查询 subclass 的所有实例比查询 "parent" class 得到更多的结果?

Why do I get more results for querying all instances of a subclass than for a query on the "parent" class?

根据维基数据,战斗是军事行动的子类。然而,当我查询所有军事行动实例时,我得到 699 个结果,而对于所有战斗,我得到 7399 个结果。

查询军事行动

SELECT ?label WHERE {
  ?subj wdt:P31* wd:Q645883.
  ?subj rdfs:label ?label.
  FILTER((LANG(?label)) = "en")
}

战斗查询

SELECT ?label WHERE {
  ?subj wdt:P31* wd:Q178561.
  ?subj rdfs:label ?label.
  FILTER((LANG(?label)) = "en")
}

军事行动:https://www.wikidata.org/wiki/Q645883

战斗:https://www.wikidata.org/wiki/Q178561

因为您的 SPARQL 查询,特别是 属性 路径,是错误的。 类型由 subClassOf (wdt:P279) 连接,但您在使用 wdt:P31*

时要求关闭 instance-of 关系

必须是wdt:P31/wdt:P279*

https://www.wikidata.org/wiki/Property:P279 and https://www.wikidata.org/wiki/Property:P31 的区别。