如何引用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
}
相关文章