查询 "property constraint" 的维基数据

Querying wikidata for "property constraint"

TL;DR
如何查询 (sparql) 属性?

的属性

或者..
因此,作为我项目的一部分,我需要在维基数据中找到具有任何时间限制的属性,具体来说 "start time" 和 "end time"。 我试过这个查询:

SELECT DISTINCT ?prop WHERE {
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
  ?person wdt:P31 wd:Q5.
  ?person ?prop ?statement.
  ?statement pq:P580 ?starttime.
  ?statement pq:P582 ?endtime.
}
LIMIT 200

**是的,这些属性应该与人类有关 无论如何,我确实得到了一些不错的结果,例如:
http://www.wikidata.org/prop/P26
http://www.wikidata.org/prop/P39
但是我也得到了其他一些肯定是错误的属性。

所以,基本上我想要做的是获取具有 属性 约束 (P2302) 的属性列表 - 允许的限定符约束 (Q21510851) 以及开始时间 (P580) 和结束时间 (P582) 这甚至可能吗: 我尝试了一些查询,例如:

SELECT DISTINCT ?property ?propertyLabel ?propertyDescription ?subpTypeOf ?subpTypeOfLabel 
WHERE
{
    ?property rdf:type wikibase:Property .

    ?property wdt:P2302  ?subpTypeOf.
    SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }   
}

但没有得到我想要的结果。 甚至可以查询这种东西吗?

谢谢

Qualifiers 也用于 属性 页。您的第二个查询应该是:

SELECT DISTINCT ?prop ?propLabel {
  ?prop p:P2302 [ ps:P2302 wd:Q21510851 ; pq:P2306 wd:P580, wd:P582 ] ;
        p:P2302 [ ps:P2302 wd:Q21503250 ; pq:P2308 wd:Q5 ; pq:P2309 wd:Q21503252 ] .
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en" }   
} ORDER BY ASC(xsd:integer(strafter(str(?prop), concat(str(wd:), "P"))))

Try it!

您的第一个查询是正确的,但请注意,这是一个 'as-is' 查询。例如,wd:P410 does not have respective constraints, but look at wd:Q83855.