sparql - 维基数据端点中的路径查询?

标签 sparql wikidata

考虑以下代码片段

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/

相关文章:

regex - 在 sparql 中用正则表达式拆分逗号分隔的字符串

localization - 维基数据 SPARQL : how to include labels for grouped-by attributes

sparql - 在维基数据中按类型过滤

sparql - 如何检查从 SPARQL * 通配符扩展的所有级别的子属性?

sparql - 选择 SPARQL 查询的否定

sparql - 限制每个类别的图形数据库响应

sparql - 如何查询 Data.gov

sparql - 如何在Sparql中选择一个彼此相等的

scala - 从文本中高效提取 WikiData 实体

python - 为什么这个 SPARQL 查询缺少这么多结果?