SPARQL包含属性的所有子属性

SPARQL包含属性的所有子属性,sparql,wikidata,Sparql,Wikidata,我希望所有Wikidata项目都已结束,因此我写了以下内容: ?item wdt:P582 ?endtime. 问题:它不包括已“废除”的项目。 是的一个子属性 问题:如何涵盖所有子属性 不包含子属性的当前查询: SELECT ?item ?endtime WHERE { ?item p:P31/ps:P31/wdt:P279* wd:Q3917681. # Embassies... ?item wdt:P582 ?endtime. # ... that have e

我希望所有Wikidata项目都已结束,因此我写了以下内容:

?item wdt:P582 ?endtime.
问题:它不包括已“废除”的项目。
是的一个子属性

问题:如何涵盖所有子属性


不包含子属性的当前查询:

SELECT
    ?item ?endtime
WHERE {
    ?item p:P31/ps:P31/wdt:P279* wd:Q3917681. # Embassies...
    ?item wdt:P582 ?endtime. # ... that have ended
}

我可以与所有已知的子属性进行联合,但将来可能会出现新的子属性。

如果Wikidata包含子属性关系,您只需要:

?p rdfs:subPropertyOf* wdt:P582 .
?item ?p ?endtime.

?p_wdt:P1647*wd:P582?维基库:directClaim?p?项目wdt:P31/wdt:P279*wd:Q3917681?项目?p?endtime。
您还可以添加
独特的
。先生,我很荣幸否决您的答案!细微差别在于
wdt:P1647
(类似于
rdfs:subpertyof
)连接属性项(
wd:P..
),而不是truthy谓词(
wdt:P..
)。@stanislavkralin OP的问题包括
?item wdt:P582?endtime.
),并且没有指定任何前缀声明。如果OP查询的一部分是正确的,那么OP需要它的子属性。即使可能存在预定义某些名称空间的基于web的查询接口,但已知这些名称空间会随着时间的推移而变化。例如,DBpedia的端点用来声明的一些名称空间已经更改。OP也可能指定了非标准前缀。当然,前缀是常规的,但它们之间的区别不是,以及Wikidata中属性实体和truthy谓词之间的区别。这就是为什么
?p wdt:P1647 wd:P582
可以工作,而
?p wdt:P1647 wdt:P582
不能工作的原因。