为什么我查询子类的所有实例的结果比“父”类的查询更多?

时间:2017-01-23 05:30:40

标签: sparql wikidata

根据wikidata的说法,战斗是军事行动的一个子类。然而,当我查询军事行动的所有实例时,我得到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

1 个答案:

答案 0 :(得分:2)

因为您的SPARQL查询(特别是属性路径)是错误的。 类型由subClassOf(function addTogether() { if (typeof arguments[0] !== "number") { return undefined; } var sum = 0; var num = arguments[0]; if (arguments.length === 1) { return function(x) { if (typeof arguments[0] !== "number") { return undefined; } else { sum = num + x; return sum; } }; } if (typeof arguments[0] === "number" && typeof arguments[1] === "number") { for (var x = 0; x < arguments.length; x++) { if (typeof arguments[x] === "number") { sum += arguments[x]; } else { sum = undefined; } } return sum; } } console.log(addTogether(2)(3));)连接,但您在使用wdt:P279

时要求关闭instance-of关系

必须是wdt:P31*

有关差异,请参阅https://www.wikidata.org/wiki/Property:P279https://www.wikidata.org/wiki/Property:P31