我试图检索某些人的寿命数据。在一段时间以前住过的人的情况下,这是有问题的。例如数据集Pythagoras对于date of birth (P569)
似乎具有所谓的“空白节点”。但是这个空白节点引用另一个节点earliest date (P1319)
,它有我可以正常工作的数据。从维基数据中的空白节点检索数据
但由于某种原因,我无法检索该节点。 My first try looked like this,但不知何故,结果在一个完全地空的结果集:
SELECT DISTINCT ?person ?name ?dateofbirth ?earliestdateofbirth WHERE {
?person wdt:P31 wd:Q5. # This thing is Human
?person rdfs:label ?name. # Name for better conformation
?person wdt:P569 ?dateofbirth. # Birthday may result in a blank node
?dateofbirth wdt:P1319 ?earliestdateofbirth # Problem: Plausbible Birth
}
然后我发现了另一个语法使用?person wdt:P569/wdt:P1319 ?earliestdateofbirth
为某种用于明确导航我上面but this also ends with a empty result set没有“捷径” -syntax的那个建议。
SELECT DISTINCT ?person ?name ?dateofbirth ?earliestdateofbirth WHERE {
?person wdt:P31 wd:Q5. # Is Human
?person rdfs:label ?name. # Name for better conformation
?person wdt:P569/wdt:P1319 ?earliestdateofbirth.
}
所以我如何访问一个空节点引用的节点(在我的情况特别是最早的生日)在维基数据?
我觉得自己很蠢,但我看不出它了:它的工作,但到底是什么您的查询做不同? 'FILTER'和'VALUES'似乎只是限制了它。 –
仔细看:)。我会在几分钟内解释,现在我正在寻找良好的链接。 –
啊,你对'P569'和'P1319'使用不同的前缀,我会很高兴有一些好的链接! –