为什么查询 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")
}
因为您的 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 的区别。
根据维基数据,战斗是军事行动的子类。然而,当我查询所有军事行动实例时,我得到 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")
}
因为您的 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 的区别。