Character encoding 如何执行包含'+''';在Virtuoso上使用ISQL的属性路径中的字符?

Character encoding 如何执行包含'+''';在Virtuoso上使用ISQL的属性路径中的字符?,character-encoding,sparql,virtuoso,Character Encoding,Sparql,Virtuoso,我需要运行一些SPARQL 1.1查询,但属性路径上的某些字符有问题 SELECT ?item ?other WHERE { ?item wdt:P279+ wd:Q37144 . # cartridges ?item wdt:P144 ?other . # if the cartridge is based on another } 它不会给出错误,但不会提供结果。问题在于字符+,因为将wdt:P279+更改为wdt:P279/wdt:P279*工作正常。

我需要运行一些SPARQL 1.1查询,但属性路径上的某些字符有问题

SELECT ?item ?other
WHERE {
    ?item  wdt:P279+ wd:Q37144 .   # cartridges
    ?item  wdt:P144    ?other  .   # if the cartridge is based on another
}
它不会给出错误,但不会提供结果。问题在于字符
+
,因为将
wdt:P279+
更改为
wdt:P279/wdt:P279*
工作正常。类似地,符号
。在这种情况下,它确实会传递结果,但它会记录错误
超过0个参数,忽略语句SPARQL的所有其余部分


我尝试过
\+
\+
\002B
\053
,等等。

我刚刚用我自己的本地命令行iSQL
07.20.3217
构建了
2017-09-06
,并安装了Virtuoso 8.1(企业版)

iSQL对
+
*
都没有抱怨,并且都取得了很好的效果,但我确实看到了对
的抱怨(这在基于浏览器的iSQL中不会发生)

因此,我认为更新后的iSQL将帮助您克服
+
问题


如果您可以了解有关

的信息,请参阅此问题的注释:也许您应该使用
%253F
来表示
+
来表示
%252B
。请通过基于浏览器的iSQL和基于浏览器的SPARQL端点尝试您的查询。还请为Virtuoso(输出
Virtuoso-t-?
)和iSQL(输出
iSQL-?
)提供完整的版本字符串。我猜您会在命令行iSQL中看到这种情况,在SQL查询中执行SPASQL a/k/a SPARQL时,可能需要一些额外的调整来处理属性路径字符。我相信基于浏览器的工具可以处理所有这些问题。以上细节将有助于证实我的猜测,因此我可以写一个正确的答案。