2015-07-13 39 views
5

我正在嘗試查找有關Dbpedia上的某個人的信息,但是他們的名稱在本例中包含以_(音樂家)結尾的括號,從而導致出錯。如何在SPARQL中引用包含括號的頁面

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

回答

5

括號不是前綴名合法的,但你可以使用完整的URI來代替:

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

它也可能escape them using \

SPARQL本地名稱也允許IRI中允許的非字母數字字符通過反斜槓字符轉義(例如ns:id \ = 123)。

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