如何引用SPARQL中包含括号的页面

2022-03-26 00:00:00 python sparql

问题描述

我正在尝试在DBpedia上查找有关某人的信息,但他们的名字包含括号,在本例中以_(音乐人)结尾,这会导致错误。

SELECT ?birthPlace
WHERE {
  dbpedia:Tom_Johnston_(musician) dbpprop:birthPlace ?birthPlace   
}

解决方案

前缀名称中的括号不合法,但您可以改用完整的URI:

SELECT ?birthPlace
WHERE {
    <http://dbpedia.org/resource/Tom_Johnston_(musician)> dbpprop:birthPlace ?birthPlace   
}

也可以escape them using

SPARQL本地名称还允许通过反斜杠字符转义(例如ns:id=123)来使用Iris中允许的非字母数字字符。

SELECT ?birthPlace
WHERE {
    dbpedia:Tom_Johnston_(musician) dbpprop:birthPlace ?birthPlace   
}

相关文章