考虑以下代码段
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。有什么想法吗?
答案 0 :(得分:4)
final version of SPARQL 1.1 Property Paths允许您使用the following query -
执行此操作ASK WHERE
{ wd:Q734774
wdt:P31? / wdt:P31? / wdt:P31?
wd:Q3918
}
为清楚起见,我已将完整的 Property Path Predicate (wdt:P31? / wdt:P31? / wdt:P31?
)放在 Subject (wd:Q734774
之间的单独一行上)和对象(wd:Q3918
)。尾随?
要求wdt:P31
谓词的一个或零个实例,/
请求一个序列,因此这个完整路径要求一个零或一个序列 - 或 - 两个或三个实例。