考虑以下代码片段
ASK WHERE { wd:Q734774 wdt:P31 wd:Q3918. }
这个works fine in Wikidata 。我想使用一些 path syntax在这个片段中。具体来说,我想限制路径中使用“wdt:P31”的次数。根据指南,这应该是正确的语法:
ASK WHERE { wd:Q734774 wdt:P31{,3} wd:Q3918. }
但它给了我 weird error messages 。有什么想法吗?
最佳答案
final version of SPARQL 1.1 Property Paths让你用 the following query 来做到这一点--
ASK WHERE
{ wd:Q734774
wdt:P31? / wdt:P31? / wdt:P31?
wd:Q3918
}
为了清楚起见,我将完整的属性路径谓词(wdt:P31?/wdt:P31?/wdt:P31?
)放在主题 (wd:Q734774
) 和对象 (wd:Q3918
)。尾随的 ?
请求 wdt:P31
谓词的一或零实例,而 /
请求一个序列,所以这个完整的路径要求零个或一个或两个或三个实例的序列。
关于sparql - 维基数据端点中的路径查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41355090/