我正在开发一个音乐播放器应用程序,该应用程序依赖于 SPARQL 来获取有关本地曲目的信息,并且遇到了一些麻烦。
我正在运行 Fedora 21,并通过 grilo 查询数据库(Tracker)(即,我编写原始 SPARQL 查询,grilo 使用这些查询与数据库通信并发回任何结果)。
基本上,每当我尝试使用REPLACE
时,我都会得到以下信息:
Grilo-WARNING : [tracker-source-request] grl-tracker-source-api.c:500: Could not execute sparql query id=1: 1.273: syntax error, expected primary expression
当我尝试使用fn:replace
时,我得到:
Grilo-WARNING : [tracker-source-request] grl-tracker-source-api.c:500: Could not execute sparql query id=1: 1.284: syntax error, Unknown function
作为参考,这是我尝试使用的上下文REPLACE
:
SELECT DISTINCT
rdf:type(?album)
tracker:id(?album) AS id
(
SELECT
nmm:artistName(?artist)
WHERE {
?album nmm:albumArtist ?artist
}
LIMIT 1
) AS artist
REPLACE(nie:title(?album)^^xsd:string, "hello", "goodbye") AS title
nie:title(?album) AS album
[more SPARQL gobbldygook follows]
如果您想了解其他查询的样子,请查看整个文件。
最终目标是用于REPLACE
从专辑/艺术家名称中去除标点符号以进行排序。
谢谢!