在属性名称sparql中斜杠

时间:2012-10-06 20:39:17

标签: sparql dbpedia

我正在使用sparql& amp; DBpedia中。 我目前遇到了一个带有斜杠的textuel属性的问题。 这是一个带有“放电”属性的工作查询,它​​表示每次河流的水量:

PREFIX dbp: <http://dbpedia.org/property/> 
SELECT ?discharge 
WHERE
{
   <http://dbpedia.org/resource/Nile> dbp:discharge ?discharge .
   FILTER(ISLITERAL(?discharge))
} 
LIMIT 200

此请求正常运行。 仍然如果使用,一个名为“discharge_m3 / s”的类似属性,它不再工作了,我得到了这个错误,它增加了属性名称的斜杠:

  

Virtuoso 37000错误SP030:SPARQL编译器,第3行:语法错误   '/'在's'之前

有任何想法要经历这个吗?

2 个答案:

答案 0 :(得分:3)

你的意思是你试图以前缀名称形式使用该属性,即dbp:discharge_m3/s

如果是这种情况你不能这样做,因为根据SPARQL语法,这不是一个有效的前缀名称,因此编译错误。

您必须包含完整的URI而不是带前缀的名称格式,例如

<http://dbpedia.org/property/discharge_m3/s>

答案 1 :(得分:3)

在兼容的SPARQL 1.1系统中,您可以反斜杠转义斜杠:dbp:discharge_m3\/s。我不确定Virtuoso是否支持这种语法。与此同时,@ RobV的解决方案将起作用。