1
我想通过Ajax向dbperdia发送一个查询。它工作正常,但如果搜索字词中有特殊字符,我总是会收到一条错误消息。带特殊字符的sparql查询
我的代码看起来像
var IKS_QUERY = "PREFIX ontology: <http://dbpedia.org/ontology/> PREFIX property: <http://dbpedia.org/property/> PREFIX resource: <http://dbpedia.org/resource/> PREFIX position:<http://www.w3.org/2003/01/geo/wgs84_pos#> SELECT DISTINCT ?Abstract ?ThumbnailURL WHERE { resource:"+where+" ontology:abstract ?Abstract. resource:"+where+" ontology:thumbnail ?ThumbnailURL. FILTER (lang(?Abstract)=\"en\")}";
var IKS_URL = "http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=" + escape(IKS_QUERY) + "&format=json";
并具有搜索词的特殊本地字符我收到以下错误消息。
Virtuoso 37000 Error SP030: SPARQL compiler, line 3: syntax error at ',' before '_Italy'
SPARQL query:
define sql:big-data-const 0
#output-format:application/sparql-results+json
define input:default-graph-uri <http://dbpedia.org> PREFIX ontology: <http://dbpedia.org/ontology/> PREFIX property: <http://dbpedia.org/property/> PREFIX resource: <http://dbpedia.org/resource/> PREFIX position:<http://www.w3.org/2003/01/geo/wgs84_pos#> SELECT DISTINCT ?Abstract ?ThumbnailURL WHERE { resource:Venice,_Italy ontology:abstract ?Abstract. resource:wherePlaceHolder ontology:thumbnail ?ThumbnailURL. FILTER (lang(?Abstract)="en")}
有什么建议吗?
在此先感谢!
非常感谢您的回复。你能帮我看看下面这行看起来像var IKS_QUERY =“PREFIX ontology:<http://dbpedia.org/ontology/> PREFIX属性: PREFIX资源:< http://dbpedia.org/resource/> PREFIX position: SELECT DISTINCT?Abstract?ThumbnailURL WHERE {resource:“+ where +”ontology:抽象?资源:“+ where +”本体:缩略图?缩略图URL。FILTER(lang(?Abstract)= \“en \”)}“; –
user160820
2012-02-15 18:57:01
只需将我的答案中显示的替代完整URI表单替换为“resource:”+,其中+“位 – RobV 2012-02-15 19:25:29