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

Phi*_*l H 5 python sparql

我试图在Dbpedia上查找有关某人的信息,但他们的名字包含在这种情况下以_(音乐家)结尾的括号,这会导致错误.

SELECT ?birthPlace
WHERE {
  dbpedia:Tom_Johnston_(musician) dbpprop:birthPlace ?birthPlace   
}
Run Code Online (Sandbox Code Playgroud)

use*_*512 5

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

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

也可以使用\以下方法来逃避它们:

SPARQL本地名称还允许IRI中允许的非字母数字字符通过反斜杠字符转义(例如ns:id\= 123).

SELECT ?birthPlace
WHERE {
    dbpedia:Tom_Johnston_\(musician\) dbpprop:birthPlace ?birthPlace   
}
Run Code Online (Sandbox Code Playgroud)